首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使inotify为bindfs工作?

问如何使inotify为bindfs工作?
EN

Server Fault用户
提问于 2018-10-04 06:50:09
回答 2查看 1K关注 0票数 2

到目前为止,我在/etc/fstab中使用了这一行:

代码语言:javascript
复制
/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

EN

回答 2

Server Fault用户

发布于 2018-10-08 15:27:28

你想要达到的目标是做不到的。

查看https://bindfs.org/并向下滚动到“已知问题”部分。你会看到的

不触发inotify事件,因为FUSE没有为此提供API

您可以使用inotify来监视/home/ftp_ user,但是在这种情况下,正在设置watch的用户需要访问这个目录。

票数 3
EN

Server Fault用户

发布于 2019-04-18 13:03:15

相反,这样做是可行的:

ftp_user获取虚拟(挂载)目录,app_user保存真实目录。

代码语言:javascript
复制
/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创建的。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/933887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档