我换了电脑,现在无法让 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
...然后再次尝试您的命令,它应该可以工作。