文件的特殊权限:suid sgid sticky
1、SUID(set uid设置用户ID):限定:只能设置在二进制可执行程序上面。对目录设置无效
功能:程序运行时的权限从执行者变更成程序所有者的权限
2、SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会,继承上级目录的所属组
3、Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位
这3个特殊权限对应的数值为
SUID | SGID | Stickybit |
u+s或u=4 | g+s或g=2 | o+t或o=1 |
SUID例子
例:SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。
[root@xuegod63 ~]# ll /usr/bin/passwd #passwd命令有suid权限
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
互动: 普通用户mk,没有对shadow文件写入的权限, 但是mk用户使用passwd修改自己密码时,可以修改shadow文件中的内容,这是什么原因?
[root@xuegod63 ~]# ll /etc/shadow ----------. 1 root root 1179 9月 19 2017 /etc/shadow [root@xuegod63 ~]# su - mk 上一次登录:二 5月 8 21:07:24 CST 2018pts/0 上 [mk@xuegod63 ~]$ passwd 更改用户 mk 的密码 。 为 mk 更改 STRESS 密码。 (当前)UNIX 密码:123456 新的 密码:Xuegod*666 重新输入新的 密码:Xuegod*666 passwd:所有的身份验证令牌已经成功更新。 [root@xuegod63 ~]# vim /etc/shadow #查看shadow文件已经被mk用户修改成功。 因为mk用户执行passwd命令时,权限会提升成root用户,所以可以修改成功。 |
例2:
创建一个用户 [root@xuegod63 ~]# useradd mk 切换到新建的用户,使用less无法查看/etc/shadow的内容 [root@xuegod63 ~]# su - mk $less /etc/shadow #看不到内容 切换到root,设置suid [root@xuegod63 ~]# su - root [root@xuegod63 ~]# chmod u+s /usr/bin/less #切换到root,给一个suid权限 再次切换到新建的MK用户 [root@xuegod63 ~]# su - mk [mk@xuegod63 ~]$ less /etc/shadow #看到 查看u+s后的效果: [root@xuegod63 ~]# ll /usr/bin/less -rwsr-xr-x 1 root root 154536 Sep 26 2011 /usr/bin/less [root@xuegod63 ~]# ps -axu | grep less root 43407 0.0 0.0 110260 980 pts/0 S+ 22:30 0:00 less /etc/shadow 另外: [root@xuegod63 ~]# chmod 4755 /usr/bin/less # 等同于 chmod u+s /usr/bin/less |
SGID例子
SGID:
限定:既可以给二进制可执行程序设置,也可以给目录设置。
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的权限。
建立一个目录,查看权限 [root@xuegod63 ~]# mkdir test [root@xuegod63 ~]# ll -d test drwxr-xr-x 2 root root 4096 Jan 24 20:14 test 在创建的目录添加SGID [root@xuegod63 ~]# chmod g+s test [root@xuegod63 ~]# !ll ll -d test drwxr-sr-x 2 root root 4096 Jan 24 20:14 test 测试:sgid效果,修改属组为bin [root@xuegod63 ~]# chown :bin test/ 以root 身份在创建的目录下创建文件,发现属组不是root ,而是该目录的属组的bin [root@xuegod63 ~]# touch test/a.txt [root@xuegod63 ~]# ll !$ ll test/a.txt -rw-r--r-- 1 root bin 0 Jan 24 20:15 test/a.txt |
Stickybit
Stickybit
限定:只作用于目录
功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。
例: 系统中的tmp目录就是这样
[root@xuegod63 ~]# ll -d /tmp/
drwxrwxrwt. 11 root root 4096 Jan 24 19:41 /tmp/
用法:
chmod o+t /tmp/test/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31485142/viewspace-2154216/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31485142/viewspace-2154216/