一.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才能對其進行修改和刪除,其他用戶則不行,避免了上面所說的問題產生。