我可以阻止创建文件吗?

我可以阻止创建文件吗?

我们有一台运行 VMware Server 的机器。它不断地创建一个名为not_configuredin 的文件/etc/vmware/,这会导致我们的虚拟机无法启动。

我想知道有没有什么可靠的方法防止创建此文件首先。

该文件本身不包含任何内容,因此我不想创建它并对其进行写保护。它一开始就不应该在那里。

答案1

您可以通过某种方式将该目录设置为只读:使用 unix 权限 ( chmod a-w),或者使用更严格的措施,例如在该位置安装只读文件系统。我不认为 Linux 提供了一种内置方法来防止创建单个文件,而不使整个目录只读。当然还有多功能工具保险丝但我不知道现有的 FUSE 文件系统可以让您以这种方式创建文件黑名单。

您可以尝试创建一个悬空符号链接,尤其是指向只读目录中不存在的文件的链接。根据一个程序检查文件是否存在以及另一个程序尝试创建文件的方式,这可能有效,也可能无效。

我建议找出哪个程序正在创建该文件并将其关闭。看如何确定哪个进程正在创建文件?

答案2

简而言之,如果您有任何尚未卸载干净的 Vmware 产品,就会出现您所描述的问题。
请按照以下网址的说明进行操作:这个链接,我和他们取得了成功:

我也遇到过同样的问题,按照上面的指导后就解决了。

答案3

执行此操作的唯一标准方法是删除目录的写入权限。当然,这将阻止任何东西在此目录中创建文件。

答案4

我实际上已经这样做了..你可以在“中做一个听众”观察者“ 或者 ”因克朗“(我会使用观察程序,它是递归的)使用创建触发器,编写脚本,等待5秒(这是因为当“创建”文件时可以“创建”各种只读/tmp文件 - 您测试它用于锁定/只读,并在必要时重新暂停)然后在脚本中扫描/移动/删除该文件夹中您不喜欢的任何文件。

注意:确保您的脚本对于锁定文件/重试范例是智能的。

相关内容