Błąd odmowy uprawnień podczas uruchamiania aplikacji zainstalowanych jako pakiety Snap - Ubuntu 17.04

22

Otrzymuję błąd odmowy uprawnień podczas uruchamiania aplikacji Snap, w której mój katalog domowy jest zamontowany w punkcie montowania nfs, który nie pozwala na rootowanie zapisu. To nie jest niezwykła konfiguracja, więc uważam to za błąd.

Komunikat o błędzie:

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

Miałem również ten sam problem z Ubuntu 16.

Więcej informacji na żądanie:

Używając Ubuntu, „Ubuntu Software”, instaluję aplikację Snap (na przykład VLC). Kiedy próbuję go uruchomić (z wiersza poleceń), pojawia się powyżej komunikat „Odmowa dostępu”.

Właśnie ponownie zainstalowałem Ubuntu na komputerze, więc nie było bałaganu w systemie operacyjnym. Zachowałem mój identyfikator użytkownika: gid, aby móc zamontować swój poprzedni udział NFS.

To nie jest problem z punktem montowania ani z nfs. Nasz punkt montowania nie może zostać zapisany w katalogu głównym ze względów bezpieczeństwa.

Myślę, że pytanie brzmi: czy powinienem zgłosić błąd? Jakie są moje kolejne kroki?

Tom Cumming
źródło
Jakie jest pytanie? Jak złożyć raport o błędzie?
mikewhthing
Zgaduję, że jeśli zgłosisz raport o błędzie, zostanie on oznaczony jako nieprawidłowy, ponieważ jest to problem z konfiguracją NFS i punktu montowania, a nie błąd, ale możesz spróbować.
Panther
Czy możesz dodać trochę więcej szczegółów? Co dokładnie zrobiłeś, co chciałeś osiągnąć, a co zamiast tego? Czy napotkałeś jakieś ostrzeżenia lub komunikaty o błędach? Powtórz je w całości w swoim pytaniu. Możesz wybierać, kopiować i wklejać zawartość terminala oraz większość komunikatów dialogowych w Ubuntu. (patrz Jak zadać dobre pytanie? )
David Foerster
Zredagowałem swoje pierwotne pytanie, aby odpowiedzieć powyżej.
Tom Cumming

Odpowiedzi:

11

To samo dzieje się w Ubuntu 18.04.

Jeśli katalog domowy użytkownika nie znajduje się pod /home(lub /) podłączeniem, nie można z nim pracować snap. Mój HOMEDIR znajdował się na innym lokalnym dysku SSD, ale ponieważ nie został on zamontowany pod /home, każdy pakiet zainstalowany przez snap zawodził.

Ponieważ Canonical zamierza obsługiwać snap, będziesz musiał stracić tego rodzaju miłe rzeczy, takie jak HOMEDIR na innych systemach plików, montowanych przez NFS itp.

Być może snap będzie bardziej elastyczny w przyszłości, ale nie jest to priorytet: https://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/ 3352/6

Obejściem tego problemu jest teraz usunięcie snapi instalacja elementów z *.tar.gzlub z *.debpakietów.

estibordo
źródło
8
Jak dotąd snap = najgorszy pomysł w historii. Za szybko :-p
Ligemer
2
Jest to naprawdę smutne i zbliżone do showstoppera, szczególnie w przypadku dużych wdrożeń, w których $ HOME rezyduje na udziałach NFS lub CIFS montowanych za pomocą autofs-ldap.
Sebastian Stark,
1
„Ponieważ Canonical zmierza do obsługi przystawki, będziesz musiał stracić tego rodzaju miłe rzeczy, takie jak HOMEDIR w innych systemach plików, montowanych przez NFS itp.” Nie sądzę, aby kanoniczny przekonał ludzi korzystających z Ubuntu w środowisku komercyjnym / biznesowym, aby przestali używać scentralizowanych katalogów domowych montowanych w sieci na rzecz lokalnych, tylko po to, aby mogli używać „pakietów Snap”…
Dean
1
Komputery SSD / HD są obecnie zbyt powszechne. Wiele (ale nie wszystkie!) Moich poleceń / snap / bin / zawiodłoby z wprowadzającym w błąd błędem „odmowa uprawnień” dla plików wejściowych, a problemu nie można było rozwiązać przez bałagan z uprawnieniami do plików, ale poprzez usunięcie pakietu / snap / package i ponownie instalując je za pomocą apt! (Ubuntu 18.04)
SYK
1
To pytanie lub jego przyczyna jest całkowicie niedoceniana w mojej książce. Nie może być niskim priorytetem, że rzeczy nie działają dla dużej części bazy użytkowników.
SeveQ
2

Dla bezpieczeństwa aplikacje Snap są domyślnie ograniczone do piaskownicy. Jeśli chcesz, aby aplikacje Snap mogły odczytywać / zapisywać dane w twoim katalogu domowym, powinieneś zainstalować je w trybie klasycznym. Próbować:

rclone install --classic vlc

To powinno ci pomóc.

Jeśli problemem jest piaskownica aplikacji, możesz zajrzeć do Firejail .

Prajjwal
źródło
1

Natknąłem się na to, ponieważ mój katalog domowy jest dowiązany symbolicznie z / home / $ USER do innego punktu montowania. Naprawiłem to za pomocą sugestii z: https://bugs.launchpad.net/snapcraft/+bug/1620771

Krótko mówiąc, musisz dodać niestandardowy katalog domowy do zmiennej HOMEDIRS w apparmor:

$ sudo dpkg-reconfigure apparmor

lub: utwórz plik w /etc/apparmor.d/tunables/home.d/, który wskazuje punkt montowania katalogu domowego:

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

Następnie, dla pewności, powinieneś usunąć pamięć podręczną Apparmor i zrestartować komputer:

$ sudo rm -f /etc/apparmor.d/cache/* /var/cache/apparmor/snap.*
$ sudo reboot
Jonathan Perry-Houts
źródło