自动为特定文件夹中的所有子文件夹和子文件设置权限

自动为特定文件夹中的所有子文件夹和子文件设置权限

我想设置一个文件夹,使得其中创建的任何内容(目录,文件)都由任何用户(也是 root)继承默认权限和组

因此,该文件夹的内容将被我的用户删除

答案1

因此,您需要使用支持用户和组 ACL 的文件系统(ext4 和 xfs 都支持;但 ext4 需要使用“acl”选项集进行挂载 - 例如“mount -o defaults,acl”)

然后,您只需设置默认 facl 以包含您的用户的完整权限和其他人的所有权限。假设文件需要所在的目录称为 /directory,您的用户称为 MYUSER,并且您将“所有其他用户”放在名为 USERS 的组中,您可以执行以下操作: setfacl -d -m u:MYUSER:rwx /directory setfacl -d -m g:USERS:r-x /directory setfacl -m g:USERS:r-x /directory setfacl -m u:MYUSER:rwx /directory 现在,在 /directory 中创建的任何新文件都可以由您读取、写入和执行;但只有 USERS 组可以读取和执行。

要了解有关文件系统 ACL 的使用的更多信息,您可以查阅RedHat 的优秀文档

答案2

任何人都可以在此处写入的文件夹(子文件夹和文件)

您可以设置主文件夹的权限:chmod 0777,但其他用户无法访问它,除非相同的权限一直存在到根目录 - 这不是主目录中的良好安全措施。此外,SELinux 权限可能会导致用户在其主目录之外写入时出现问题。

我可以使用我的用户删除内容;无需使用 sudo

删除在这样的目录中创建的文件仍然必须以 sudo/root 的身份进行,除非所有文件都是由具有组写权限的特定组创建的,并且您的用户也是其成员。

简而言之,你要求做的事实际上不可行。

相关内容