如何卸载非 sudo sshfs 创建的目录

K.W*_*ter 24 command-line umount sudo

我使用没有 sudo 的 sshfs 创建一个目录,如

sshfs user@172.19.76.226:/media/user/harddrive /temp/user/harddrive
Run Code Online (Sandbox Code Playgroud)

但是当我想卸载/temp/user/harddrive目录时

umount /temp/user/harddrive
Run Code Online (Sandbox Code Playgroud)

它提示:

umount: /temp/user/harddrive: Permission denied
Run Code Online (Sandbox Code Playgroud)

那么如何卸载这个目录呢?

Byt*_*der 38

sshfs使用 FUSE(用户空间中的文件系统)而不是mount具有提升权限的常规。

这也意味着您不能使用umount(的对应物mount)来卸载文件系统,但是您可以fusermount -u使用 FUSE 卸载命令:

fusermount -u /temp/user/harddrive
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见例如man sshfsman fusermount

  • 请注意,[17.10 和 18.04 联机帮助页](http://manpages.ubuntu.com/manpages/artful/en/man1/sshfs.1.html) 明确指出“正在卸载:`umount mountpoint`”,而直到 16.04 为止它是 `fusermount -u mountpoint` 代替 - 猜测它对于不同的版本是不同的! (2认同)

Luí*_*usa 6

这个答案指的是 Ubuntu 20.04,但一般来说,您需要两个步骤才能正确卸载卷sshfs:i) 终止sshfs进程和 ii) 使用sudo卸载。如果不使用sudo,即使权限正确,系统也会报告“设备或资源繁忙”或“传输端点未连接”等消息。

说明如下:

killall sshfs
sudo umount -l /temp/user/harddrive
Run Code Online (Sandbox Code Playgroud)