Linux中权限控制ACL命令

很多小伙伴觉得,Linux的权限管理命令不就是chown和chmod命令吗,什么时候有了ACL了?

什么是ACL
ACL是访问控制列表(Access Control List)的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的部分细节权限设定。ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,设想场景:如果想让A用户访问只有B权限的用户目录,使用chmod或者chown非常麻烦,但对于这样特殊状况ACL就非常合适。

ACL的命令
setfacl命令是用来在命令行里设置ACL的,getfacl主要用来查看ACL的设置。

#setfacl主要参数
-m :设定后续的acl参数给档案使用,不可与-x合用;# mask:有效权限 -x :删除后续的acl参数,不可与-m合用; -b :移除『所有的』ACL设定参数; -k :移除『预设的』ACL参数,关于所谓的『预设』参数于后续范例中介绍; -R :递回设定ACL,亦即包括次目录都会被设定起来; -d :设定『预设ACL参数』的意思!只对目录有效,在该目录新建的资料会引用此预设值#为目录添加默认的ACL权限,此目录下创建目录和文件都会继承此权限信息!

实例说明
setfacl

#设定fsdeploy对webservice有rwx权限
setfacl -m u:fsdeploy:rwx /home/webservice

#设定fsdeploy对testdirectory目录下所有文件有RWX权限
setfacl -R -m u:fsdeploy:rwx /home/webservice

#去掉fsdeploy对webservice的x权限
setfacl -x u:fsdeploy /home/webservice   

#去掉所有ACL权限
setfacl -b

#为webservice目录添加默认的ACL权限,此目录下创建目录和文件,fsdeploy都有rwx权限
setfacl -d -m u:fsdeploy:rwx /home/webservice

getfacl

原文地址:https://www.cnblogs.com/zhouzhifei/p/11578763.html