![自动为特定文件夹中的所有子文件夹和子文件设置权限](https://linux22.com/image/751990/%E8%87%AA%E5%8A%A8%E4%B8%BA%E7%89%B9%E5%AE%9A%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E5%AD%90%E6%96%87%E4%BB%B6%E5%A4%B9%E5%92%8C%E5%AD%90%E6%96%87%E4%BB%B6%E8%AE%BE%E7%BD%AE%E6%9D%83%E9%99%90.png)
我想设置一个文件夹,使得其中创建的任何内容(目录,文件)都由任何用户(也是 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 的身份进行,除非所有文件都是由具有组写权限的特定组创建的,并且您的用户也是其成员。
简而言之,你要求做的事实际上不可行。