我最接近的方法是使用 umask 来更改文件/文件夹的默认权限设置。但是,umask 似乎不允许x
为文件启用该位:
目录的基本权限为 ,文件的基本权限0777 (rwxrwxrwx)
为0666 (rw-rw-rw-)
。参考
我也看到了询问 Ubuntu 帖子这是有道理的,但是,umask 显然与该问题有关,而不仅仅是 touch 的代码,因为当我更改 umask 时,touch 的结果会受到影响)。
有没有办法创建设置了执行位的文件,至少对于用户部分(理想情况下-rwx-r-x-r-x = 755
)
答案1
有没有办法创建设置了执行位的文件,至少对于用户部分(理想情况下是 -rwx-rxrx = 755)
是的。
setfacl
命令将执行您想要的操作。请参阅man setfacl
完整的手册。
sudo setfacl -Rdm g:groupnamehere:rwx /base/path/members/ sudo setfacl -Rm g:groupnamehere:rwx /base/path/members/
R是递归的,这意味着该目录下的所有内容都将应用该规则。d是默认的,这意味着对于该目录下创建的所有未来项目,都默认应用这些规则。米需要添加/修改规则。
第一个命令用于新项目(因此是 d),第二个命令用于文件夹下的旧/现有项目。希望这能帮助到某些人,因为这些东西有点复杂,而且不太直观。