给定路径下预定义的umask

给定路径下预定义的umask

可能的重复:
如何为目录中的所有文件夹/文件设置默认文件权限?

假设我有默认的 umask umask1,.我想要在特定路径下创建/修改的所有文件/文件夹

/path/to/foo

有一个不同的umask,umask2并继续用于umask1其他一切。有没有办法让 shell 自动为我执行此操作?如果是这样,怎么办?

有没有办法为属于 groupID 的其他人执行此操作/path/to/foo

答案1

您需要使用默认值ACL

请注意,语法有点不同,并且基于正向权限,而不是负向权限掩码,例如rwxr-x---will be750而不是027

例如

setfacl -m d:u::7,g::5,o:0 /path/to/foo

或者

setfacl -m d:u::rwx,g::r-x,o:- /path/to/foo

将使在默认情况下创建的文件和目录/path/to/foo750= rwxr-x---

如果您已经有一些子文件夹,您还需要添加标志-R以递归地设置它们的默认值。

如果出现Operation not supported错误,则可能没有在文件系统上启用 ACL。正确答案取决于很多因素,但如果您在使用 ext2/ext3/ext4 的 Linux 上,请尝试

sudo mount -o remount,acl <mount point>

或者

sudo tune2fs -o acl <file system>

也可以看看如何为目录中的所有文件夹/文件设置默认文件权限?

答案2

您可以使用特定权限和有效 umask 挂载目录bindfs。看http://www.cs.helsinki.fi/u/partel/bindfs_docs/bindfs.1.html

相关内容