我正在通过 SSH 连接到远程服务器,但遇到权限问题。
我的远程帐户thelq
主要是该组的一部分thelq
。我也是通用组的一员users
。另一个名为 的远程帐户game
主要是该组的一部分users
。在远程服务器上我可以自由查看和编辑所有game
文件。然而,在本地服务器上,我显然不属于该users
组。奇怪的是,显式指定users
gid 选项的组仍然不允许我访问该users
组
我在命令行中尝试的示例:
[thelq@quackwall ~]$ sshfs -o idmap=user -o uid=1000 -o gid=1000 -o allow_other -o default_permissions quackgame:/home game-home
thelq@quackgame's password:
[thelq@quackwall ~]$ echo something >> game-home/game/INIT-SETUP
bash: game-game/game/INIT-SETUP: Permission denied
我很困惑还能做什么,因为 Linux 权限不是我的强项。我当时想,像我一样渴望在远程计算机上可以让我访问小组所说的一切,但显然不能。
有什么建议么?
根据@penguin359的要求
[thelq@quackwall ~]$ ls -ld game-home
drwxr-xr-x 2 thelq allusers 4096 Apr 5 19:06 game-home
[thelq@quackwall ~]$ sshfs quackgame:/home game-home
thelq@quackgame's password:
[thelq@quackwall ~]$ ls -ld game-home
drwxr-xr-x 1 root root 4096 Jan 5 18:20 game-home
[thelq@quackwall ~]$ ssh quackgame id
thelq@quackgame's password:
uid=1000(thelq) gid=1000(thelq) groups=1000(thelq),4(adm),20(dialout),24(cdrom),46(plugdev),100(users),107(sambashare),109(lpadmin),110(admin)
[thelq@quackwall ~]$ ssh quackgame ls -ld /home/game
thelq@quackgame's password:
drwxr-xr-x 11 game users 4096 2011-04-11 21:59 /home/game
答案1
根据您的输出ssh quackgame ls -ld /home/game
, /home/game 只能由文件所有者、游戏写入,而不能由用户组写入。尝试运行chmod g+w /home/game
quackgame 看看是否有效。
答案2
idmap 选项不会影响权限,它只会影响stat()
文件所有者的显示。此外,uid 和 gid 选项仅影响本地权限,即有效拥有连接的权限。 default_permissions 选项在本地打开权限检查,这可能不是您想要的。远程端的权限仅由用于连接的用户名决定,在本例中为lq。尝试一些更简单的事情,比如sshfs -o idmap=user quackgame:/home game-home
看看它是否有效。