查看分区ACL权限是否开启
centos 6 dumpe2fs -h /dev/sda1(是查看ext2/ext3/ext4 文件系统信息的命令)
centos 7 xfs_growfs /dev/sda1(是查看xfs 文件系统信息的命令)
dumpe2fs 命令是查询指定分区详细文件系统信息的命令选项:
-h 尽显示超级块中信息,而不显示磁盘块组的详细信息
df -h 查看当前有哪些分区
临时开启分区acl权限
重新挂载分区,并挂载加入acl权限mount -o remount,acl /
永久开启分区ACL权限
1. vi /etc/fstab
2. mount -o remount /
重新挂载文件系统或重启系统
查看ACL命令
getfacl 文件名
#查看acl权限
设定ACL权限的命令
setfacl 选项 文件名
-m 设定ACL权限
-x 删除指定的ACL权限
-b 删除所有的ACL权限
-d 设定默认ACL权限
-k 删除默认ACL权限
-R递归设定ACL权限
测试过程
添加用户 useradd st
添加组 groupadd tgroup
添加组 groupadd tgroup2
创建文件夹 mkdir /tmp/project
设置所有者,所属组 chown root:tgroup /tmp/project
设置权限 chmod 770 /tmp/project
给st用户赋予 rx权限 setfacl -m u:st:rx /tmp/project
给 tgroup2组赋予 rwx权限 setfacl -m g:tgroup2:rwx /tmp/project
查看基本权限 ll /tmp/project
查看acl权限 getfacl /tmp/project
最大有效acl权限mask
setfacl -m m:rx /tmp/project
删除acl权限
删除指定用户的acl权限 setfacl -x u:st /tmp/project
删除指定组的acl权限 setfacl -x g:tgroup2 /tmp/project
删除所有的acl权限 setfacl -b /tmp/project
递归acl权限
setfacl -m u:用户名:权限 -R 文件名
chattr 修改文件属性
选项
i :如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只运行在目录中建立和修改文件,但是不运行删除;
lsattr 查看文件属性
sudo 权限
root把本来只能超级用户执行的命令赋予普通用户执行。
sudo的操作对象是系统命令。
visudo 实际修改的是 /etc/sudoers 文件
root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
#%wheel ALL=(ALL) ALL
#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
范例:授权sc用户可以重启服务器
sc ALL=/sbin/shutdown -r now
切换到sc登录 su -sc
sudo -l #查看可用的sudo命令
sudo /sbin/shutdown -r now #普通用户执行sudo 赋予的命令