Jan*_*ard 36 linux permissions fuse sshfs distributed-filesystems
我使用 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
Run Code Online (Sandbox Code Playgroud)
将目录挂载到远程服务器上。当我在客户端上以 xxx 身份登录时,我没有任何问题。我可以 cd 进入 /home/xxx/path_to/content。
但是当我以另一个用户 zzz 登录客户端时
$ ls -l /home/xxx/path_to
Run Code Online (Sandbox Code Playgroud)
我明白了
d????????? ? ? ? ? ? content
Run Code Online (Sandbox Code Playgroud)
并在
$ ls -l /home/xxx/path_to/content
Run Code Online (Sandbox Code Playgroud)
我得到
ls: cannot access content: Permission denied
Run Code Online (Sandbox Code Playgroud)
当我做
$ ls -l /mnt
Run Code Online (Sandbox Code Playgroud)
在我得到的远程服务器上
drwxr-xr-x 6 xxx xxx 4096 2011-07-25 12:51 content
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?权限对我来说似乎是正确的。我错了吗?
Jan*_*ard 45
我自己找到了答案。问题是我没有使用选项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
Run Code Online (Sandbox Code Playgroud)
要使用此选项,您必须在 /etc/fuse.conf 中设置选项 user_allow_other。当我这样做时,我遇到了另一个问题。文件 /etc/fuse.conf 在我的 Ubuntu 机器上没有其他用户的读取权限。所以我也改变了它,现在我可以用任何用户访问该目录。
| 归档时间: |
|
| 查看次数: |
31425 次 |
| 最近记录: |