有没有办法限制一个目录只有 1 个文件?
我为用户创建了一个特定目录,我想限制该目录仅包含 1 个文件。如果该用户想要存储新文件,则用户必须在将新文件保存到该目录之前删除旧文件。
这可能吗?理想情况下,无需编写任何脚本并使用 cron 作业来“监视”目录。
我想对一些用户施加此限制。
请问有什么建议吗?
答案1
唯一的方法是拥有一个用户无法写入的目录。在该目录中创建一个文件并授予他们写入该文件的权限。他们将无法删除该文件,也无法创建另一个文件。他们也无法重命名该文件。但他们可以覆盖该文件,并且如果他们拥有该文件,则可以更改文件的元数据(时间戳、权限等)。
chown root:root mydir
chmod 755 mydir
touch mydir/somefile
chown bob mydir/somefile
这对我来说似乎完全没有意义。允许用户拥有单个文件并不会带来安全方面的好处;如果您另外限制名称(就像我在这里所做的那样),可能会有好处,但即使这样似乎也有些牵强。确保您是解决你的实际问题,而不是一些虚构的无意义的约束。