ทำไมรูทได้รับอนุญาตถูกปฏิเสธเมื่อเข้าถึงไดเรกทอรี FUSE


24

ฉันใช้ระบบไฟล์ FUSE โดยไม่มีปัญหาในฐานะผู้ใช้ของฉันเอง แต่รูทไม่สามารถเข้าถึงการเมานต์ FUSE ของฉันได้ แต่คำสั่งใด ๆ Permission deniedที่จะช่วยให้ ฉันจะให้สิทธิ์รูทเพื่ออ่านการเมาต์เหล่านี้ได้อย่างไร

~/top$ sudo ls -l
total 12
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 bar
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ fuse-zip foo.zip foo
~/top$ unionfs-fuse ~/Pictures bar

yonranผู้ใช้ของฉันสามารถอ่านได้ดี:

~/top$ ls -l
total 8
drwxr-xr-x 1 yonran yonran 4096 2011-07-25 18:12 bar
drwxr-xr-x 2 yonran yonran    0 2011-07-25 18:51 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ ls bar/
Photos

แต่รากไม่สามารถอ่านไดเรกทอรี FUSE อย่างใดอย่างหนึ่ง:

~/top$ sudo ls -l
ls: cannot access foo: Permission denied
ls: cannot access bar: Permission denied
total 4
d????????? ? ?      ?         ?                ? bar
d????????? ? ?      ?         ?                ? foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ sudo ls bar/
ls: cannot access bar/: Permission denied

ฉันใช้ Ubuntu 10.04: ฉันจะติดตั้งการอัปเดตจาก Canonical เสมอ

$ uname -a
Linux mochi 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.3 LTS
Release:    10.04
Codename:   lucid

แก้ไข : ลบความหมายที่รูทเคยใช้เพื่อเข้าถึงเมานท์ ลองคิดดูสิบางทีสคริปต์ของฉันไม่เคยพยายามเข้าถึงไดเรกทอรีเป็นรูท

คำตอบ:


24

มันเป็นวิธีการfuseทำงาน หากคุณต้องการอนุญาตการเข้าถึงรูทหรือผู้ใช้รายอื่นคุณต้องเพิ่ม:

user_allow_other

ใน /etc/fuse.conf และเมานต์ระบบไฟล์ฟิวส์ของคุณด้วยallow_otherหรือallow_rootเป็นตัวเลือก


5
ฉันเป็นคนเดียวที่อ่านและยังไม่รู้ว่าจะทำอย่างไรจริง ๆ ? allow_other เข้าไปใน / etc / fstab หรือไม่ ที่อื่น?
Warren P

ฉันกำลังดูสิ่งนี้เช่นกันในตอนนี้ ฉันคิดว่าคุณสามารถเพิ่ม "allow_root" ลงใน /etc/fuse.conf ของคุณได้ จากนั้น FUSE fs ทั้งหมดจะเข้าถึงได้โดยรูท สำหรับใครก็ตามที่เข้ามาทางนี้มันเป็นปัญหาสำหรับระบบไฟล์ kbfs ของ keybase ซึ่งทำงานโดยไม่มี allow_root
Diagon

หากต้องการทำอย่างละเอียดจาก man mount.fuse: ส่วนการกำหนดค่า: "ตัวเลือกบางตัวเกี่ยวกับนโยบายเมานท์สามารถตั้งค่าได้ในไฟล์ /etc/fuse.conf" (เช่น user_allow_other) ส่วนตัวเลือกการเมานท์ทั่วไป: "allow_other: ตัวเลือกนี้จะแทนที่มาตรการรักษาความปลอดภัยที่ จำกัด การเข้าถึงไฟล์ของผู้ใช้ที่ติดตั้งระบบไฟล์ดังนั้นผู้ใช้ทุกคน (รวมถึงรูท) สามารถเข้าถึงไฟล์ได้ตัวเลือกนี้เป็นค่าเริ่มต้นเท่านั้น ถูกลบออกด้วยตัวเลือกการกำหนดค่าที่อธิบายไว้ในส่วนก่อนหน้า "
gatoWololo

1
@WarenP: โดยทั่วไปคุณต้องการทำสิ่งนี้: 1) echo "user_allow_other"> /etc/fuse.conf 2) เมื่อใดก็ตามที่คุณเรียกใช้โปรแกรมตามฟิวส์ให้เพิ่มตัวเลือก -o allow_other ดังนั้นผู้ใช้คนอื่นจะสามารถเข้าถึงได้ . (ตัวอย่าง: sshfs ./mountpoint -o allow_other) - ใช้งานได้เนื่องจากโปรแกรมทั้งหมดที่ใช้งาน FUSE สืบทอดตัวเลือกบรรทัดคำสั่งของ FUSE (เช่น allow_other)
felipeek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.