O aplicativo Snap não vê arquivos de outra partição


14

Eu instalei o pacote snap do KeePassXC no Ubuntu 17.10. Eu tenho vários sistemas linux instalados na mesma unidade, então criei a maioria das minhas pastas pessoais como ~ / Documents criados como links para uma partição ext4 separada (os usuários têm o mesmo uid para que as permissões estejam corretas). Tentei abrir o banco de dados das minhas senhas que tenho dentro do Documents, mas o keepassxc não pode ver nenhum arquivo dentro do Documents. Se eu colocar o arquivo na minha pasta pessoal, ele será exibido.

Os pacotes snap podem encontrar arquivos fora da minha pasta pessoal? Alguma maneira de fazer o KeePassXC (e os demais pacotes snap) acessarem os arquivos na minha partição ext4 separada (talvez alguma configuração em algum lugar)?


Acho que os links físicos são proibidos de cruzar partições!
— George Udosen

2
George, suspeito que sejam links simbólicos.
— Kyle

Respostas:


14

Snaps normalmente são confinados. Por padrão, os snaps podem acessar nada além de suas próprias áreas graváveis, mas podem obter permissões por meio de interfaces. Existem duas interfaces que fornecem a capacidade de acessar arquivos além do padrão: a homeinterface e a removable-mediainterface. Presumo que o KeePassXC use a homeinterface, que é como você pode acessar ~/Documents. Talvez até use a removable-mediainterface, mas isso cobre apenas coisas montadas /media. Se suas outras partições estiverem montadas em outro lugar, o snap não terá permissão para seguir os links simbólicos.

As maneiras de fazer isso funcionar, ordenadas por dificuldade:

  1. Monte as partições no diretório inicial em vez de simbolizá-las.
  2. Monte as partições /mediae garanta que o KeePassXC use a removable-mediainterface. Esta pode ser uma mudança a montante, mas pequena.
  3. Mude o KeePassXC para um encaixe clássico, deixando-o estritamente restrito. Essa é uma mudança maior e o upstream pode não estar interessado nela.

Atualização: O KeyPassXC snapcraft.yamlestá aqui . Parece que ele já tem a removable-mediainterface. Tudo o que você precisa fazer para seguir (2) é conectá-lo (não é automaticamente conectado):

$ sudo snap connect keepassxc:removable-media

Thx muito !! Realmente boa explicação e o comando sudo snap connect keepassxc:removable-mediafez o truque !!
— Thanos Apostolou

2
de erro: Snap "keepassxc" não tem ficha com o nome "de mídia removível"
— Erdnase

2
@Erdnase o keepassxc está instalado?
— Tahlor 21/03/19

0

Aqui está uma solução rápida para fazer com que um aplicativo de snap se comporte como uma instalação clássica, ou seja, sem confinamento.

Basta criar um link simbólico para o binário em / usr / local / bin, da seguinte maneira:

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

(Surpreendentemente, este aplicativo específico está sendo configurado com "confinement: strict", o que é muito irritante porque, por enquanto, não funcionará em arquivos de outros sistemas de arquivos.)


Essa é uma péssima idéia - executar um binário rapidamente sem usar um aplicativo que ele define frequentemente falha porque não obtém todas as variáveis ​​de ambiente que ele espera. Mesmo se for executado, ficará confinado e acabará gravando dados onde não deveria.
— K19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.