Linux 基础7 ACL权限

查看acl权限是否开启

dumpe2fs -h /dev/sda3 

dumpe2fs 是查询指定分区详细文件系统信息的命令

-h 仅显示超级快中的信息而不显示磁盘块组的详细信息

即要查询文件所在的分区是否支持ACL权限

Default mount options:    user_xattr acl
可见此分区默认支持acl权限

临时开启分区ACL权限

mount -o remount, acl  /    重新挂在根分区,并挂在加入acl权限

永久开启分区acl权限

UUID=968cae7b-e677-4df1-bdf0-341de3d244dd  /                       ext4    defaults,acl        1 1

mount -o remount /

重新挂载文件系统或重启系统,修改即可生效

查看acl权限的命令

getfacl 文件名    查看文件的acl权限

 

设定acl权限的命令

setfacl 选项 文件名

-m 设定acl权限

-x 删除指定的acl权限

-b 删除所有的acl权限

-d 设定默认的acl权限

-k 删除默认的acl权限

-R 递归设置acl权限

useradd Test1

useradd Test2

groupadd tgroup

gpasswd -a Test1 tgroup

usermod -G tgroup Test2

ll -d /project/

drwxr-xr-x 2 root root 4096 Mar 31 22:06 /project/

 chown root:tgroup /project/

ll -d /project/

drwxr-xr-x 2 root tgroup 4096 Mar 31 22:06 /project/

chmod 770 project

useradd st 添加特殊用户

setfacl -m u:st:rx /project

给用户st赋予r-x权限,"u:用户名:权限" 

getfacl /project/

# file: project/
# owner: root
# group: tgroup
user::rwx
user:st:r-x
group::rwx
mask::rwx
other::---

groupadd tgroup2

setfacl -m g:tgroup2:rwx /project/

getfacl /project

# file: project
# owner: root
# group: tgroup
user::rwx
user:st:r-x
group::rwx
group:tgroup2:rwx
mask::rwx
other::---

 

关于最大有效权限mask参数

如果我们给用户赋予了ACL权限,实际权限值需要和mask设置的权限值相与,

才能得到用户真正的权限。 mask 对acl用户和用户组,还有普通组生效

setfacl -m m:rx /project

getfacl /project

# file: project
# owner: root
# group: tgroup
user::rwx
user:st:r-x
group::rwx                      #effective:r-x
group:tgroup2:rwx               #effective:r-x
mask::r-x
other::---

删除acl权限

setfacl -x u:用户名 文件名

删除指定用户的acl权限

setfacl -x g:组名 文件名

删除指定用户组的acl权限

setfacl -b 文件名

删除文件的所有acl权限

setfacl -x g:tgroup2 /project

getfacl /project

# file: project
# owner: root
# group: tgroup
user::rwx
user:st:r-x
group::rwx
mask::rwx
other::---

setfacl -b /project/

getfacl /project/

# file: project/
# owner: root
# group: tgroup
user::rwx
group::rwx
other::---

 

递归acl权限

递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的acl权限

setfacl -m u:用户名:权限 -R 文件名

setfacl -m u:st:rx -R /project/

但是递归是对当前已经存在的文件生效,如果后续目录中新添加文件,就不会按照acl权限的设定去生效

由此引出了默认acl权限,被设置默认权限的acl目录,后续新建的文件都是有acl权限的文件。

setfacl -m d:u:用户名:权限名 文件名

d 就是default的意思

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值