首页 > 代码库 > Linux中的文件特殊权限

Linux中的文件特殊权限

一.setuid: 以reboot为例

u+s

[rhce01@demo ~]$ reboot

reboot: must be superuser

[rhce01@demo ~]$ 

[rhce01@demo ~]$ exit

[root@demo aaa]# 

[root@demo aaa]# which reboot

/sbin/reboot

[root@demo aaa]# 

[root@demo aaa]# ll /sbin/reboot 

-rwxr-xr-x. 1 root root 14832 Mar 20  2012 /sbin/reboot

[root@demo aaa]# 

[root@demo aaa]# chmod u+s /sbin/reboot

[root@demo aaa]# 

[root@demo aaa]# ll /sbin/reboot 

-rwsr-xr-x. 1 root root 14832 Mar 20  2012 /sbin/reboot

[root@demo aaa]# 

[root@demo aaa]# su - rhce01

[rhce01@demo ~]$ 

[rhce01@demo ~]$ reboot

以rhce01普通用户取得了root权限,$下重启成功。


二.setgid

g+s

[root@demo ~]# ll -d /bbb

drwxrwxrwx. 2 root our 4096 Jun 21 12:09 /bbb

[root@demo ~]# 

[root@demo ~]# chmod g+s /bbb

[root@demo ~]# 

[root@demo ~]# ll -d /bbb

drwxrwsrwx. 2 root our 4096 Jun 21 12:09 /bbb

[root@demo ~]# 

[root@demo ~]# touch /bbb/4.txt

[root@demo ~]# 

[root@demo ~]# ll /bbb/4.txt

-rw-r--r--. 1 root our 0 Jun 21 12:11 /bbb/4.txt

[root@demo ~]# 

[root@demo ~]# su - c

[c@demo ~]$ 

[c@demo ~]$ touch /bbb/5.txt

[c@demo ~]$ 

[c@demo ~]$ ll /bbb/5.txt

-rw-rw-r--. 1 c our 0 Jun 21 12:11 /bbb/5.txt

当g+s时,无论谁创建的文件或文件夹都得到这个文件夹的组id属性。


三.stick bit

o+t

        看个实例,查看你的/tmp目录的权限

[root@MyLinux ~]# ls -dl /tmp
drwxrwxrwt 6 root root 4096 08-22 11:37 /tmp

stick bit (粘贴位)就是:除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录

也就是说,在/tmp目录中,只有文件的拥有者和root才能对其进行修改和删除,其他用户则不行,避免了上面所说的问题产生。