sshfs 正在以另一个用户身份挂载文件系统

sshfs 正在以另一个用户身份挂载文件系统

因此,我尝试从 LAN 中的另一台计算机挂载一个文件夹,并且能够顺利进行 ssh。但是,当我访问挂载的文件夹时,我无法进行任何更改。

这是我目前所做的:

安装:

$sudo apt-get install sshfs
$sudo modprobe fuse
$sudo adduser <username> fuse
$sudo chown root:fuse /dev/fuse
$sudo chmod +x /dev/fuse
$mkdir ~/remoteserv

当我通过 sshfs 访问远程文件夹时:

$sshfs -o idmap=user <username>@<ipaddress>:/home/user ~/remoteserv

输出变成:

$~/remoteserv$ ls -l
total 60
drwxr-xr-x 1 <notmyusername> <notmyusername> 4096 2012-04-13 21:54 Desktop
drwxr-xr-x 1 <notmyusername> <notmyusername> 4096 2012-04-10 13:05 Documents
drwxr-xr-x 1 <notmyusername> <notmyusername> 4096 2012-04-17 19:06 Downloads
drwxr-xr-x 1 <notmyusername> <notmyusername> 4096 2012-04-13 21:55 Music
drwxr-xr-x 1 <notmyusername> <notmyusername> 4096 2012-04-03 15:07 Pictures
... more of the same

我无法正常访问任何文件,因为 sshfs 正在以我妻子的用户名挂载文件!我不知道为什么,我感觉我在某个地方犯了一个大错误。是否有一些配置文件需要我在某处调整?我似乎在手册页上找不到任何东西 :/

我甚至在挂载时尝试了 -o allow_other 选项,但它仍然以我妻子的用户名挂载!发生了什么事?

答案1

值得一试明确设置 UID/GID。例如,可以使用 sshfs 选项来完成此操作:

uid=$(id -u),gid=$(id -g)

或者

uid=$(id -u someuser),gid=$(id -g somegroup)

https://wiki.archlinux.org/index.php/SSHFS#Secure_user_access更多细节。

答案2

完整命令是

sshfs \
-o uid=`id -u username` \
-o gid=`id -g username` \
-o allow_other \
[email protected]:/target/folder \
/local/folder

它将用户名的 user_id 和 group_id 映射到挂载点(因此挂载点看起来像是该用户自己的)。这allow_other允许其他人使用此挂载点,如果 root 为其他人挂载文件夹,这很有用。

或者您-o allow_root也可以使用它来让 root 在那里。

相关内容