suid, sgid, sticky簡介

SUID屬性

passwd命令可以用于更改用戶的密碼,一般用戶可以使用這個命令修改自己的密碼。但是保存用戶密碼的/etc/shadow文件的權限是000,也就是說只有文件的所有者root用戶可以寫入,那為什么其他用戶也可以修改自己的密碼呢?這就是由于Linux的文件系統中的文件有SUID屬性。

[root@centos6 ~]# ll /etc/shadow
----------. 1 root root 1565 Jul 25 13:33 /etc/shadow

SUID屬性只能運用在可執行文件上,當用戶執行該執行文件時,會臨時擁有該執行文件所有者的權限。passwd命令啟用了SUID功能,所以一般用戶在使用passwd命令修改密碼時,會臨時擁有了passwd命令所有者root用戶的權限,這樣一般用戶才可以將自己的密碼寫入/etc/shadow文件。
在使用“ls -l”或“ll”命令瀏覽文件時,如果可執行文件所有者權限的第三位是一個小寫的“s”就表明該執行文件擁有SUID屬性。

[root@centos6 ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Nov 23  2015 /usr/bin/passwd

如果在瀏覽文件時,發現所有者權限的第三位是一個大寫的“S”則表明該文件的SUID屬性無效,比如將SUID屬性給一個沒有執行權限的文件。
SGID屬性

SGID屬性

SGID于SUID不同,SGID屬性可以應用在目錄或可執行文件上。當SGID屬性應用在目錄上時,該目錄中所有建立的文件或子目錄的擁有組都會是該目錄的擁有組。比如“/charles”目錄的擁有組是charles,當“/charles”目錄擁有SGID屬性時,任何用戶在該目錄中建立的文件或子目錄的擁有組都會時charles;當SGID屬性應用在可執行文件上時,其他用戶在使用該執行文件時就會臨時擁有該執行文件擁有組的權限。比如/sbin/apachectl文件的擁有組是httpd,當/sbin/apachectl文件有SGID屬性時,任何用戶在執行該文件時都會臨時擁有用戶組httpd的權限。在使用“ls -l”或“ll”命令瀏覽文件或目錄時,如果擁有組權限的第三位是一個小寫的“s”就表明該執行文件或目錄擁有SGID屬性。

[root@centos6 ~/tmp]# ll
total 16
-rw-r--r--. 1 root root  285 Jul 19 17:18 df.txt
------S---. 1 root root5 Jul 26 05:39 hello

如果在瀏覽文件時,發現擁有組權限的第三位是一個大寫的“S”則表明該文件的SGID屬性無效,比如將SGID屬性給一個沒有執行權限的文件。

Sticky屬性

Sticky屬性只能應用在目錄,當目錄擁有Sticky屬性所有在該目錄中的文件或子目錄無論是什么權限只有文件或子目錄所有者和root用戶能刪除。比如當用戶test8在“/charles”目錄中建立一個文件并將該文件權限配置為777,當/charles目錄擁有Sticky屬性時,只有root和test8用戶可以將該文件刪除。在使用“ls -l”或“ll”命令瀏覽目錄時,如果其他用戶權限的第三位是一個小寫的“t”就表明該執行文件或目錄擁有Sticky屬性。

[root@centos6 ~/tmp]# ll
total 4
drwxrwxrwt 2 root root 4096 Feb 15 22:34 test4

配置suid sgid sticky權限

配置普通權限時可以使用字符或數字。
SUID、SGID、Sticky也是一樣。使用字符時s表示SUID和SGID、t表示Sticky
4表示SUID、2表示SGID、1表示Sticky。在配置這些屬性時還是使用chmod命令。

當前目錄目前情況:

[root@centos6 ~/tmp]# ll
total 52
drwxr-xr-x 2 root root 4096 Feb 15 22:47 test2
drwxr-xr-x 2 root root 4096 Feb 15 22:47 test3
drwxr-xr-x 2 root root 4096 Feb 15 22:46 test4
drwxr-xr-x 2 root root 4096 Feb 15 22:46 test5
-r-xr-xr-x 1 root root 5120 Feb 15 22:46 test6
-r-xr-xr-x 1 root root 3072 Feb 15 22:50 test7
drwxr-xr-x 2 root root 4096 Feb 15 22:56 test1
-r-xr-xr-x 1 root root 6144 Feb 15 22:48 test8
-r-xr-xr-x 1 root root 9216 Feb 15 22:51 test9

為文件test6增加SUID屬性
[root@centos6 ~/tmp]# chmod u+s test6

l 為文件test8增加SUID屬性。在使用數字表示時,原來的三位不變,只是增加了一個千位專門用于SUID、SGID、Sticky屬性。下面的4就是SUID屬性
[root@centos6 ~/tmp]# chmod 4555 test8

l 為目錄test2增加SGID屬性。
[root@centos6 ~/tmp]# chmod g+s test2/

l 為目錄test3增加SGID屬性。
[root@centos6 ~/tmp]# chmod 2755 test3/

l #為文件test7增加SUID和SGID屬性,6=4(SUID)+2(SGID)。
[root@centos6 ~/tmp]# chmod 6555 test7

l 為目錄test4增加Sticky屬性。
[root@centos6 ~/tmp]# chmod o+t test4/

l 為目錄test5增加Sticky屬性。
[root@centos6 ~/tmp]# chmod 1755 test5/

l 為目錄test1增加SGID和Sticky屬性,3=2(SGID)+1(Sticky)
[root@centos6 ~/tmp]# chmod 3755 test1/

l 執行上述更改命令后當前目錄的情況。
[root@centos6 ~/tmp]# ll
total 52
drwxr-sr-x 2 root root 4096 Feb 15 22:47 test2
drwxr-sr-x 2 root root 4096 Feb 15 22:47 test3
drwxr-xr-t 2 root root 4096 Feb 15 22:46 test4
drwxr-xr-t 2 root root 4096 Feb 15 22:46 test5
-r-sr-xr-x 1 root root 5120 Feb 15 22:46 test6
-r-sr-sr-x 1 root root 3072 Feb 15 22:50 test7
drwxr-sr-t 2 root root 4096 Feb 15 22:56 test1
-r-sr-xr-x 1 root root 6144 Feb 15 22:48 test8
-r-xr-xr-x 1 root root 9216 Feb 15 22:51 test9

l 取消目錄test1的SGID屬性。
[root@centos6 ~/tmp]# chmod g-s test1/
在使用umask命令顯示當前的權限掩碼時,千位的“0”就是表示SUID、SGID、Sticky屬性。
提示:在有些資料上SUID、SGID被翻譯為“強制位”,Sticky被翻譯為“冒險位”。

原創文章,作者:zhaobenshan,如若轉載,請注明出處:http://www.www58058.com/82849

(0)
zhaobenshanzhaobenshan
上一篇 2017-07-27 14:57
下一篇 2017-07-27 21:17

相關推薦

  • 編程語言編年史

          我們都知道,編程語言是一組用來定義計算機程序的語法規則。它是一種被標準化的交流語言,用來向計算機發出指令。一種計算機語言讓程序員能夠準確地定義計算機所需要使用的數據,并精確地定義在不同情況下所應當采取的行動。盡管人們多次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。之所以有那么多種不同的編程語言存在的原因是…

    Linux干貨 2017-03-30
  • DNS高級應用

        DNS高級應用     1、主從復制      應用場景: (1)、當主DNS服務器壓力過大,無法正常處理過多的DNS解析請求時,從DNS服務器可以起到負載均衡的作用。 (2)、當主DNS服務器出現故障時,從DNS服務器可以為其提供冗余備份功能。     實驗環…

    Linux干貨 2015-06-18
  • CentOS 6開機啟動流程實驗篇

    CentOS 6開機啟動流程實驗篇 centos 系統的啟動流程 grub 破壞Linux的核心文件再修復體驗系統啟動流程 CentOS 6開機啟動的具體詳情請參見理論篇! 了解了系統啟動的基本流程,以下我們通過“破壞式實驗”,即破壞系統啟動過程中的一些關鍵環節,使系統無法啟動,然后我們再通過修復這些文件使得系統正常重啟,進而體驗Linux系統的啟動流程,這…

    Linux干貨 2016-09-19
  • 馬哥教育網絡班20期+第6周課程練習

    vim編輯器使用總結 一、文件的打開與關閉             打開文件:                 # vim [OPTION]… FILE…      …

    Linux干貨 2016-07-17
  • rsyslog日志服務

    一、知識整理: 1、日志服務rsyslogd新特點:     多線程;     基于SSL/TLS/UDP/TCP/RELP網絡協議傳輸日志信息;     強大的過濾器,實現過濾日志信息中任何部分的內容;   &nbsp…

    Linux干貨 2016-10-24
  • nmap ncat tcpdump淺析

    nmap 的使用 nmap — 網絡探測工具和安全/端口掃描器 Usage:nmap [ <掃描類型> …] [ <選項> ] { <掃描目標說明> } 掃描目標說明 -iL inputfilename (從列表中輸入) 從 inputfilename中讀取目標說明 [root@localhost&…

    Linux干貨 2017-03-15
欧美性久久久久