我们称这个组为“媒体”。而且,在目录中创建的文件夹/文件应自动具有g + rw。
#1 楼
我发现了它:应用默认权限从本文:
设置
setgid
位,以便在 chmod g+s <directory>
为组和其他
设置默认ACL
< pre class =“ lang-bsh prettyprint-override”>
setfacl -d -m g::rwx /<directory>
setfacl -d -m o::rx /<directory>
接下来我们可以验证:
getfacl /<directory>
输出:
# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
评论
是的,有点粘!
– Gabe。
2010年8月27日在15:11
让我们不要将gid与粘性位混淆。
–阿米特·奈杜(Amit Naidu)
13年4月25日在4:51
g + s将确保目录中的新内容将继承组的所有权。 setfacl仅更改chmod,在您的情况下,将权限设置为o = rx
– SteenSchütt
2014年2月12日12:28
请注意,必须启用ACL(已包含在已安装文件系统的安装选项之一中),才能继承文件权限。
– sg23
2014年10月21日19:29
您可能要考虑使用“ X”代替,因此它将仅对目录而非文件setfacl -d -m g :: rwX /
–阿德里安·古纳万(Adrian Gunawan)
17年8月31日,0:50
#2 楼
这是Chris回答的补充,它是基于我在Arch Linux平台上的经验得出的。使用默认开关(
-d
)和Modify开关(-m
)只会修改默认权限,而保留现有权限完整:setfacl -d -m g::rwx /<directory>
如果要更改文件夹的整个权限结构,包括现有的权限结构(您必须做额外的一行,并使用
-R
使其递归): > eg。setfacl -R -m g::rwx /<directory>
(CREDIT标记注释中的撤销所有特权行的语法)
评论
撤销组特权(例如):sudo setfacl -d -m g :: --- / path
–markedwhite
17年1月26日在8:53
仅仅是在输入答案中两次指定setfacl -R -m g :: rwx /
– Shane Rowatt
17年9月2日在11:05
#3 楼
将您自己/登录的用户添加到www-data组,这样我们就可以处理由www-data服务器创建的文件sudo usermod -a -G www-data $USER
需要重新启动/重新登录,因此新添加的组会生效
cd /var/www
将用户名替换为USER
根据需要设置读取,写入,执行权限,(ugo)u = user,g = group,o = others
sudo chown -R $USER:www-data html
设置html的GID,现在,在html中新建的文件将继承所有权权限:
sudo chmod 750 html
这将为html目录和子目录中的新创建的文件/目录创建默认规则。
sudo chmod g+s html
如果安装了SELinux,则忽略www-data上下文要求,以便允许写入权限
sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
列出目录以查看应用的新权限
sudo setsebool -P httpd_unified 1
返回此
ls -ld html
后缀+表示目录中设置了ACL(访问控制列表)。
参考:链接到论坛
#4 楼
使用以下命令可以设置文件的默认权限:chacl -R filename
评论
这与其他答案有何不同?并举一些例子
–罗密欧·尼诺夫(Romeo Ninov)
17年7月13日在9:21
您确定这就是它的作用吗? linux.die.net/man/1/chacl表示它将删除ACL。
– Jeff Schaller♦
17年7月13日在10:26
评论
不是由用户创建新文件/文件夹及其umask来控制的吗?umask确实与权限有关,但我不认为它会设置默认用户(不是他/她自己)来做任何事情。
什么操作系统?需要标签。 setfacl和默认ACL在AIX上不存在。