如何在设置了“setgid”和“sticky bit”的共享目录中使用或不使用 ACL 设置不同的文件和目录默认权限?

如何在设置了“setgid”和“sticky bit”的共享目录中使用或不使用 ACL 设置不同的文件和目录默认权限?

我在多个SE网站上搜索过,但似乎没有这个问题的答案。使用setgid位,它允许保留父组和粘性位的所有权,尽管这对权限没有帮助。另一方面,ACL 为给定共享目录中创建的文件和目录设置相同的权限。

假设共享 dir( /path/to/shared) 具有权限3775和所有权root:shared-group

如何设置此共享目录的默认权限,以便新创建的文件的权限设置为644,而新创建的目录的权限设置为775

简而言之,新创建的文件应该是组可读的,但目录是组可写的。

使用 ACL 并设置组权限,rwX甚至可以使文件组可写。

有些答案相似,但不完全相同; (ACL 默认值:文件与目录,在 Linux 上获取新文件继承组权限,https://stackoverflow.com/questions/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a,使用 setfacl 允许组成员写入目录中的任何文件

这可行吗?

答案1

不,您不能使用 POSIX ACL 执行此操作:只能为文件/目录/等一起设置默认权限。

出于好奇:您尝试完成什么样的用例/工作流程?

在您描述的设置中,用户只需备份(读取)文件、删除原始文件并使用相同名称重新创建它。这些操作只需要用户拥有的包含目录的写权限。文件所有者实际上已更改为新用户,现在他们可以按照自己的意愿使用它(包括更改权限)。

相关内容