Berechtigungsverweigerungsfehler beim Ausführen von Apps, die als Snap-Pakete installiert wurden - Ubuntu 17.04


22

Ich erhalte die Fehlermeldung "Berechtigung verweigert", wenn eine Snap-Anwendung ausgeführt wird, bei der mein Basisverzeichnis auf einem nfs-Mount-Punkt bereitgestellt ist, der Root-Schreibzugriff nicht zulässt. Dies ist keine ungewöhnliche Konfiguration, daher halte ich dies für einen Fehler.

Die Fehlermeldung:

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

Hatte auch das gleiche Problem mit Ubuntu 16.

Einige weitere Infos auf Anfrage:

Mit Ubuntu, "Ubuntu Software", installiere ich eine Snap-Anwendung (zum Beispiel vlc). Wenn ich versuche, es (von der Befehlszeile aus) auszuführen, wird die Meldung "Berechtigung verweigert" oben angezeigt.

Ich hatte gerade Ubuntu auf dem Computer neu installiert, also gab es keine Probleme mit dem Betriebssystem. Ich habe mein uid: gid beibehalten, damit ich mein vorheriges nfs-Share einbinden konnte.

Dies ist kein Problem mit dem Einhängepunkt oder nfs. Unser Einhängepunkt kann aus Sicherheitsgründen nicht als Root geschrieben werden.

Ich denke die Frage ist, sollte ich einen Fehlerbericht einreichen? Was sind meine nächsten Schritte?


Was ist die Frage? Wie erstelle ich einen Fehlerbericht?
mikewhatever

Ich vermute, wenn Sie einen Fehlerbericht einreichen, wird dieser als ungültig markiert, da es sich um ein Konfigurationsproblem mit nfs und dem Einhängepunkt handelt und nicht um einen Fehler, aber Sie können es versuchen.
Panther

Könnten Sie bitte etwas mehr Details hinzufügen? Was genau hast du gemacht, was wolltest du erreichen und was ist stattdessen passiert? Sind Sie auf Warn- oder Fehlermeldungen gestoßen? Bitte geben Sie diese in Ihrer Frage vollständig wieder. Sie können Terminalinhalte und die meisten Dialogmeldungen in Ubuntu auswählen, kopieren und einfügen. (Siehe Wie stelle ich eine gute Frage? )
David Foerster

Ich habe meine ursprüngliche Frage an die oben angegebene Adresse angepasst.
Tom Cumming

Antworten:


11

Gleiches passiert in Ubuntu 18.04.

Befindet sich das Benutzer-Ausgangsverzeichnis nicht unter dem Mount /home(oder /), kann nicht mit ihm gearbeitet werden snap. Mein HOMEDIR befand sich auf einer anderen lokalen SSD-Festplatte, aber da es nicht unter gemountet war /home, schlug jedes von snap installierte Paket fehl .

Da Canonical Snap unterstützt, müssen Sie diese Art netter Dinge verlieren, wie z. B. HOMEDIRs auf anderen Dateisystemen, die von NFS bereitgestellt werden usw.

Vielleicht wird snap in Zukunft flexibler sein, aber es hat keine Priorität: https://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/ 3352/6

Die Problemumgehung besteht derzeit snapdarin, Dinge aus *.tar.gzoder aus *.debPaketen zu entfernen und zu installieren .


8
So weit Schnappschuss = schlechteste Idee überhaupt. Zu früh :-p
Ligemer

2
Dies ist wirklich traurig und kommt einem Showstopper sehr nahe, insbesondere bei großen Bereitstellungen, bei denen sich $ HOME auf NFS- oder CIFS-Freigaben befindet, die über autofs-ldap bereitgestellt werden.
Sebastian Stark

1
"Da Canonical Snap unterstützt, müssen Sie diese Art netter Dinge verlieren, wie z. B. HOMEDIRs auf anderen Dateisystemen, die von NFS bereitgestellt werden usw." Ich glaube nicht, dass Canonical die Leute, die Ubuntu in kommerziellen / geschäftlichen Umgebungen ausführen, davon überzeugen wird, die Verwendung zentralisierter netzwerkbasierter Home-Verzeichnisse zugunsten lokaler zu beenden, nur damit sie "Snap-Pakete" verwenden können ...
Dean,

1
SSD / HD-PCs sind heutzutage allzu häufig. Viele (aber nicht alle!) Meiner / snap / bin / -Befehle scheiterten mit dem irreführenden "Berechtigungsverweigerungs" -Fehler bei den Eingabedateien, und das Problem konnte nicht gelöst werden, indem mit den Dateiberechtigungen herumgespielt wurde, sondern indem das / snap / -Paket und entfernt wurden Neuinstallation mit apt! (Ubuntu 18.04)
SYK

1
Diese Frage oder ihre Ursache wird in meinem Buch völlig unterschätzt. Es kann keine niedrige Priorität haben, dass die Dinge für einen Großteil der Nutzerbasis nicht funktionieren.
SeveQ

2

Snap-Apps sind aus Sicherheitsgründen standardmäßig auf eine Sandbox beschränkt. Wenn Sie möchten, dass Snap-Anwendungen Daten in Ihrem Ausgangsverzeichnis lesen / schreiben können, sollten Sie sie im klassischen Modus installieren. Versuchen:

rclone install --classic vlc

Dies sollte für Sie arbeiten.

Wenn das Sandboxing von Anwendungen ein Problem darstellt , sollten Sie sich mit FireJail befassen .



1

Ich bin darauf gestoßen, weil mein Home-Verzeichnis von / home / $ USER mit einem anderen Mount-Punkt verknüpft ist. Ich habe es mit folgendem Vorschlag behoben: https://bugs.launchpad.net/snapcraft/+bug/1620771

Kurz gesagt, Sie müssen Ihr nicht standardmäßiges Basisverzeichnis zur HOMEDIRS-Variablen von apparmor hinzufügen:

$ sudo dpkg-reconfigure apparmor

Oder: Erstellen Sie eine Datei in /etc/apparmor.d/tunables/home.d/, die auf den Mount-Punkt Ihres Home-Verzeichnisses verweist:

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

Dann sollten Sie aus gutem Grund den Cache von Apparmor löschen und neu starten:

$ sudo rm -f /etc/apparmor.d/cache/* /var/cache/apparmor/snap.*
$ sudo reboot
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.