Linux-ACL权限介绍

ACL权限简介

如下图,对于无法使用ugo权限实现的控制,可以使用ACL(Access Control Lists)设置更加灵活的权限
在这里插入图片描述

分区ACL权限(默认开启,不需要特别关注)

查看分区ACL权限

dumppe2fs -h /dev/sda3

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

临时开启分区ACL权限,重启失效

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

永久开启分区ACL权限

# vi /etc/fstab # 修改根分区,加入acl支持,defaults中已经默认支持,此处只做演示。
/dev/mapper/centos-root /                       xfs     defaults,acl       0 0

# mount -o remount # 重新挂载文件系统或重启系统,使生效

ACL命令

查看ACL命令:getfacl

语法

getfacl [文件名]

范例

在这里插入图片描述

设置ACL权限命令:setfacl

语法

setfacl [选项] 文件名

选项介绍
选项介绍
-m设定ACL权限
-x删除指定的ACL权限
-b删除所有的ACL权限
-d设定默认ACL权限(针对目录,设定后,新加文件会为该权限)
-k删除默认ACL权限
-R递归设定ACL权限
范例
1.设置用户ACL权限

只针对已经存在的文件,新加文件不起作用
setfacl -m u:st:rx /project # 给用户st赋予r-x权限

2.设置组的ACL权限

setfacl -m g:tgroup2:rwx project/ # 为组tgroup2分配ACL权限。

3.设置最大有效值权限mask

设置的用户以及组的权限需要与mask的权限“相与”(AND),mask默认为rwx,相与后不变。
setfacl -m m:rwx 文件名 # 设置文件mask权限

4.删除指定用户的ACL权限

setfacl -x u:用户名 文件名

5.删除指定组的ACL权限

setfacl -x g:组名 文件名

6. 删除文件的所有ACL权限

setfacl -b 文件名

7. 递归设置ACL权限

setfacl -m u:用户名:权限: -R 目录
注:-R的位置是固定的

8.默认ACL权限

setfacl -m d:u:用户名:权限 -R 目录
注:只针对当前目录下新建的文件权限,与上一条命令互补

完整示例
useradd zhangsan 
useradd lisi
useradd st
groupadd tgroup
mkdir /project
chown root:tgroup /project  # 设置project目录的拥有者为root,所有组为tgroup
chmod 770 /project  # 设置/project目录的默认权限为rwxrwx---


----------------------------
setfacl -m u:st:rx /project # 给用户st赋予r-x权限
----------------------------


groupadd tgroup2

----------------------------
setfacl -m g:tgroup2:rwx project/ # 为组tgroup2分配ACL权限。
----------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值