高级权限的类型

suid 4

sgid 2

sticky 1

其实呢,对于设置权限来说,我们之前提到的777是不完全的,他真正的权限应该是0777

而第一位的0就是这里所说的高级权限

==示例1==

suid权限【普通用户可以通过suid提升一定的权力】

[root@w_hat ~]# chmod u+s /usr/bin/cat

[root@w_hat ~]# ll /root/file1.txt

-rw-r–r–. 1 root root 0 Aug 4 16:13 /root/file1.txt

[sfj1@w_hat ~]$ cat /root/file1.txt

可以发现,起初我们发现的问题解决了,可以通过cat命令看到/root/file1.txt的内容

这就是suid的作用:普通用户使用具有suid权限的命令,会获得此权限所有者的身份,换句话说等同于所有者在运行这条命令

==示例2==

sgid权限【新建文件继承目录的属组—-sgid权限只针对目录】

[root@w_hat ~]# mkdir /home/hr

[root@w_hat ~]# chgrp hr /home/hr/

[root@w_hat ~]# chmod g+s /home/hr

[root@w_hat ~]# ll -d /home/hr/

drwxr-sr-x. 2 root hr 4096 Dec 5 16:03 /home/hr/

[root@w_hat ~]# touch /home/hr/file9

[root@w_hat ~]# ll /home/hr/

-rw-r–r–. 1 root hr 0 Dec 5 16:03 file9

可以发现新建的文件继承了目录的属组,而不是root组

==示例3==

sticky权限【用户只能删除自己的文件—–该权限只针对目录】

[root@w_hat ~]# mkdir /home/dir1

[root@w_hat ~]# chmod 777 /home/dir1

user1在/home/dir1建立文件, user2尝试删除!

[root@w_hat ~]# chmod o+t /home/dir1

[root@w_hat ~]# ll -d /home/dir1

rwxrwxrwt 2 root root 4096 09-02 02:26 /home/dir1

谁可以删除:

root

文件的所有者

目录的所有者