การอนุญาตถูกปฏิเสธข้อผิดพลาดเมื่อเรียกใช้แอปที่ติดตั้งเป็นแพ็คเกจ snap - Ubuntu 17.04


22

ฉันได้รับอนุญาตปฏิเสธข้อผิดพลาดเมื่อเรียกใช้แอพพลิเคชั่น snap ที่ซึ่งโฮมไดเร็กตอรี่ของฉันติดตั้งอยู่บนจุดเมาท์ nfs ที่ไม่อนุญาตให้รูท - เขียน นี่ไม่ใช่การกำหนดค่าที่ผิดปกติดังนั้นฉันจึงพิจารณาข้อผิดพลาดนี้

ข้อความแสดงข้อผิดพลาด:

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

ยังมีปัญหาเดียวกันกับ Ubuntu 16

ข้อมูลเพิ่มเติมบางอย่างตามที่ร้องขอ:

ใช้อูบุนตู "ซอฟต์แวร์ Ubuntu" ฉันติดตั้งแอปพลิเคชัน snap (ตัวอย่างเช่น vlc) เมื่อฉันพยายามเรียกใช้ (จากบรรทัดคำสั่ง) ฉันได้รับข้อความ "การอนุญาตถูกปฏิเสธ" ด้านบน

ฉันเพิ่งติดตั้ง Ubuntu บนเครื่องใหม่ดังนั้นจึงไม่มีการยุ่งเกี่ยวกับระบบปฏิบัติการ ฉันเก็บ UID ของฉันไว้: gid ดังนั้นฉันจึงสามารถแบ่งปันส่วนแบ่ง NFS ก่อนหน้าของฉันได้

นี่ไม่ใช่ปัญหาของจุดเชื่อมต่อหรือ nfs จุดเมานต์ของเราไม่สามารถรูทได้เนื่องจากเหตุผลด้านความปลอดภัย

ฉันเดาคำถามคือฉันควรรายงานข้อผิดพลาดหรือไม่? ขั้นตอนต่อไปของฉันคืออะไร


คำถามคืออะไร? จะรายงานข้อผิดพลาดได้อย่างไร?
mikewhething

ฉันจะเดาว่าคุณรายงานข้อผิดพลาดมันจะถูกทำเครื่องหมายว่าไม่ถูกต้องเนื่องจากเป็นปัญหาการกำหนดค่ากับ nfs และจุดเชื่อมต่อและไม่ใช่จุดบกพร่อง แต่คุณสามารถลองได้
Panther

คุณช่วยเพิ่มรายละเอียดหน่อยได้ไหม? คุณทำอะไรอยู่อย่างแน่นอนคุณต้องการทำอะไรและเกิดอะไรขึ้นแทน? คุณพบคำเตือนหรือข้อความแสดงข้อผิดพลาดหรือไม่? โปรดทำซ้ำทั้งหมดในคำถามของคุณ คุณสามารถเลือกคัดลอกและวางเนื้อหาของเทอร์มินัลและข้อความการสนทนาส่วนใหญ่ใน Ubuntu (ดูฉันจะถามคำถามที่ดีได้อย่างไร )
David Foerster

ฉันแก้ไขคำถามเดิมของฉันตามที่อยู่ด้านบน
Tom Cumming

คำตอบ:


11

เหมือนกันเกิดขึ้นใน Ubuntu 18.04

หากโฮมไดเร็กทอรีของผู้ใช้ไม่อยู่ภายใต้เมานต์/home(หรือ/) จะไม่สามารถทำงานsnapได้ HOMEDIR ของฉันอยู่บนดิสก์ SSD ภายในเครื่องอื่น แต่เนื่องจากไม่ได้ติดตั้งอยู่ใต้/homeทุกแพคเกจที่ติดตั้งโดย snap จึงล้มเหลว

เนื่องจาก Canonical ย้ายไปสนับสนุน snap คุณจะต้องปล่อยสิ่งดีๆประเภทนี้ออกเช่น HOMEDIR บนระบบไฟล์อื่นติดตั้งโดย NFS เป็นต้น

บางที snap อาจมีความยืดหยุ่นมากกว่าในอนาคต แต่ไม่ใช่ลำดับความสำคัญ: https://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/ https://forum.snapcraft.io/ 3352/6

