Izin ditolak kesalahan saat menjalankan aplikasi yang diinstal sebagai paket snap - Ubuntu 17.04

22

Saya mendapatkan izin ditolak kesalahan saat menjalankan aplikasi snap, di mana direktori home saya dipasang pada titik mount nfs yang tidak memungkinkan root-write. Ini bukan konfigurasi yang tidak biasa, jadi saya menganggap ini sebagai bug.

Pesan kesalahan:

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

Juga memiliki masalah yang sama dengan ubuntu 16.

Beberapa info lebih lanjut seperti yang diminta:

Menggunakan ubuntu, "Perangkat Lunak Ubuntu" Saya menginstal aplikasi snap (misalnya, vlc). Ketika saya mencoba menjalankannya (dari baris perintah), saya mendapatkan pesan, "Izin ditolak" di atas.

Saya baru saja menginstal ulang Ubuntu pada mesin, jadi belum ada main-main dengan OS. Saya memang melestarikan uid saya: gid sehingga saya bisa memasang bagian nfs saya sebelumnya.

Ini bukan masalah dengan mount point, atau nfs. Mount point kami tidak dapat di-root karena alasan keamanan.

Saya kira pertanyaannya adalah, haruskah saya mengajukan laporan bug? Apa langkah saya berikutnya?

Tom Cumming
sumber
Apa pertanyaannya? Bagaimana cara mengajukan laporan bug?
mikewhever
Saya akan menebak jika Anda mengajukan laporan bug itu akan ditandai tidak valid karena merupakan masalah konfigurasi dengan nfs dan titik mount dan bukan bug tetapi Anda dapat mencoba.
Panther
Bisakah Anda menambahkan sedikit lebih detail? Apa sebenarnya yang Anda lakukan, apa yang ingin Anda capai dan apa yang terjadi? Apakah Anda menemukan pesan peringatan atau kesalahan? Harap mereproduksi mereka secara keseluruhan dalam pertanyaan Anda. Anda dapat memilih, menyalin dan menempel konten terminal dan sebagian besar pesan dialog di Ubuntu. (lihat Bagaimana saya mengajukan pertanyaan yang bagus? )
David Foerster
Saya mengedit pertanyaan asli saya ke alamat di atas.
Tom Cumming

Jawaban:

11

Hal yang sama terjadi di Ubuntu 18.04.

Jika direktori home pengguna tidak berada di bawah /home(atau /) mount, itu tidak mungkin untuk bekerja dengannya snap. HOMEDIR saya ada di disk SSD lokal lain, tetapi karena tidak terpasang di bawah /home, setiap paket yang diinstal oleh snap gagal.

Karena Canonical bergerak untuk mendukung snap, Anda harus kehilangan hal-hal baik seperti ini, seperti HOMEDIR pada sistem file lain, yang dipasang oleh NFS, dll.

Mungkin snap akan lebih fleksibel di masa depan, tetapi itu bukan prioritas: https://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/ 3352/6

Solusinya sekarang adalah untuk menghapus snapdan menginstal sesuatu dari *.tar.gzatau dari *.debpaket.

estibordo
sumber
8
Sejauh ini snap = ide terburuk yang pernah ada. Terlalu cepat :-p
Ligemer
2
Ini sangat menyedihkan dan dekat dengan showstopper, terutama untuk penyebaran besar di mana $ HOME berada di NFS atau saham CIFS yang dipasang melalui autofs-ldap.
Sebastian Stark
1
"Karena Canonical sedang bergerak untuk mendukung snap, Anda harus kehilangan hal-hal baik seperti ini, seperti HOMEDIR pada sistem file lain, yang dipasang oleh NFS, dll." Saya tidak berpikir kanonik akan meyakinkan orang yang menjalankan Ubuntu di lingkungan komersial / bisnis untuk berhenti menggunakan direktori home yang dipasang di jaringan yang dipusatkan demi yang lokal agar mereka dapat menggunakan "paket snap" ...
Dean
1
SSD / HD PC sudah sangat umum saat ini. Banyak (tetapi tidak semua!) Dari perintah / snap / bin / saya akan gagal dengan kesalahan "izin ditolak" yang menyesatkan dengan file input dan masalahnya tidak dapat diselesaikan dengan mengacaukan izin file tetapi dengan menghapus / snap / paket dan instal ulang dengan apt! (Ubuntu 18.04)
SYK
1
Pertanyaan ini, atau penyebabnya, benar-benar diremehkan dalam buku saya. Tidak dapat menjadi prioritas rendah bahwa banyak hal tidak berfungsi untuk sebagian besar basis pengguna.
SeveQ
2

Aplikasi Snap terbatas pada kotak pasir secara default, untuk keamanan. Jika Anda ingin snap aplikasi dapat membaca / menulis data di direktori home Anda, Anda harus menginstalnya dalam mode klasik. Mencoba:

rclone install --classic vlc

Ini seharusnya bekerja untuk Anda.

Jika aplikasi sandboxing menjadi perhatian, maka Anda mungkin ingin melihat ke firejail .

Prajjwal
sumber
1

Saya mengalami hal ini karena direktori home saya disinkronkan dari / home / $ USER ke titik mount lain. Saya memperbaikinya dengan saran dari: https://bugs.launchpad.net/snapcraft/+bug/1620771

Singkatnya, Anda perlu menambahkan direktori home non-standar Anda ke variabel HOMEDIRS apparmor:

$ sudo dpkg-reconfigure apparmor

atau: buat file di /etc/apparmor.d/tunables/home.d/ yang mengarah ke titik pemasangan direktori home Anda:

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

Kemudian, hanya untuk ukuran yang baik, Anda harus menghapus cache apparmor dan reboot:

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