linux setfacl chmod g+s 修改文件夹和文件的默认访问权限和所属组
我们在创建一个文件夹或者一个文件的时候,希望集成父文件夹的访问权限和组
修改默认访问权限 setfacl 以及 修改默认组 chmod g+s
setfacl -d -m g:dev:rwx [folder_name] //修改[folder_name]的默认组访问权限
setfacl -d -m o::rwx [folder_name] //修改[folder_name]的默认other访问权限
setfacl -d -m u::rwx [folder_name] //修改[foler_name]的默认user访问权限
chmod g+s [foder_name] //修改子文件夹和文件的默认组
setfacl的全称是 set file access control list
在/目录下运行 ls -l
可以看到git文件夹的权限后面有个+号,代表它有隐藏的默认属性,我们使用getfacl看看+都有什么
在上面的图可以看到git文件夹比home多了一部分default:,这些就是+的属性,也就是在git文件夹里面mkdir创建的文件夹和文件都会默认集成这个访问权限。
现在我们希望给一个文件夹添加一些默认访问权限,我们先建一个测试文件夹,假设名字为git_test
还得修改一下权限和所属组
在还没有修改ACL之前,看看在git_test文件夹中创建文件夹来看看权限如何
我们修改ACL然后再创建文件夹看看
可以看到权限是集成过来了,但是没有继承父文件夹的所在组(绿框),git_test的所在组是dev,下面我们git_test的权限的一位
下面用chmod g+s 来修改默认组
可以看到绿框中的x变成了s,注意git_test所在组是dev,接下来再进入git_test创建一个文件夹看看
下面是另外一个参考例子
到此结束!!!