ACL权限:
1.简介与开启:
查看分区ACL权限是否开启
dumpe2fs -h /dev/sda5
#dumpe2fs 命令是查询指定分区还详细文件系统信息的命令
选项:
-h:仅显示超级块中的信息,而不显示磁盘块组的详细信息
临时开启分区ACL权限:
mount -o remount,acl /
#重新挂载根分区, 并挂载加入ACL权限
永久开启分区ACL 权限
vi /etc/fstab
mount -o remount /
#重新挂载, 使修改生效
2.查看与设定
getfacl 文件名
#查看ACL权限
设定ACL权限的命令:
setfacl 选项 文件名
选项:
- -m:设定ACL权限
- -x:删除指定的ACL的权限
- -b:删除所有的ACL权限
- -d:设定默认的ACL权限
- -k:删除默认的ACL权限
- -R:递归设定的ACL权限
setfacl -m n:lw
/av给用户组设定ACL 权限:
groupadd tgroup2
setfacl -m g:tgroup2
/av最大有限权限和删除ACL 权限
最大有线权限:mask, 用户权限与mask 相“与”得到的才是用户权限
修改最大有效权限:
setfacl -m m
文件名删除ACL 权限:
setfacl -x u:用户名 文件名
#删除文件的所有ACL权限
默认权限和递归权限
setfacl -m u:lw:rx -R /home/av
#导致目录和里面的文件都有了rx属性, 危险!
#权限溢出
setfacl -m u:用户名:权限 -R 文件名
#递归仅能针对目录
默认ACL权限:如果给父目录设定了ACL权限, 那么父目录中所有新建的子文件都会继承父目录的ACL权限
setfacl -m d:n:用户名:权限 文件名
sudo权限 绝对路径
1.root 吧本来只能超级用户执行的命令赋予普通用户执行
2.sudo的操作对象是系统命令
visudo
#实际修改的是/etc/sudoesrs 文件
root ALL=(ALL) ALL
#用户名 被管理主机的地址(可使用的身份)授权命令(绝对路径)
#%loheel ALL=(ALL) ALL
#%组名 被管理主机的地址=(可使用的身份)授权命令(绝对路径)
visudo
user1 ALL=(ALL) /sbin/shutdown/ -r now
$sudo /sbin/shutdown/ -r down
sudo -l
授权普通用户可以添加其他用户:
whereis useradd
user1 ALL=/usr/sbin/passwd
cat passwd
user1 ALL=/usr/bin/passwd
user1 ALL-/usr/bin/passwd [A-Za-z]*,
!/usr/bin/passwd "", !/usr/bin/passwd root
/etc/shadow 保存密码的地方