这个月用python写了一个fuse的客户端程序,实现了一个虚拟的文件系统,可以支持read, write, close等文件操作,但是今天在用的时候发现,这个文件系统只对执行程序的用户可见,其他用户根本看不到这个fs,df、mount也看不到,ls时提示“permission deny”, 郁闷了。

按理说文件系统mount之后,对用户是否可见是由文件的属主和属性决定的,但是似乎fuse的模块又设计了一层安全限制,默认情况下只能进程属主可见。研究了一下sshfs,找到一个allow_other的选项,又研究了半天才搞清楚怎么用,fuse的内核模块支持该选项,只需要在执行程序时加上-o allow_other即可。

如下所示, ./fusefs.py none /mnt -o fsname=123,allow_other

fuse、python的中文资料很少,英文资料也不多,希望能帮到有用的人。


Simon Lee

My blog