首页 > 代码库 > 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才能对其进行修改和删除,其他用户则不行,避免了上面所说的问题产生。