SSHFS를 사용하여 마운트 된 디렉토리를 볼 수없는 이유는 무엇입니까?


34

SSHFS를 사용하여 원격 서버에 디렉토리를 마운트합니다. 클라이언트와 서버에 사용자 xxx가 있습니다. UID와 GID는 두 상자에서 동일합니다.

나는 사용한다

sshfs -o kernel_cache -o auto_cache -o reconnect -o compression=no \ 
      -o cache_timeout=600 -o ServerAliveInterval=15 \
      xxx@yyy.yyy.yyy.yyy:/mnt/content /home/xxx/path_to/content

원격 서버에 디렉토리를 마운트합니다. 클라이언트에서 xxx로 로그인하면 아무런 문제가 없습니다. / home / xxx / path_to / content에 CD를 넣을 수 있습니다.

하지만 다른 사용자 zzz로 클라이언트에 로그인하면

$ ls -l /home/xxx/path_to

나는 이것을 얻는다

d?????????   ? ?    ?        ?                ? content

그리고에

$ ls -l /home/xxx/path_to/content

나는 얻다

ls: cannot access content: Permission denied

내가 할 때

$ ls -l /mnt

내가 얻는 원격 서버에서

drwxr-xr-x 6 xxx xxx  4096 2011-07-25 12:51 content

내가 무엇을 잘못하고 있지? 권한이 올바른 것 같습니다. 내가 잘못?


xxx 사용자로 로그인하여 ls -ld /home/xxx/path_to/content?
quanta

답변:


42

나는 스스로 답을 찾았다. 문제는 allow_other 옵션을 사용하지 않았다는 것입니다.

sshfs -o allow_other -o kernel_cache -o auto_cache -o reconnect \
  -o compression=no -o cache_timeout=600 -o ServerAliveInterval=15 \
  xxx@yyy.yyy.yyy.yyy:/mnt/content /home/xxx/path_to/content

이 옵션을 사용하려면 /etc/fuse.conf에서 user_allow_other 옵션을 설정해야합니다. 내가 이것을했을 때 나는 또 다른 문제가 있었다. /etc/fuse.conf 파일에 내 우분투 상자의 다른 사용자에 대한 읽기 권한이 없습니다. 그래서 나는 그것을 바꾸었고 지금은 모든 사용자와 디렉토리에 액세스 할 수 있습니다.


5
/etc/fuse.conf 파일에는 모든 사람을위한 읽기 옵션이 없어야합니다. 의도는 퓨즈 그룹에 사용자를 추가하여 그룹 권한을 통해 읽을 수 있도록하는 것입니다.
Jherico

1
동일한 UID 및 GID에서 서버에 액세스 할 때 서버의 홈 디렉토리 외부에있는 폴더에 액세스하려면 클라이언트의 etc / fuse.conf에서 user_allow_other를 활성화해야하는지 확인했습니다. 파일이 rw_r______ root : fuse

1
위의 답변과 같이 allow_other mount 옵션을 사용하려는 경우 Linux 커널에 해결되지 않은 보안 버그가있어 FUSE에 영향을줍니다. github.com/libfuse/libfuse/issues/15
MountainX를
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.