防止用户覆盖文件和目录

防止用户覆盖文件和目录

帮我了解这种情况是否可以使用 Linux 实现。我想保护对名为“/mnt/data”的系统路径的访问。

系统用户限制:

  • ‘daemon_user’:读/写访问权限。
  • ‘read_user’:只读。
  • ‘appender_user’:添加文件,但不是删除或者覆盖现有的。

“daemon_user” 不断创建新文件,因此“不删除/覆盖”限制也必须适用于新创建的文件。

注意:最初我放弃使用“chattr”,因为它适用于所有用户,包括 root。我不想要那种程度的限制。

答案1

您可以使用 POSIX 扩展 ACL(getfacl、setfacl、chmod、chown)实现 daemon_user 和 read_user。对于 appender_user,您可以使用附加属性(chattr +a filename、lsattr),但这会限制所有用户。

实现此目的的另一种方法是使用限制对这些文件的访问的服务。例如,您与以下人员共享文件桑巴并且您使用具有仅追加属性的 Windows ACL。

实现 appender_user 的另一种方法是创建 SELinux 目标策略。查看如何httpd_sys_ra_content_t实现。

相关内容