1.ACL权限
1.1 ACL权限简介与开启
xfs文件系统强制开启ACL,如果该分区已格式化为xfs,在使用dumpe2fs会看不到superblocks信息
1.1.1查看分区ACL权限是否开启
dumpe2fs -h 分区路径#dumpe2fs 命令是查询指定分区详细文件系统信息的命令(适合ext4文件系统)#xfs文件系统强制开启ACL,如果该分区已格式化为xfs,在使用dumpe2fs会看不到superblocks信息
选项:
-h:仅显示超级块中信息,而不显示磁盘块组的详细信息
1.1.2临时开启分区ACL权限
mount -o remount,acl /
#重新挂载根分区,并挂载加入ACL权限(适合ext4文件)
此命令的临时生效,如重启系统就失去的作用
1.1.3 永久开启分区ACl权限
vi /etc/fstab
#UUID=bac31b96-20da-4d4f-bed9-84c0114cd7d0 / xfs defaults,acl 0 0
#加入acl
mount -o remount /
#重新挂载文件系统或重启系统,使修改生效
1.2 查看与设定ACL权限
1.2.1 查看ACl命令
getfacle 文件名
#查看acl权限
1.2.2 设定ACL权限命令
setfacl 选项 ug:组或人:权限 文件名
#u:ACL用户
#g:ACL组
选项:
-m:设定ACL权限
-x: 删除指定的ACL权限
-b: 删除所有的ACL权限
-d: 设定默认ACL权限
-k: 删除默认ACL权限
-R: 递归设定ACL权限
1.3 最大有效权限与删除ACL权限
1.3.1最大有效权限mask
mask 是用来指定最大有效权限的。如果我给用户赋予了ACL权限,是需要和mask的权限“相与”才能得到用户的真正权限
1.3.2 修改mask权限
setfacl 选项 m:权限 文件名
#修改mask权限
1.3.3 删除ACl权限
setfacl -x ug:用户名 文件名
#删除指定用户或组的ACL权限
setfacl -b 文件名
#删除文件的所有的ACL权限
1.4 默认ACL权限和递归ACL权限
1.4.1 递归ACL权限
递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限
setfacl -m ug:用户名或组名:权限 -R 文件名(目录也是文件这里只指目录)
1.4.2 默认ACL权限
默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限
setfacl -m d:ug:用户名或组名:权限 文件名(目录也是文件这里只指目录)
1.4.3 默认和递归的区别
2.文件特殊权限
2.1 SetUID
2.1.1 setUID的功能



2.1.2 设定SetUID的方法
4代表SUID
chmod 4755 文件名
chmod u+s 文件名 (必须要满足SUID的基础以上四个)
2.1.3 取消SUID的方法
chmod 755 文件名
chmod u-s 文件名 (必须要满足SUID的基础以上四个)

2.1.4 危险的SUID
2.2 SetGID
2.2.1 SGID 针对文件的作用(与SUID相似)
2.2.2 SGID 针对目录的作用
2.2.3 设定SGID
chmod 2755 文件名
chmod g+s 文件名
2.3 Sticky BIT
2.3.1 SBIT粘着位的作用
2.3.2 设置和取消粘着位
chmod 1755 目录名
chmod 0+t 目录名
chmod 777 目录名
chmod o-t 目录名
3.文件系统属性chattr权限
3.1 chattr 命令格式(可以限制root权限)
限制对系统的误操作
chattr [+-=] [选项] 文件或目录名
3.2 查看文件系统属性
lsattr 选项 文件名
选项:
-a 显示所有的文件和目录
-d 若目标是目录,仅列出目录本身的属性而不是子文件
4.系统命令sudo权限
4.1 sudo权限
root 把本来只能超级用户执行的命令赋予普通用户执行
sudo 的操作对象是系统命令
4.2sudo使用
root用户给普通用户的超级命令
visudo
#实际修改的是/etc/sudoers 文件
root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
#%wheel ALL=(ALL) ALL
#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
普通用户接受root赋予的命令
sudo -l
#查看root赋予的命令
sudo 命令
#普通用户使用的方法

