正如您在下面看到的,我能够将用户从 kevcoder00 映射到 kevcoder01,但该组被映射到 marigold,尽管该组在 kevcoder01 上不存在
l00py@kevcoder00:~$ sshfs -o idmap=user l00py@kevcoder01:/home/l00py ~/kevcoder01/
l00py@kevcoder01's password:
l00py@kevcoder00:~$ ls -hl kevcoder01/
total 0
-rw-r--r-- 1 l00py marigold 0 Jul 4 00:34 I_LIVE
-rw-r--r-- 1 l00py marigold 0 Jul 4 00:59 I_LIVE_AGAIN
我需要做什么来映射用户和组?
答案1
我不认为它映射到万寿菊。 marigold 在本地系统上使用的 GID 与远程服务器 devcoder01 上的默认组 100py 相同。
例如
在我的笔记本电脑上,我的默认组是 GID 501,saml。
$ id -a
uid=500(saml) gid=501(saml) groups=501(saml),502(vboxusers),503(jupiter)
在我的远程服务器 Skinner 上,用户 sam 使用以下命令:
$ id -a sam
uid=5060(sam) gid=1000(users) groups=1000(users),1060(pics),1050(mp3s),1070(mock)
现在当我连接时:
$ sshfs -o idmap=user sam@skinner:/home/sam /home/saml/mnt
$ ls -l ~/mnt
drwxr-xr-x 1 saml users 4096 May 27 2011 projects
drwxr-xr-x 1 saml users 4096 Mar 11 22:53 public_html
-rw-r--r-- 1 root root 1992744 Apr 18 2012 rest.war
-rw-r--r-- 1 saml 1000 136 Sep 4 2012 scott_jay_addresses.txt
drwxr-xr-x 1 saml 1000 4096 Jun 27 2012 SparkleShare
如果您查看此目录,会发现我可以访问其他组,但这只是 sshfs 的工作方式。它使用远程的 UID/GID 来显示共享目录,而您的本地系统恰好使用相同的 UID/GID。
如果您使用-n
开关,ls -l
您可以看到实际的 UID/GID:
$ ls -ln
drwxr-xr-x 1 500 100 4096 Mar 11 22:53 public_html
-rw-r--r-- 1 0 0 1992744 Apr 18 2012 rest.war
-rw-r--r-- 1 500 1000 136 Sep 4 2012 scott_jay_addresses.txt
drwxr-xr-x 1 500 1000 4096 Jun 27 2012 SparkleShare
如果我的本地系统/etc/group
文件中有一个 1000 的条目,那么在执行ls -l
.在上面的输出中,您可以看到组“user”正在使用 GID 100,而我恰好在本地系统中有一个条目:
users:x:100:
答案2
根据 的情况(结果id -a
)可持续发展管理回复,也许你可以尝试:
sudo sshfs -o allow_other,default_permissions,uid=500,gid=501 sam@skinner:/home/sam /home/saml/mnt