我正在使用 curlftpfs 在 Kubuntu 12.04 64 位中本地挂载远程 FTP 目录。
我的 /etc/fstab 中有以下条目:
curlftpfs#ftp_user:ftp_password@ftp_server /mnt/nimh fuse ro,noexec,nosuid,nodev,noauto,user,allow_other,uid=1000,gid=1000 0 0
我在 /mnt 中创建了以下内容:
|-> ll /mnt
total 4.0K
drwxrwxr-x 2 jim fuse 4.0K Jan 6 09:56 nimh/
我的用户也属于 fuse 组:
uid=1000(jim) gid=1000(jim) groups=1000(jim),27(sudo),105(fuse)
我可以手动挂载而不会出现问题,但 /mnt 更改为:
|-> mount /mnt/nimh
|-> ll /mnt
total 0
drwxr-xr-x 1 jim jim 1.0K Dec 31 1969 nimh/
但是当我尝试卸载 /mnt/nimh 时收到:
umount: /mnt/nimh mount disagrees with the fstab
我的 /etc/mtab 如下所示:
curlftpfs#ftp://ftp_user:ftp_password@ftp_server/ /mnt/nimh fuse ro,noexec,nosuid,nodev,allow_other,user=jim 0 0
如果我使用 sudo,我可以毫无问题地卸载文件系统。知道我缺少什么才能在不使用 sudo 的情况下卸载吗?
答案1
尝试fusermount
卸载文件系统:
fusermount -u /mnt/nimh
答案2
我找到了一个针对 shhfs 的解决方案:https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/99437/comments/33
只需在 /etc/fstab 中的选项中添加另一个 fsname=XXX 参数,其中 XXX 是该行的第一个单词,例如:
curlftpfs#ftp://ftp_user:ftp_password@ftp_server/ /mnt/nimh fuse ro,noexec,nosuid,nodev,allow_other,user=jim,fsname=curlftpfs#ftp://ftp_user:ftp_password@ftp_server/ 0 0
这对我来说很有效,我可以以用户身份通过 nemo/nautilus 挂载和卸载 ftp。