查看系统分区df,查看、设置、修改、删除ACL权限

df

[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda5 16G 1.4G 15G 9% /
devtmpfs 479M 0 479M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda2 2.0G 33M 2.0G 2% /home
/dev/sda1 197M 114M 83M 58% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 4.1G 4.1G 0 100% /mnt/cdrom

查看是否支持ACL:dumpe2fs -h /dev/sda5

临时开启分区ACL权限:mount -o remount,acl /

永久修改:在/etc/fstab文件中加入acl,见红字:  UUID=70dade4c-e85f-4592-a133-26f1fb359801 /                       xfs     defaults,acl        0 0

重新挂载文件系统:mount -o remount /


制作演示相关用户组文件:

[root@localhost ~]# mkdir project
[root@localhost ~]# ls
project
[root@localhost ~]# ll -d project/
drwxr-xr-x. 2 root root 6 8月 5 19:22 project/
[root@localhost ~]# groupadd testgroup
[root@localhost ~]# gpasswd -a xiongjiawei testgroup
正在将用户“xiongjiawei”加入到“testgroup”组中
[root@localhost ~]# gpasswd -a qiaofeng testgroup
正在将用户“qiaofeng”加入到“testgroup”组中
[root@localhost ~]# grep testgroup /etc/group
testgroup:x:1003:xiongjiawei,qiaofeng
[root@localhost ~]# chown root:testgroup /root/project
[root@localhost ~]# chmod 770 /root/project
[root@localhost ~]# ll -d /root/project/
drwxrwx---. 2 root testgroup 6 8月 5 19:22 /root/project/
[root@localhost ~]# useradd st
[root@localhost ~]# passwd st
更改用户 st 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# setfacl -m u:st:rx /root/project
[root@localhost ~]# ll -d /root/project/
drwxrwx---+ 2 root testgroup 6 8月 5 19:22 /root/project/
[root@localhost ~]# getfacl /root/project/
getfacl: Removing leading '/' from absolute path names
# file: root/project/
# owner: root
# group: testgroup
user::rwx
user:st:r-x
group::rwx
mask::rwx
other::---
[root@localhost ~]# su - st
上一次登录:六 8月 5 19:34:07 CST 2017pts/0 上
[st@localhost ~]$ cd /root/project/
[st@localhost project]$ ls
[st@localhost project]$ touch file
touch: 无法创建"file": 权限不够
[st@localhost project]$
[root@localhost ~]# su - yangguo
[yangguo@localhost ~]$ cd /root/project
-bash: cd: /root/project: 权限不够

setfacl -m g:组名:rwx 文件或目录名

查看、更改最大ACL权限:

[root@localhost ~]# setfacl -m m:rx /root/project/
[root@localhost ~]# getfacl /root/project/
getfacl: Removing leading '/' from absolute path names
# file: root/project/
# owner: root
# group: testgroup
user::rwx
user:st:r-x
group::rwx #effective:r-x
mask::r-x 注:mask即为最大有效权限,实际赋值权限要和mask相与后得到的权限才是最终有效权限
other::---

删除ACL权限:

setfacl -x u:用户名 文件名  :删除文件下指定用户的ACL权限

setfacl -x g:组名 文件名  :删除文件下指定组的ACL权限

setfacl -b 文件名  :删除整个文件下所有ACL权限

递归ACL权限:setfacl -m u:用户名:权限 -R 目录   注:只对目录中已有文件有效,后建文件无效

默认ACL权限:setfacl -m d:u:用户名:权限 目录  注:只对目录后建文件有效,已有文件无效

上一篇:This configuration file was broken by system-config-keyboard


下一篇:【权限设计】一个案例,三个角色,简单说下B端产品的权限设计