FUSE 디렉토리에 액세스 할 때 root 권한이 거부되는 이유는 무엇입니까?


24

내 사용자로서 문제없이 FUSE 파일 시스템을 사용하지만 루트는 내 FUSE 마운트에 액세스 할 수 없습니다. 대신 모든 명령이을 제공합니다 Permission denied. 이 마운트를 읽을 수있는 권한을 root에게 부여하려면 어떻게해야합니까?

~/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는 루트로 액세스 할 수 있습니다. 이런 식으로 오는 사람에게는 allow_root없이 실행되는 키베이스의 kbfs 파일 시스템에 대한 문제입니다.
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.