SUID:Set UID 设置使文件在执行阶段具有文件所有者的权限,典型的文件是/etc/passwd.
如果一般用户执行该文件,则在执行过程中,该文件可以获得root权限,从而
可以更改用户密码。
chmod u+s /root a.txt(为a.txt设置s为)
如果a.txt原来没有执行权限,则添加上的s会是小写,如果原来有执行权限,则会是大写
SGID:Set GID 该权限只对目录有效。目录被设置该位后,任何用户在此目录下创建的文件都
具有和该目录所属的组相同的组。
STICKY:
ll -d /tmp (/tmp的权限是777,就是公共场所,谁都可以新建和删除,加了在othet用户上置t
位之后,就谁都可以建,但是只能删自己的,不能删别人的.加在o位置上表示出了属主外的所有
用户都只能建,不能删,注意此处的o跟我们平常理解的o不同,平常的o是除了属主和属组。)
例:chmod o+t /project/
SUID,SGID,STICKY 组合使用
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
如果原来一个目录/tmp/test是755,如果想让他有SUID,SGID位,则chmod 6755 /tmp/test即可
ACL
全称 Access Control List ,即文件/目录的访问控制列表,可以针对任意指定的用户/组分配 rwx
权限。ACL 将用户对一个文件访问权限就像是放在了一个列表里,列表的每一项分别对应了一个或一组
具体用户对该文件的特定访问权限。这就使任意的访问权限管理成为了可能。
acl:扩展属性
acl:Access Control List(访问控制列表)
getfacl filename查看文件的访问控制列表
setfacl 新建,删除访问控制列表
setfacl [options] id:operand
setfacl -m u:UID:PERM
例:setfacl -m u:centos:rw gentoo.c (对centos用户设定具有对gentoo.c具有读写权限)
getfacl gentoo.c(查看该文件的acl)
setfacl -m g:UID:PERM 设定某个组的某个用户的acl权限
setfacl -x u:centos(撤销centos用户的acl权限)
id centos (查看用户的id信息)
选项:-m 设置
-x 撤销
-b 删除所有acl
-d 默认acl (只能设置在目录上,目录下的文件可以自动继承)
setfacl -m m::rw- l.c (设置掩码权限)
setfacl -m u:centos:rwx 1.c
结果1.c的权限是rw而不是rwx,比rw少可以,比rw多就不行
阅读(1470) | 评论(0) | 转发(0) |