Rob*_*ert 17 permissions mount sshfs users
所以我试图从局域网中的另一台计算机挂载一个文件夹,并且我能够毫无问题地进行 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
Run Code Online (Sandbox Code Playgroud)
当我通过 sshfs 访问远程文件夹时:
$sshfs -o idmap=user <username>@<ipaddress>:/home/user ~/remoteserv
Run Code Online (Sandbox Code Playgroud)
的输出变为:
$~/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
Run Code Online (Sandbox Code Playgroud)
我无法正确访问任何文件,因为 sshfs 正在以我妻子的用户名挂载文件!我不知道为什么,我觉得我在某个地方犯了一个大错误。是否有一些我需要在某处调整的配置文件?我似乎在联机帮助页上找不到任何内容:/
我什至在安装时尝试了 -o allow_other 选项,但它仍然以我妻子的用户名安装它!到底是怎么回事?
toh*_*ohu 23
显式设置 UID/GID 值得一试。例如,这可以使用 sshfs 选项来完成:
uid=$(id -u),gid=$(id -g)
Run Code Online (Sandbox Code Playgroud)
或者
uid=$(id -u someuser),gid=$(id -g somegroup)
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅https://wiki.archlinux.org/index.php/SSHFS#Secure_user_access。
and*_*rej 10
完整的命令是
sshfs \
-o uid=`id -u username` \
-o gid=`id -g username` \
-o allow_other \
target_user@target.server:/target/folder \
/local/folder
Run Code Online (Sandbox Code Playgroud)
它将用户名的 user_id 和 group_id 映射到安装点(因此安装点看起来像该用户自己的)。允许allow_other其他人使用此安装点,如果 root 为其他人安装该文件夹,则这是很好的选择。
或者你-o allow_root也可以使用 root 那里。
| 归档时间: |
|
| 查看次数: |
28265 次 |
| 最近记录: |