赞
踩
1)ACL权限简介——解决用户身份(ugo)不够用的情况
关于ACL权限详解可参考http://c.biancheng.net/view/3120.html,这篇文章基本详细解释了。
2)查看分区ACL权限是否开启
dumppe2fs -h /dev/sda3
-h ——仅仅显示超级块儿中的信息,而不显示磁盘组块的详细信息
3)临时开启分区ACL权限
mount -o remount,acl/
4)永久修改ACL权限
vi /etc/fstab
#加入ACL(,acl)
mount -o remount
#重新挂载文件系统或者重启系统,使得修改生效
1)查看ACL权限
getfacl
文件名
2)设定ACL权限
setfacl [选项] 文件名
-m 设定ACL权限
-x 删除指定的ACL权限
-b 删除所有的ACL权限
-d 设定默认ACL权限
-k 删除默认ACL权限
-R 递归设定ACL权限
3)给用户组设定ACL权限
groupadd tgroup2
setfacl -m g:tgroup:rwx /project
1)最大有效权限mask
mask是用来指定最大有效权限的,如果给用户赋予了ACL权限,是需要和mask权限相与才能得到该用户的真正权限
2)删除ACL权限
setfacl -x u:用户名 文件名
#删除指定用户权限
setfacl -b 文件名
#删除全部ACL用户权限
1)递归ACL权限
设定子目录和父目录的ACL权限相同
setfacl -m u:用户名:权限 -R 文件名
2)默认ACL权限
给父目录设定默认ACL权限,父目录中所有新建的子文件都会继承父目录的ACL权限
setfacl -m d:u:用户名:权限 文件名
1)SUID简介:
passwd 命令拥有SetUID权限,所以普通用户可以修改自己的密码
ll /usr/bin/passswd
cat命令没有SetUID权限,所以普通用户不能够查看/etc/shadow文件中的内容
2)设定SUID方法:(注意用户要有x权限,不然在权限中显示S而非s来报错)
4代表SUID
chmod 4755 文件名
chmod u+s 文件名
3)取消SUID方法
chmod 755 文件名
chmod u-s 文件名
4)危险的SetUID
1)SetGID针对文件的作用:
ll /usr/bin/locate
ll /var/lib/mlocate/mlocate.db
/usr/bin/local 是可执行二进制文件,可以赋予SCID
执行用户对/usr/bin/locate命令拥有执行权限
执行/usr/bin/locate 命令时,组身份会升级为slocate组,而slocate组对/car/lib/mlocate/mlocate.db数据库拥有r权限,所以普通用户可以使用locate命令,查询mlocate.db数据库
Sticky BIT,简称 SBIT 特殊权限,可意为粘着位、粘滞位、防删除位等。
SBIT 权限仅对目录有效,一旦目录设定了 SBIT 权限,则用户在此目录下创建的文件或目录,就只有自己和 root 才有权利修改或删除该文件。
也就是说,当甲用户以目录所属组或其他人的身份进入 A 目录时,如果甲对该目录有 w 权限,则表示对于 A 目录中任何用户创建的文件或子目录,甲都可以进行修改甚至删除等操作。但是,如果 A 目录设定有 SBIT 权限,那就大不一样啦,甲用户只能操作自己创建的文件或目录,而无法修改甚至删除其他用户创建的文件或目录。
举个例子,Linux 系统中,存储临时文件的 /tmp 目录就设定有 SBIT 权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。