我使用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身份登录时,我没有任何问题.我可以cd进/ home / xxx / path_to / content.
$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
我究竟做错了什么?权限似乎对我来说是正确的.我错了吗?
解决方法
我自己找到了答案.问题是我没有使用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对我的Ubuntu盒子上的其他用户没有读取权限.所以我也改变了,现在我可以用任何用户访问该目录.