防止用户删除自己家中的文件夹和文件

防止用户删除自己家中的文件夹和文件

如何防止用户删除自己主目录下的文件夹和文件?在我的场景中,用户可以创建和修改文件夹,但用户不应删除它们。我们如何才能实现这一目标?

答案1

删除文件需要对该文件的父目录具有写权限。您首先需要能够在目录中创建文件所需的相同权限,因此您的要求是冲突的:删除对用户主目录的写权限以防止删除也会阻止创建文件。

请注意,文件创建和文件删除非常相似:在这两种情况下,您都在更改目录中的条目,无论是通过添加还是删除条目。

答案2

如果您确实愿意,我想您可以使用以下命令手动使重要的现有文件不可变:

$ chattr +i filename

这将为文件添加 i 属性,从而阻止任何人以任何方式修改或删除它。您可以检查文件是否不可变:

$ lsattr filename
----i--------e-- filename

如果 i 标签存在,则它是不可变的。要删除它,请使用:

$ chattr -i filename

注意:您必须是 root 才能向文件添加或删除不可变标签。

当然,这样做的缺点是您必须手动为所有您想要防止删除的文件执行此操作。好处是,它不会阻止用户创建新文件。

相关内容