Erreur d'autorisation refusée lors de l'exécution d'applications installées en tant que packages de capture instantanée - Ubuntu 17.04

22

J'obtiens l'erreur Autorisation refusée lors de l'exécution d'une application snap, où mon répertoire personnel est monté sur un point de montage nfs qui n'autorise pas l'écriture racine. Ce n'est pas une configuration inhabituelle, donc je considère cela comme un bug.

Le message d'erreur:

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

A également eu le même problème avec Ubuntu 16.

Quelques informations supplémentaires sur demande:

En utilisant ubuntu, "Ubuntu Software", j'installe une application snap (par exemple, vlc). Lorsque j'essaie de l'exécuter (à partir de la ligne de commande), j'obtiens le message "Autorisation refusée" ci-dessus.

Je venais de réinstaller Ubuntu sur la machine, donc il n'y a eu aucun problème avec le système d'exploitation. J'ai conservé mon uid: gid pour pouvoir monter mon partage nfs précédent.

Ce n'est pas un problème avec le point de montage ou nfs. Notre point de montage n'est pas accessible en écriture pour des raisons de sécurité.

Je suppose que la question est, dois-je déposer un rapport de bogue? Quelles sont mes prochaines étapes?

Tom Cumming
la source
Quelle est la question? Comment déposer un rapport de bug?
mikewwhat
Je vais deviner que si vous déposez un rapport de bogue, il sera marqué comme non valide car il s'agit d'un problème de configuration avec nfs et le point de montage et non un bogue, mais vous pouvez essayer.
Panther
Pourriez-vous s'il vous plaît ajouter un peu plus de détails? Qu'avez -vous fait exactement , que vouliez-vous réaliser et que s'est-il passé à la place? Avez-vous rencontré des messages d'avertissement ou d'erreur? Veuillez les reproduire dans leur intégralité dans votre question. Vous pouvez sélectionner, copier et coller le contenu du terminal et la plupart des messages de dialogue dans Ubuntu. (voir Comment poser une bonne question? )
David Foerster
J'ai modifié ma question d'origine pour répondre ci-dessus.
Tom Cumming

Réponses:

11

La même chose se produit dans Ubuntu 18.04.

Si le répertoire personnel de l'utilisateur n'est pas sous le montage /home(ou /), il n'est pas possible de travailler avec snap. Mon HOMEDIR se trouvait sur un autre disque SSD local, mais comme il n'était pas monté sous /home, chaque package installé par snap échouait.

Puisque Canonical se déplace pour prendre en charge le snap, vous devrez perdre ce genre de choses intéressantes, telles que les HOMEDIR sur d'autres systèmes de fichiers, montés par NFS, etc.

Peut-être que le snap sera plus flexible à l'avenir, mais ce n'est pas une priorité: https://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/ 3352/6

La solution de contournement consiste actuellement à supprimer snapet à installer des éléments à partir *.tar.gzou à partir de *.debpackages.

estibordo
la source
8
Jusqu'à présent, snap = pire idée jamais. Trop tôt
:-p
2
C'est vraiment triste et proche d'un showstopper, en particulier pour les déploiements énormes où $ HOME réside sur des partages NFS ou CIFS montés via autofs-ldap.
Sebastian Stark
1
"Étant donné que Canonical se déplace pour prendre en charge le snap, vous devrez perdre ce genre de choses intéressantes, telles que les HOMEDIR sur d'autres systèmes de fichiers, montés par NFS, etc." Je ne pense pas que canonique va convaincre les gens qui exécutent Ubuntu dans des environnements commerciaux / commerciaux d'arrêter d'utiliser les répertoires de départ montés en réseau centralisés en faveur des répertoires locaux juste pour qu'ils puissent utiliser des "snap packages" ...
Dean
1
Les PC SSD / HD sont trop courants de nos jours. Beaucoup (mais pas tous!) De mes commandes / snap / bin / échoueraient avec l'erreur trompeuse "permission refusée" avec les fichiers d'entrée et le problème ne pourrait pas être résolu en jouant avec les autorisations de fichier mais en supprimant le / snap / package et les réinstaller avec apt! (Ubuntu 18.04)
SYK
1
Cette question, ou sa cause, est totalement sous-estimée dans mon livre. Il ne peut pas être de faible priorité que les choses ne fonctionnent pas pour une grande partie de la base d'utilisateurs.
SeveQ
2

Les applications d'accrochage sont limitées à un bac à sable par défaut, pour des raisons de sécurité. Si vous souhaitez que les applications snap puissent lire / écrire des données dans votre répertoire personnel, vous devez les installer en mode classique. Essayer:

rclone install --classic vlc

Cela devrait fonctionner pour vous.

Si le sandboxing d'application est un problème, vous voudrez peut-être vous pencher sur Firejail .

Prajjwal
la source
1

J'ai rencontré cela parce que mon répertoire personnel est lié à partir de / home / $ USER à un autre point de montage. Je l'ai corrigé avec la suggestion de: https://bugs.launchpad.net/snapcraft/+bug/1620771

En bref, vous devez ajouter votre répertoire personnel non standard à la variable HOMEDIRS de l'apparmeur:

$ sudo dpkg-reconfigure apparmor

ou: créez un fichier dans /etc/apparmor.d/tunables/home.d/ qui pointe vers le point de montage de votre répertoire personnel:

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

Ensuite, juste pour faire bonne mesure, vous devez supprimer le cache de l'apparmeur et redémarrer:

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