- Linux系统特殊权限
- set_uid
- set_gid
- sticky粘滞位
- 权限属性chattr
- 进程掩码umask
- 特殊权限练习题
一、Linux系统特殊权限
1、suid以文件的所属用户身份执行命令, 而不是以当前用户的身份执行命令
-rwsr-xr-x. 1 root root 54080 Nov 5 2016 /usr/bin/cat
suid
root用户执行,最终运行的身份是root
bgx用户执行,最终运行的身份是root
2、目录设置为sgid后续如果在该目录下创建文件, 都将与该目录的所属组保持一致
drwxr-srwx. 2 root devops 29 Jun 14 21:01 /opt/
- bgx用户登陆后, 在/opt/目录创建文件或者目录属主和属组是
- 最终属主和属组 bgx devops
- xlw用户登陆后, 在/opt/目录创建文件或者目录属主和属组是
2. 最终属主和属组 xlw devops - root用户登陆后, 在/opt/目录创建文件或者目录属主和属组是
3. 最终属主和属组 root devops
3、sticky任何人都可以在该目录下创建文件以及目录, 但只能删除自己创建的文件和目录
drwxrwxrwt. 7 root root 93 Jun 14 21:47 /tmp/
4、如何设置特殊权限
- 用符号表示: setuid=u+s; setgid=g+s; sticky=o+t
- 用数值表示: setuid=4; setgid=2; sticky=1
1.set_uid
文件的执行有效身份为文件的拥有者,而不是执行者的身份
演示:
检查passwd文件权限,匿名用户没有权限查看
[root@liza ~]# chmod 640 /etc/passwd
[root@liza ~]# ll /etc/passwd
-rw-r-----. 1 root root 2059 Jan 3 22:59 /etc/passwd
使用普通用户无法查看
[root@liza ~]# su - liza
Last login: Tue