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

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

我使用不带 sudo 的 sshfs 创建了一个目录,例如

sshfs [email protected]:/media/user/harddrive /temp/user/harddrive

但是当我想/temp/user/harddrive使用

umount /temp/user/harddrive

它提示:

umount: /temp/user/harddrive: Permission denied

那么如何卸载该目录呢?

答案1

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

这也意味着至少16.04 之前的旧版本你可以不是使用umount(的对应部分mount)来卸载文件系统,尽管这也应该适用于18.04 及更高版本发布。

通常,您可以使用所用 FUSE 包中的相应命令来卸载文件系统。最高可达 Ubuntu 20.04,这是fuse包含fusermount命令的版本 2,而从 Ubuntu 22.04 开始,现已被fuse3包含所取代fusermount3

因此,在现代 Ubuntu 版本(22.04 或更新版本)上,首选方法是使用:

fusermount3 -u <MOUNTPOINT>

或者在您的具体例子中:

fusermount3 -u /temp/user/harddrive

欲了解更多信息,请参见man sshfsman fusermount或者man fusermount3适用于您相应的 Ubuntu 版本。

答案2

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

说明如下:

killall sshfs
sudo umount -l /temp/user/harddrive

答案3

因为我碰到了这篇文章并且不想进行kill这个过程,只是想让你知道,从 Ubuntu 22.04 开始,一个简单的umount工作正常:

umount /mount/point/sshfs/folder

我没有收到任何警告或错误消息,并且检查后该过程确实已终止ps aux | grep ssh

相关内容