綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁操作系統(tǒng)linux → linux三個(gè)特殊權(quán)限setuid、setgid和stick bit詳解

linux三個(gè)特殊權(quán)限setuid、setgid和stick bit詳解

我要評論 2013/05/07 13:38:33 來源:綠色資源網(wǎng) 編輯:sonlywya.cn [ ] 評論:0 點(diǎn)擊:255次

今天一直在弄Samba服務(wù)的配置,深深的感受到權(quán)限控制的困難,文件權(quán)限的機(jī)制是Linux系統(tǒng)中的一大特色,除了我們現(xiàn)在所熟知的讀(r)、寫(w)、執(zhí)行(x)權(quán)限外,還有三個(gè)比較特殊的權(quán)限,分別為:setuid、setgid和stick bit(粘滯位)。

1、setuid與setgid講解

看一下系統(tǒng)中用到它的地方,以/etc/passwd和/usr/bin/passwd為例:

[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]#

分析一下,/etc/passwd的權(quán)限為 -rw-r--r-- 也就是說:該文件的所有者擁有讀寫的權(quán)限,而用戶組成員和其它成員只有查看的權(quán)限。我們知道,在系統(tǒng)中我們要修改一個(gè)用戶的密碼,root用戶和普通用戶均可以用/usr/bin/passwd   someuser這個(gè)命令來修改這個(gè)/etc/passwd這個(gè)文件,root用戶本身擁有對/etc/passwd的寫權(quán)限,無可厚非;那普通用戶呢,這里就用到了setuid,setuid的作用是“讓執(zhí)行該命令的用戶以該命令擁有者的權(quán)限去執(zhí)行”,就是普通用戶執(zhí)行passwd時(shí)會(huì)擁有root的權(quán)限,這樣就可以修改/etc/passwd這個(gè)文件了。它的標(biāo)志為:s,會(huì)出現(xiàn)在x的地方,例:-rwsr-xr-x 。而setgid的意思和它是一樣的,即讓執(zhí)行文件的用戶以該文件所屬組的權(quán)限去執(zhí)行。

2、stick bit(粘滯位)

看一下系統(tǒng)中用到它的地方,以/tmp為例:

[plain] view plaincopy
[root@Salve1 /]# ll -d /tmp
drwxrwxrwt 13 root root 4096 Apr 23 02:06 /tmp
[root@Salve1 /]#

我們知道/tmp是系統(tǒng)的臨時(shí)文件目錄,所有的用戶在該目錄下?lián)碛兴械臋?quán)限,也就是說在該目錄下可以任意創(chuàng)建、修改、刪除文件,那如果用戶A在該目錄下創(chuàng)建了一個(gè)文件,用戶B將該文件刪除了,這種情況我們是不能允許的。為了達(dá)到該目的,就出現(xiàn)了stick bit(粘滯位)的概念。它是針對目錄來說的,如果該目錄設(shè)置了stick bit(粘滯位),則該目錄下的文件除了該文件的創(chuàng)建者和root用戶可以刪除和修改/tmp目錄下的stuff,別的用戶均不能動(dòng)別人的,這就是粘滯位的作用。

3、如何設(shè)置上述特殊權(quán)限

chmod u+s  xxx    # 設(shè)置setuid權(quán)限
chmod g+s  xxx    # 設(shè)置setgid權(quán)限
chmod o+t   xxx   # 設(shè)置stick bit權(quán)限,針對目錄
chmod  4775  xxx  # 設(shè)置setuid權(quán)限
chmod  2775  xxx  # 設(shè)置setgid權(quán)限
chmod  1775  xxx  # 設(shè)置stick bit權(quán)限,針對目錄

4、注意:有時(shí)你設(shè)置了s或t 權(quán)限,你會(huì)發(fā)現(xiàn)它變成了S或T,這是因?yàn)樵谀莻€(gè)位置上你沒有給它x(可執(zhí)行)的權(quán)限,這樣的話這樣的設(shè)置是不會(huì)有效的,你可以先給它賦上x的權(quán)限,然后再給s或t 的權(quán)限。

關(guān)鍵詞:linux

閱讀本文后您有什么感想? 已有 人給出評價(jià)!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視