綠色資源網:您身邊(biān)最放心的(de)安(ān)全(quán)下載站! 最(zuì)新軟件|熱門排行|軟件分類|軟件專題|廠商大(dà)全

綠色(sè)資源(yuán)網

技術教程(chéng)
您的位置:首頁操(cāo)作係統linux → linux三(sān)個特(tè)殊權限(xiàn)setuid、setgid和(hé)stick bit詳解

linux三個(gè)特殊權限setuid、setgid和stick bit詳解(jiě)

我要評論 2013/05/07 13:38:33 來源:綠色資源網 編輯:www.itseasyglobal.com [ 中(zhōng) ] 評論:0 點擊:255次

今天一(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 加(jiā)油
  • 0 鄙(bǐ)視