-
sudo权限
root把本来只能超级用户执行的命令赋予普通用户执行;
sudo的操作对象是系统命令;其他文件权限的操作对象是文件。
sudo使用
visudo #实际修改的是/etc/sudoers文件;
root ALL=(ALL) ALL # root 第一个代表我要给哪个用户赋予权限
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
man 5 sudoers #配置文件的详细说明
举例
su - 用户名 #切换用户命令
visodu #最后面加上user1 ALL=(ALL) /sbin/shutdown -r now
sudo -l #普通用户查看被授权的sudo命令
sudo /sbin/shutdon -r now #普通用户执行sudo赋予的命令
visudo #比如说用户user1执行关机命令 在最后一句加上user1 ALL=(ALL) /sbin/shutdown -r now 注意:赋予权限越详细,权限越小,描述越简单,权限越大;
sudo -l
sudo /sbin/shutdon -r now #sudo /sbin/shutdon -h now不能被执行 没有赋予权限
查看全部 -
cd av/
touch cangls
touch bols
setfacl -m u:lw:rx av/
setfacl -m u:lw:rx -R /home/av/ #使用递归设定ACL权限,会产生权限溢出,即/av目录下的文件canls、bols都会有rx权限 而我不希望文件有执行权限 能使用基本权限就使用基本权限
递归ACL权限
指在给父目录赋予ACL权限的同时,对已经建立的所有子文件和子目录也会有被赋予和父目录相同的权限
setfacl -m u:用户名:权限 -R 目录名 #这里R表示递归
注意: a.用递归的方式容易导致文件权限溢出 b.递归acl只能用在目录而不能用于普通文件
默认ACL 权限
默认ACL 权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限
setfacl -m d:u:用户名:权限 目录名 #这里d 表示default
查看全部 -
最大有效权限mask(使用命令getfacl 文件名显示的结果中倒数第二排会出现mask这个词)
mask是用来指定最大有效权限的。如果我给用户赋予了acl权限,是需要和mask的权限“进行逻辑与运算”才能得到用户的真正权限。相与是计算机中的术语,皆真方为真,有假便为假。与运算符 相同为其本身,不同为-
修改最大有效权限
setfacl -m m:rx 文件 #设定mask权限为r-x。使用"m:权限"格式
删除acl权限的命令
setfacl -x u:用户名 文件 # 删除指定用户的ACL权限
setfacl -x g:组名 文件 #删除指定用户组的ACL权限
setfacl -m u:Tony:rx av
getfacl av
setfacl -x u:lw av
getfacl av
setfacl -b 文件 #删除所有的acl权限
查看全部 -
查看ACL命令
getfacl 文件名 #查看acl权限;
setfacl 选项 文件名 #设定ACL权限的命令;
选项:
-m #设定ACL权限;
-x #删除指定的ACL权限;
-b #删除所有的ACL权限;
-d #设定默认ACL权限;
-k #删除默认ACL权限;
-R #递归设定ACL权限; 为用户设定ACL权限
准备工作
mkdir av
useradd Tony
groupadd stu
chown Tony:stu av #所有者Tony 所属组stu
chmod 770 av
useradd lw
passwd lw
mv av /home/
setfacl -m u:lw:rx av #用户权限要加u 使用"u:用户名:权限"格式 用户组权限加g 使用"g:组名:权限"格式
getfacl av
setfacl -m u:用户名:权限(rwx) 文件名
为用户组设定ACL权限 setfacl -m g:组名:权限(rwx) 文件名
查看全部 -
文件就三个权限
所有者权限,组权限,其他权限。有时候不够用,这时候就需要ACL权限 用来解决用户身份不够的问题
查看分区ACL权限是否开启
dumpe2fs -h /dev/sda5 #dumpe2fs命令查询指定分区详细文件系统信息的命令
选项:-h #仅显示超级块中信息,而不显示磁盘块的详细信息
文件信息: Default mount options: user_xattr acl 那就说明分区是支持acl的
mount -o remount,acl / #临时开启分区ACL权限,重新挂载根分区,并挂载加入acl权限
vi /etc/fstab #永久开启分区ACL权限UUID=c2ca6f57-b15c-43ea=bca0-f239083d8bd2 / ext4 defaults,acl 1(#启动是否需要检测) 1(#启动是否需要备份) #加入acl
mount -o remount / #重新挂载文件系统或重启系统,使修改生效
查看全部 -
永久开启 acl
查看全部 -
sudo命令
查看全部 -
默认ACL权限查看全部
-
递归ACL权限,会导致文件权限溢出,谨慎使用ACL权限
查看全部 -
删除全部ACL权限查看全部
-
删除ACL权限
查看全部 -
最大有效权限mask
查看全部 -
修改最大有效权限,权限前面的m表示最大有效权限mask查看全部
-
设定ACL权限,
setfacl -m u:lw:rx test
serfacl 选项 (u)用户:(lw)用户名:(rx)权限 文件名
查看全部 -
查看ACL命令
查看全部
举报