到目前为止,我在/etc/fstab中使用了这一行:
/home/ftp_user /home/app_user/mounts/ftp_user fuse.bindfs mirror=app_user 0 0这个很管用。app_user可以访问ftp_user的文件,就像文件是他自己的文件一样。
现在我想用inotify。app_user侦听绑定挂载目录中的更改。
如果app_user接触到/home/app_user/mounts/ftp_user中的一个文件,它就能工作。
但是如果ftp_user接触到/home/ftp_user中的一个文件,它就不起作用了。
有办法让这件事成功吗?
操作系统:只适用于Linux。
如果可能的话,避免聪明的inotify解决方案。通过http接收文件通常更好,因为您可以在接受文件之前验证它们。请参阅使用http,避免ftp/sftp/scp/rsync/smb/mail
发布于 2018-10-08 15:27:28
你想要达到的目标是做不到的。
查看https://bindfs.org/并向下滚动到“已知问题”部分。你会看到的
不触发inotify事件,因为FUSE没有为此提供API
您可以使用inotify来监视/home/ftp_ user,但是在这种情况下,正在设置watch的用户需要访问这个目录。
发布于 2019-04-18 13:03:15
相反,这样做是可行的:
ftp_user获取虚拟(挂载)目录,app_user保存真实目录。
/home/ftp_user /home/app_user/import/ftp_user fuse.bindfs mirror=ftp_user 0 0在虚拟目录中创建新文件(例如/home/ftp_user/new.txt)。这将触发作为用户app_user运行的inotify。在本例中,文件事件是为/home/app_user/import/ftp_user/new.txt创建的。
https://serverfault.com/questions/933887
复制相似问题