小编Nat*_*nce的帖子

sshfs 文件写入不尊重 UID/GID 映射

我正在使用 sshfs 远程安装我的 /home 目录。由于服务器和客户端上的 UID 和 GID 不同,因此我使用idmap=file. 此外,由于应用程序要求,我必须安装所有 /home 而不是单个用户目录。

sshfs_uids:

user1:1001
user2:1000
Run Code Online (Sandbox Code Playgroud)

sshfs_gids:

user1:1001
user2:1000
Run Code Online (Sandbox Code Playgroud)

挂载命令:

sudo sshfs -o nonempty -o transform_symlinks -o hard_remove -o allow_other -o nomap=ignore -o idmap=file -o uidfile=/root/sshfs_uids -o gidfile=/root/sshfs_gids root@myserver:/home /home
Run Code Online (Sandbox Code Playgroud)

读取文件时,一切都按预期工作(应该由 user1:user1 拥有的文件确实如此)。但是,当我以 user1 身份写入时,会发生这种情况:

user1@myclient:~$ touch foo
user1@myclient:~$ ls -l foo
-rw-r--r--. 1 root root 0 Jun 13 13:54 foo
Run Code Online (Sandbox Code Playgroud)

我的用户以 root 身份写入文件!即使执行ls -lfrom myserver 也会出现相同的 root 所有权。不过我可以手动修复它:

user1@myclient:~$ chown user1:user1 foo
user1@myclient:~$ ls -l foo …
Run Code Online (Sandbox Code Playgroud)

linux home-directory sshfs

5
推荐指数
1
解决办法
5791
查看次数

标签 统计

home-directory ×1

linux ×1

sshfs ×1