วิธีแก้ปัญหาในตอนนี้คือการลบsnapและติดตั้งสิ่งต่าง ๆ จาก*.tar.gzหรือจาก*.debแพ็คเกจ


8
จนถึง = ความคิดที่เลวร้ายที่สุด เร็วเกินไป :-p
Ligemer

2
นี่เป็นเรื่องน่าเศร้าจริง ๆ และใกล้กับ showstopper โดยเฉพาะอย่างยิ่งสำหรับการปรับใช้ขนาดใหญ่ที่ $ HOME ตั้งอยู่ในการแชร์ NFS หรือ CIFS ที่ติดตั้งผ่าน autofs-ldap
เซบาสเตียนสตาร์

1
"เนื่องจาก Canonical กำลังสนับสนุนสแน็ปอินคุณจะต้องสูญเสียสิ่งดีๆเช่น HOMEDIR บนระบบไฟล์อื่น ๆ ติดตั้งโดย NFS เป็นต้น" ฉันไม่คิดว่าเป็นที่ยอมรับเป็นไปได้ที่จะโน้มน้าวให้คนทำงานในสภาพแวดล้อมที่อูบุนตู / ธุรกิจการค้าจะหยุดการใช้เครือข่ายศูนย์ติดตั้งไดเรกทอรีบ้านในความโปรดปรานของคนในท้องถิ่นเพียงเพื่อให้พวกเขาสามารถใช้ "สแน็ปแพคเกจ" ...
คณบดี

1
พีซี SSD / HD นั้นมีอยู่ทั่วไปในปัจจุบัน คำสั่งของฉัน / snap / bin / จำนวนมาก (แต่ไม่ใช่ทั้งหมด!) จะล้มเหลวเนื่องจากข้อผิดพลาด "สิทธิ์ถูกปฏิเสธ" ที่ทำให้เข้าใจผิดกับไฟล์อินพุตและปัญหาไม่สามารถแก้ไขได้โดยการล้อเล่นกับสิทธิ์ของไฟล์ แต่โดยการลบ / snap / package และ ติดตั้งใหม่อีกครั้งด้วย apt! (Ubuntu 18.04)
SYK

1
คำถามหรือสาเหตุของคำถามนี้อยู่ในหนังสือของฉัน ไม่สามารถให้ความสำคัญในระดับต่ำได้ซึ่งสิ่งต่าง ๆ ไม่สามารถใช้งานได้กับส่วนสำคัญของฐานผู้ใช้
SeveQ

2

แอพ Snap จะถูก จำกัด อยู่ที่กล่องทรายโดยค่าเริ่มต้นเพื่อความปลอดภัย หากคุณต้องการให้แอปพลิเคชัน snap สามารถอ่าน / เขียนข้อมูลในโฮมไดเร็กตอรี่ของคุณ, คุณควรติดตั้งในโหมดคลาสสิค. ลอง:

rclone install --classic vlc

สิ่งนี้น่าจะเหมาะกับคุณ

หากใบสมัคร sandboxing เป็นกังวลแล้วคุณอาจต้องการที่จะมองเข้าไปในfirejail


2

คุณสามารถตั้งค่าการอนุญาตของ Snap Application ได้จาก Software Store ดู: http://www.linuxandubuntu.com/home/snap-application-permissions


ยินดีต้อนรับสู่ถาม Ubuntu! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Kevin Bowen

1

ฉันวิ่งเข้าไปในนี้เพราะไดเรกทอรีบ้านของฉันถูกเชื่อมโยงจาก / home / $ USER ไปยังจุดเมานท์อื่น ฉันแก้ไขด้วยคำแนะนำจาก: https://bugs.launchpad.net/snapcraft/+bug/1620771

ในระยะสั้นคุณจะต้องเพิ่มโฮมไดเร็กตอรี่ที่ไม่ได้มาตรฐานของคุณลงในตัวแปร HOMEDIRS ของ apparmor:

$ sudo dpkg-reconfigure apparmor

หรือ:สร้างไฟล์ใน /etc/apparmor.d/tunables/home.d/ ซึ่งชี้ไปที่จุดเมานต์ของโฮมไดเร็กตอรี่ของคุณ:

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

จากนั้นสำหรับการวัดที่ดีคุณควรลบแคชของ apparmor และรีบูต:

$ sudo rm -f /etc/apparmor.d/cache/* /var/cache/apparmor/snap.*
$ sudo reboot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.