Erro de permissão negada ao executar aplicativos instalados como pacotes de snap - Ubuntu 17.04

22

Eu recebo um erro de permissão negada ao executar um aplicativo de snap, em que meu diretório inicial é montado em um ponto de montagem nfs que não permite gravação raiz. Esta não é uma configuração incomum, por isso considero um bug.

A mensagem de erro:

cannot create user data directory: /home/tcumming/snap/vlc/4: Permission denied

Também teve o mesmo problema com o ubuntu 16.

Mais algumas informações, conforme solicitado:

Usando o ubuntu, "Ubuntu Software", instalo um aplicativo de snap (por exemplo, vlc). Quando tento executá-lo (na linha de comando), recebo a mensagem "Permissão negada" acima.

Eu tinha acabado de reinstalar o Ubuntu na máquina, então não houve nenhuma brincadeira com o sistema operacional. Eu preservei meu uid: gid para que eu pudesse montar meu compartilhamento nfs anterior.

Este não é um problema com o ponto de montagem, ou nfs. Nosso ponto de montagem não é gravável pela raiz por razões de segurança.

Acho que a pergunta é: devo registrar um relatório de bug? Quais são meus próximos passos?

Tom Cumming
fonte
Qual é a questão? Como registrar um relatório de bug?
mikewhatever
Vou adivinhar que, se você enviar um relatório de erro, ele será marcado como inválido, pois é um problema de configuração do nfs e do ponto de montagem, e não um bug, mas você pode tentar.
Panther
Você poderia adicionar um pouco mais de detalhes? O que exatamente você fez, o que você queria alcançar e o que aconteceu? Você encontrou alguma mensagem de aviso ou erro? Reproduza-os na íntegra na sua pergunta. Você pode selecionar, copiar e colar o conteúdo do terminal e a maioria das mensagens de diálogo no Ubuntu. (veja Como faço para pedir uma boa pergunta? )
David Foerster
Eu editei minha pergunta original para abordar acima.
Tom Cumming

Respostas:

11

O mesmo acontece no Ubuntu 18.04.

Se o diretório inicial do usuário não estiver sob a montagem /home(ou /), não será possível trabalhar com ele snap. Meu HOMEDIR estava em outro disco SSD local, mas como não estava montado /home, todos os pacotes instalados por snap estavam falhando.

Como a Canonical está se movendo para oferecer suporte ao snap, você terá que perder esse tipo de coisa interessante, como HOMEDIRs em outros sistemas de arquivos, montados por NFS, etc.

Talvez o snap seja mais flexível no futuro, mas não é uma prioridade: https://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/ 3352/6

A solução agora é remover snape instalar itens de *.tar.gzou de *.debpacotes.

estibordo
fonte
8
Até agora, snap = pior ideia do mundo. Muito cedo :-p
Ligemer
2
Isso é realmente triste e quase um empecilho, especialmente para implantações enormes em que o $ HOME reside em compartilhamentos NFS ou CIFS montados via autofs-ldap.
Sebastian Stark
1
"Como a Canonical está se movendo para oferecer suporte ao snap, você terá que perder esse tipo de coisa interessante, como HOMEDIRs em outros sistemas de arquivos, montados por NFS, etc." Eu não acho que canônico vai convencer as pessoas que executam o Ubuntu em ambientes comerciais / de negócios a parar de usar diretórios pessoais montados em rede centralizados em favor dos locais, apenas para que eles possam usar "pacotes de snap" ...
Dean
1
Hoje em dia, os PCs SSD / HD são muito comuns. Muitos (mas não todos!) Dos meus comandos / snap / bin / falhariam com o erro enganoso de "permissão negada" nos arquivos de entrada e o problema não poderia ser resolvido mexendo nas permissões de arquivo, mas removendo o pacote / snap / reinstalando-os com o apt! (Ubuntu 18.04)
SYK 10/10
1
Esta questão, ou sua causa, é totalmente subestimada em meu livro. Não pode ser de baixa prioridade que as coisas não funcionem para grande parte da base de usuários.
SeveQ
2

Os aplicativos de snap estão confinados a uma caixa de proteção por padrão, por segurança. Se você deseja que os aplicativos de snap possam ler / gravar dados no diretório inicial, instale-os no modo clássico. Experimentar:

rclone install --classic vlc

Isso deve funcionar para você.

Se o sandboxing do aplicativo for uma preocupação, convém examinar o firejail .

Prajjwal
fonte
1

Eu me deparei com isso porque meu diretório inicial está vinculado a partir de / home / $ USER para outro ponto de montagem. Corrigi-o com a sugestão de: https://bugs.launchpad.net/snapcraft/+bug/1620771

Em resumo, você precisa adicionar seu diretório inicial não padrão à variável HOMEDIRS do apparmor:

$ sudo dpkg-reconfigure apparmor

ou: crie um arquivo em /etc/apparmor.d/tunables/home.d/ que aponte para o ponto de montagem do diretório inicial:

@{HOMEDIRS}+=/mnt/hdd/.home/

Então, apenas para uma boa medida, você deve excluir o cache do apparmor e reiniciar:

$ sudo rm -f /etc/apparmor.d/cache/* /var/cache/apparmor/snap.*
$ sudo reboot
Jonathan Perry-Houts
fonte