Linux具体权限规划之ACL(Access Control List)

14 篇文章 0 订阅

ACL机制涉及两条命令:setfaclgetfacl


ACL来源

owner,group,othre搭配的三种权限rwx中,没办法针对单一用户或者某个组。


ACL可以针对单一用户、单一文件或者目录进行rwx权限设置

用mount命令查看根目录挂载的分区好,再用dumpe2fs命令查看该分区的superblock内容确定是否支持acl,一般都支持的了。

jammgit@jammg:~$ sudo dumpe2fs -h /dev/sda12 | grep acl
dumpe2fs 1.42.12 (29-Aug-2014)
Default mount options:    user_xattr acl

也可以直接修改/etc/fstab文件,加上acl。


如果系统没加上acl支持,可以:

#mount -o remount,acl /

命令用法


setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名
-m 设置后续的acl参数给指定目标文件
-x  删除,和m选项相反
-b  删除所有acl参数
-k  删除默认的acl参数
-R  递归设置(针对子目录)
-d  设置默认acl参数,只对目录有效


setfacl 、getfacl格式

setfacl u:[用户列表]:[rwx] 目标   //针对用户。用户列表为空时是指文件持有者
setfacl g:[用户组列表]:[rwx] 目标   // 针对用户组
setfacl -m m:[rwx] 目标 // 设置文件mask
getfacl 目标


例子

jammgit@jammg:/tmp$ setfacl -m u:jammgit_1:rwx testacl
jammgit@jammg:/tmp$ ls -la | grep testacl
-rw-rwxr--+  1 jammgit jammgit    0  3月 30 18:40 testacl

jammgit@jammg:/tmp$ getfacl testacl
# file: testacl
# owner: jammgit
# group: jammgit
user::rw-             // 用户权限
user:jammgit_1:rwx      // acl机制针对jammgit_1设置的权限,优先级比ls查看到的大。
group::rw-       // 用户组权限
mask::rwx       // 屏蔽
other::r--    //其它权限

上面设置用户或用户组的权限必须存在雨mask权限范围才会生效,即有效权限(effective permission)。

例如,如果设置mask为r:

jammgit@jammg:/tmp$ setfacl -m m:r testacl
jammgit@jammg:/tmp$ getfacl testacl
# file: testacl
# owner: jammgit
# group: jammgit
user::rw-
user:jammgit_1:rwx        #effective:r--
group::rw-            #effective:r--
mask::r--
other::r--

此时,虽然设置了jammgit_1为rwx,但实际是只有r;另外,用户组也收到影响。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值