linux三個(gè)特殊權限setuid、setgid和stick bit詳解(jiě)
今天一(yī)直在弄(nòng)Samba服務的配置,深深的感受到(dào)權限(xiàn)控製的困難,文件權限的機製是Linux係(xì)統中的一(yī)大(dà)特(tè)色(sè),除(chú)了我們現在所熟知(zhī)的讀(r)、寫(w)、執行(x)權限外(wài),還有三個比較特殊的權(quán)限,分別為(wéi):setuid、setgid和(hé)stick bit(粘滯(zhì)位)。
1、setuid與(yǔ)setgid講解
看一下係統中用(yòng)到它的地方,以/etc/passwd和/usr/bin/passwd為(wéi)例:
[plain] view plaincopy [root@Salve1 school]# ll /etc/passwd /usr/bin/passwd -rw-r--r-- 1 root root 2005 Apr 23 01:25 /etc/passwd -rwsr-xr-x 1 root root 23420 Aug 11 2010 /usr/bin/passwd [root@Salve1 school]#
分析一下(xià),/etc/passwd的(de)權限(xiàn)為 -rw-r--r-- 也就是說:該文件的所有者擁有讀寫的權(quán)限,而(ér)用戶組成(chéng)員和(hé)其它成員隻有查看(kàn)的權限。我們(men)知道,在係統中我(wǒ)們要修改一個用戶(hù)的(de)密(mì)碼,root用戶和普通用戶(hù)均可以用/usr/bin/passwd someuser這個(gè)命(mìng)令來修(xiū)改這個/etc/passwd這(zhè)個文(wén)件,root用(yòng)戶(hù)本身擁(yōng)有對/etc/passwd的寫權限,無可(kě)厚非;那(nà)普(pǔ)通用戶呢,這裏就用到了setuid,setuid的作用是“讓執行該命令的用戶以該命令擁有者的權限(xiàn)去執行”,就是普通(tōng)用戶執行passwd時會擁(yōng)有root的權限,這樣就可以(yǐ)修改/etc/passwd這個文件了。它的(de)標誌為:s,會(huì)出現(xiàn)在(zài)x的地方(fāng),例:-rwsr-xr-x 。而setgid的意思和它是一樣的,即讓執行文件的用戶以該文件所屬組的權限去執行。
2、stick bit(粘滯位)
看(kàn)一下係統中(zhōng)用到它的地方,以/tmp為例:
[plain] view plaincopy [root@Salve1 /]# ll -d /tmp drwxrwxrwt 13 root root 4096 Apr 23 02:06 /tmp [root@Salve1 /]#
我們知道/tmp是係統的(de)臨(lín)時文(wén)件目錄,所有的(de)用戶在該目錄(lù)下(xià)擁有(yǒu)所(suǒ)有的權限,也就是說(shuō)在該目錄下可(kě)以(yǐ)任(rèn)意創建(jiàn)、修改(gǎi)、刪(shān)除文件,那如果用戶A在該目錄下創建了一個(gè)文件(jiàn),用戶B將該(gāi)文件刪除了,這(zhè)種(zhǒng)情況我們是不能允許的。為了達到該目的,就出現了stick bit(粘滯位)的概念。它是針對目(mù)錄來說的,如果該目(mù)錄設置了stick bit(粘滯位),則該目錄下的文件除了該文(wén)件(jiàn)的創建者和root用戶可以刪除(chú)和修改/tmp目(mù)錄下(xià)的stuff,別的用戶均不能動別人的,這就是粘滯位的作用。
3、如何設置(zhì)上(shàng)述特殊權限(xiàn)
chmod u+s xxx # 設置setuid權限(xiàn) chmod g+s xxx # 設(shè)置setgid權限 chmod o+t xxx # 設置stick bit權限,針對目錄 chmod 4775 xxx # 設置setuid權限 chmod 2775 xxx # 設置setgid權限 chmod 1775 xxx # 設(shè)置stick bit權限,針對目錄
4、注意:有時你設置(zhì)了s或t 權限,你會發現(xiàn)它(tā)變成了S或T,這是(shì)因為(wéi)在那個位(wèi)置上(shàng)你沒有(yǒu)給它x(可(kě)執行)的權限,這樣(yàng)的話這樣的設置是不會有效(xiào)的,你可以(yǐ)先(xiān)給它賦上x的(de)權(quán)限,然後再(zài)給s或t 的權限。
關鍵(jiàn)詞:linux
閱讀本文(wén)後您有什麽感想? 已有 人(rén)給出評價!
- 0
- 0
- 0
- 0
- 0
- 0