Додаток Snap не бачить файли з іншого розділу


15

Я встановив пакет оснащення KeePassXC на Ubuntu 17.10. У мене на одному диску встановлено декілька систем Linux, тому я зробив більшість своїх домашніх папок, таких як ~ / Документи, створені як посилання на окремий розділ ext4 (користувачі мають однаковий uid, тому дозволи є правильними). Я спробував відкрити базу даних моїх паролів, яку я маю всередині Документів, але Keepassxc не може побачити файли всередині Документів. Якщо я поміщую файл у свою домашню папку, він бачить його.

Чи можуть пакети оснащення знаходити файли за межами моєї домашньої папки? Будь-який спосіб зробити так, щоб KeePassXC (та інші оснащені пакети) отримували доступ до файлів на моєму окремому розділі ext4 (можливо, десь конфігурація)?


Я думаю, що жорсткі посилання заборонено перетинати розділи!
Джордж Удосен

2
Джордж, я підозрюю, що вони є посиланнями.
Кайл

Відповіді:


15

Защелки зазвичай обмежені. За замовчуванням оснастки не мають доступу до нічого, крім власних областей для запису, але вони можуть отримувати дозволи через інтерфейси. Є два інтерфейси, які забезпечують можливість доступу до файлів, що не знаходяться за замовчуванням: homeінтерфейс та removable-mediaінтерфейс. Я припускаю, що KeePassXC використовує homeінтерфейс, до якого можна отримати доступ ~/Documents. Можливо, він навіть використовує removable-mediaінтерфейс, але він охоплює лише речі, встановлені в /mediaабо /mnt. Якщо ваші інші перегородки встановлені в іншому місці, оснащення не матиме дозволу слідувати за посиланнями.

Способи здійснення цієї роботи, упорядковані складністю:

  1. Монтуйте розділи в домашній каталог, а не пов'язуючи їх.
  2. Встановіть розділи /mediaі переконайтеся, що KeePassXC використовує removable-mediaінтерфейс. Це може бути зміна вище за течією, але невелика.
  3. Змініть KeePassXC на класичну оснастку, тим самим зробивши її більше не обмеженою. Це більша зміна, і вище за течією це може не зацікавити.

Оновлення: KeyPassXC snapcraft.yamlзнаходиться тут . Схоже, у нього вже є removable-mediaінтерфейс. Все, що вам потрібно зробити, щоб дотримуватися (2) - це підключити його (воно не підключається автоматично):

$ sudo snap connect keepassxc:removable-media

Thx багато !! Дійсно гарне пояснення та команда sudo snap connect keepassxc:removable-mediaзробила трюк !!
Танос Апостолу

2
помилка: оснащення "Keepassxc" не має плагіну під назвою "removable-media"
Erdnase

2
@Erdnase встановлено Keepassxc?
Талор

Дивовижний ! Але жоден з моїх розділів не встановлений під носіями, медіа призначені для знімного сховища ... Як можна було створити таку незручну систему
йота,

0

Ось швидке виправлення, щоб змусити програму вести себе як класичну установку, тобто ніякого обмеження.

Просто створили символьне посилання на бінарний файл у / usr / local / bin, наприклад:

/ usr / local / bin / pdftk -> / snap / pdftk / current / usr / bin / pdftk

(Дивно, але цей конкретний додаток налаштовується з "обмеженням: суворий", що дуже дратує, оскільки він не працюватиме на файли з інших файлових систем.)


Це погана ідея. Запуск бінарного файлу з оснащення без використання програми, яку він визначає, часто не вдасться, оскільки не отримує всіх змінних умов середовища, яких він очікує. Навіть якщо вона працює, вона буде непереробленою і в кінцевому підсумку запише дані там, де цього не слід.
Кайл

0

Для додання відповіді Кайла, ця команда також потребує деяких пакетів із магазину програмного забезпечення Ubuntu .

У моєму випадку kdenlive не міг прочитати мій інший жорсткий диск. Працювала наступна команда:

sudo snap connect kdenlive:removable-media
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.