L'applicazione Snap non vede i file da un'altra partizione


15

Ho installato il pacchetto snap KeePassXC su Ubuntu 17.10. Ho più sistemi Linux installati sulla stessa unità, quindi ho creato la maggior parte delle mie cartelle home come ~ / Documenti creati come collegamenti a una partizione ext4 separata (gli utenti hanno lo stesso uid quindi le autorizzazioni sono corrette). Ho provato ad aprire il database delle mie password che ho all'interno di Documents, ma keepassxc non può vedere alcun file all'interno di Documents. Se metto il file nella mia cartella home, lo vede.

I pacchetti di snap sono in grado di trovare file all'esterno della mia cartella principale? Un modo per fare in modo che KeePassXC (e gli altri pacchetti snap) accedano ai file nella mia partizione ext4 separata (forse qualche configurazione da qualche parte)?


Penso che ai collegamenti fisici sia proibito attraversare le partizioni!
George Udosen,

2
George, sospetto che siano collegamenti simbolici.
Kyle,

Risposte:


15

Gli snap sono generalmente limitati. Per impostazione predefinita, gli snap possono accedere solo alle proprie aree scrivibili, ma possono ottenere autorizzazioni tramite interfacce. Esistono due interfacce che offrono la possibilità di accedere ai file oltre il valore predefinito: l' homeinterfaccia e l' removable-mediainterfaccia. Presumo che KeePassXC utilizzi l' homeinterfaccia, ed è così che puoi accedere ~/Documents. Forse usa persino l' removable-mediainterfaccia, ma copre solo le cose montate /media. Se le altre partizioni sono montate altrove, lo snap non avrà l'autorizzazione a seguire i collegamenti simbolici.

I modi per farlo funzionare, ordinati per difficoltà:

  1. Montare le partizioni nella directory principale anziché collegarle in modo simbolico.
  2. Montare le partizioni /mediae assicurarsi che KeePassXC utilizzi l' removable-mediainterfaccia. Questo può essere un cambiamento a monte, ma di piccola entità.
  3. Cambia KeePassXC in uno snap classico, rendendolo quindi non più strettamente limitato. Si tratta di un cambiamento più ampio e potrebbe non essere interessato a monte.

Aggiornamento: KeyPassXC snapcraft.yamlè qui . Sembra che abbia già l' removable-mediainterfaccia. Tutto quello che devi fare per seguire (2) è collegarlo (non è automaticamente connesso):

$ sudo snap connect keepassxc:removable-media

Grazie mille!! Spiegazione davvero buona e il comando ha sudo snap connect keepassxc:removable-mediafatto il trucco !!
Thanos Apostolou,

2
errore: lo snap "keepassxc" non ha un plug-in chiamato "supporto rimovibile"
Erdnase,

2
@Erdnase è installato keepassxc?
Tahlor,

Sorprendente ! Ma nessuna delle mie partizioni è montata sotto i media, i media sono pensati per l'archiviazione rimovibile ... Come potrebbe essere ideato un sistema così imbarazzante
yota

0

Ecco una soluzione rapida per fare in modo che un'applicazione snap si comporti come un'installazione classica, cioè nessun confinamento di sorta.

È stato semplicemente creato un collegamento simbolico al file binario in / usr / local / bin, in questo modo:

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

(Sorprendentemente, questa specifica applicazione viene impostata con "confinamento: rigoroso", il che è molto fastidioso perché, al momento, non funzionerà su file di altri file system.)


Questa è una cattiva idea: eseguire un file binario in un attimo senza utilizzare un'app che definisce spesso fallirà perché non ottiene tutte le variabili di ambiente che si aspetta. Anche se funzionerà, non sarà confinato e finirà per scrivere dati dove non dovrebbe.
Kyle

0

Solo per aggiungere alla risposta di Kyle , anche alcuni pacchetti di Ubuntu Software Store richiedono questo comando.

Nel mio caso, Kdenlive non ha potuto leggere il mio altro disco rigido. Il seguente comando ha funzionato:

sudo snap connect kdenlive:removable-media
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.