sshfs 不与 sudo 一起使用时会失败

sshfs 不与 sudo 一起使用时会失败

我换了电脑,现在无法让 sshfs 再次工作。

使用该命令sshfs user@server:/home/user/ /mnt/server失败并显示:
fusermount3:安装失败:操作不允许
当我运行带有前缀的命令时sudo,它可以工作 - 但这有点离题了。以前不使用 sudo 也可以工作。

这曾经在我的旧机器上工作过,那台机器也运行着 Ubuntu 22.04。然而,我已经有一段时间没有设置旧机器了,所以我想我可能忘记了一些东西。

挂载目录 /mnt/server 属于我当前的用户,既是所有者,也是组成员。


只需使用 ssh 登录即可,即使用ssh user@server。那么,不允许的操作是什么?

挂载点如下:

user@host:~$ ls -ld /mnt/server
drwxr-xr-x 2 user user 4096 Jän 16 17:30 /mnt/server
user@host:~$

更多信息:

user@host:~$ type -a fusermount3 
fusermount3 ist /usr/bin/fusermount3
fusermount3 ist /bin/fusermount3
user@host:~$ ls -l /usr/bin/fusermount3 
-rwxr-xr-x 1 root root 35200 Mär 23  2022 /usr/bin/fusermount3

我在另一台运行 Ubuntu-22.04 的计算机上尝试了该操作,发现本地用户所属的组存在一些差异:

user@host:~$ id
uid=1003(user) gid=1003(user) Gruppen=1003(user),27(sudo),46(plugdev)

user@otherHost:~$ id
uid=1000(user) gid=1000(user) Gruppen=1000(user),4(adm),27(sudo),30(dip),46(plugdev),122(lpadmin),134(lxd),135(sambashare)

作为host一台计算机,它不工作;otherHost作为另一台计算机,它可以工作。

答案1

你的:

$ ls -l /usr/bin/fusermount3 
-rwxr-xr-x 1 root root 35200 Mär 23  2022 /usr/bin/fusermount3

...缺少设置用户 ID 位,而默认情况下非管理员用户应该能够使用该命令来挂载文件系统...设置该位时将以所有者用户的身份运行该命令,即root无论调用用户/进程如何,否则该命令将以调用用户的身份运行,并且您需要按照您的经验root使用sudo

跑步:

sudo chmod u+s /usr/bin/fusermount3

... 设置该位,使其看起来像这样:

$ ls -l /usr/bin/fusermount3 
-rwsr-xr-x 1 root root 35200 Mär 23  2022 /usr/bin/fusermount3

...然后再次尝试您的命令,它应该可以工作。

相关内容