linux系統上的特殊權限SUID,SGID,STICKY

特殊權限:SUID SGID STICKY

    linux的安全上下文:

    1.進程以用戶的身份運行,進程是發起此用戶的代理,因此以此用戶的身份和權限完成所有的操作。

    2.權限匹配模型:

    1)判斷進程的屬主,是否以被訪問的文件屬主。如果是,則應用屬主權限,否則進入第2步。

    2)判斷進程的屬主,是否屬于被訪問的文件屬組。如果是,則應用屬組的權限,否則進入第3步。

    3)應用other的權限。


SUID:

    默認情況下,用戶發起的進程,進程的屬主是其發起者,因此,其以發起者的身份在運行。

    SUID的功用:用戶運行某程序時,如果此程序擁有SUID權限,那么程序運行時,進程的屬主不是發起者,而是程序文件自己的屬主。


管理文件的SUID權限:

    chmod u+|-s FILE

    展示位置:屬主的執行權限位

             如果屬主本有執行權限,顯示為小寫s,

             否則,顯示為大寫S。


[root@localhost ~]# cp /bin/cat /tmp/jackfile1      #將cat命令拷貝為jackfile1


[root@localhost ~]# mv /bin/cat /bin/cat.txt        #把cat路徑重新編輯,使系統找不到cat命令


[root@localhost tmp]# chmod u+s jackfile1           #增加jackfile1特殊權限suid


[root@localhost tmp]# ll jackfile1                  #查看jackfile1的屬主屬組和權限

-rwsr-xr-x. 1 jack jack 48568 Aug  1 19:11 jackfile1


[jack@localhost jack]$ ll 2.txt         #jack用戶新建2.txt文件,jack5用戶對此文件無任何權限

-rw-rw—-. 1 jack jack 52 Aug  1 19:25 2.txt


[jack5@localhost jack]$ /tmp/jackfile1 2.txt    #使用jack5用戶查看jack用戶所建的2.txt文件

agjjfjskdfjlsdfjlsfjsldjgljgljlajgljhljlkdahljfsdjk


實驗結論:以上試驗中,把jackfile1變成cat命令使用,當jackfile1具有s權限時,其他用戶使用jackfile1命令,就相當擁有jackfile1的屬主權限,所以任何jack所建的文件,其他用戶都可以進行訪問。

            


SGID:

    功用:當目錄屬組有寫權限,且有SGID權限時,那么所有屬于此目錄的屬組,且以屬組的身份在此目錄中新建文件或者目錄時,新文件的屬組不是用戶的基本組,而是此目錄的屬組。


管理文件的SGID權限:

    chmod g+|-s FILE

    展示位置:屬組的執行權限位

             如果屬組原本有執行權限,顯示為小寫s

             否則,顯示為大寫S


[jack@localhost jack]$ ll -d                   #設定文件目錄jack有SGID權限

drwxrwsr-x. 2 jack jack 4096 Aug  1 19:25 .


[jack3@localhost jack]$ id jack3               #設定jack組為jack3的附加組

uid=4019(jack3) gid=4019(jack3) groups=4019(jack3),4023(jack)


[jack3@localhost jack]$ touch 5.txt           #使用jack3用戶新建5.txt文件

 

[jack3@localhost jack]$ ll                 #查看5.txt文件的所屬組是jack,而不是主要組jack3

-rw-rw-r–. 1 jack3 jack  0 Aug  1 19:39 5.txt


實驗結論:

1.需要jack3用戶有jack的附加組。(如果其他用戶有寫權限,所建文件也是jack組)

2.由于加入SGID權限,用戶所建文件的組為jack,意味著jack組內任何成員都可以對5.txt文件進行讀寫操作。


SGID還有一種用法類似SUID:

[root@localhost ~]# ll /bin/cat                          #給cat設置sgid

-rwxr-sr-x. 1 root root 48568 May 11 16:59 /bin/cat


[root@localhost ~]# ll /etc/shadow                       #給shadow設置有root組有讀權限

—-rwx—. 1 root root 2899 Aug  2 14:51 /etc/shadow 


[jack5@localhost ~]$ cat /etc/shadow                     #隨便使用一個用戶借用root組的權限

root:$6$zNiiCr8zbAa2xFVa$4Tw89HFHnREnLhhyK2Z/E.w4WlUEIgXR2RaY5bYPu1/f.A3QJF8mcFNaz4EnB7LAUQ/KXWYieQ2cZwhdnTV981:17001:0:99999:7:::

bin:*:15980:0:99999:7:::




STICKY:

    功用:對于屬組或全局可寫的目錄,組內的所有用戶或系統上的所有用戶對在此目錄中都能創建新文件或刪除所有的已有文件,如果為此類目錄設置sticky權限,則每個用戶都能創建新文件,且只能刪除自己的文件。

    

管理文件的sticky權限:

    chmod o+|-t FILE

    展示位置:其它用戶的執行限位

            如果其它用戶原本有執行權限,顯示為小寫t

            否則,顯示為大寫T

   系統上的/tmp和/var/tmp目錄默認均有sticky權限


[jack@localhost jack]$ ll -d                 #設置jack目錄擁有sticky權限,注意看t

drwxrwxrwt. 2 jack jack 4096 Aug  1 20:04 .


[jack4@localhost ~]$ id jack4                #用戶jack4為普通用戶,跟jack無任何關系

uid=4020(jack4) gid=4023(jack) groups=4023(jack)


[jack4@localhost jack]$ touch 4.txt          #jack4用戶在jack目錄里建文件4.txt 


[jack3@localhost jack]$ rm 4.txt      #使用另一jack3賬戶對jack4所建文件4.txt進行刪除,失敗

rm: remove write-protected regular empty file `4.txt'? Y

rm: cannot remove `4.txt': Operation not permitted

     

實驗結論:

1.用戶在擁有t權限目錄中所建文件,其他用戶只能互相修改查看,無法刪除其他人所建文件,只能自己刪除自己的文件。

2.建立t權限目錄的用戶有權限刪除該目錄下的任何文件。

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

(0)
zebra930zebra930
上一篇 2016-08-05 16:18
下一篇 2016-08-05 16:20

相關推薦

  • 常用的文件查看命令

    常用的文件查看命令 1.     cat 常用參數 -n     顯示行號 -E     顯示行尾結束符 $ -b     顯示非空行編號 -s    &nbs…

    2017-04-03
  • Centos6搭建vsftpd手冊

    1、開啟防火墻ftp端口vi /etc/sysconfig/iptables     #編輯防火墻配置文件 1 -A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT(允許21端口通過防火墻) 2 -A INPUT -m st…

    Linux干貨 2017-04-26
  • linux中的馬里奧之重定向與管道詳解

    你背單詞時 阿拉斯加的鱈魚正躍出水面 你算數學時 太平洋彼岸的海鷗振翅掠過城市上空 你晚自習時 極圖中的夜空散漫了五彩斑斕 但是少年你別著急 在你為自己未來踏踏實實地努力時 那些你感覺從來不會看到的景色 那些你覺得終身不會遇到的人 正一步步向你走來。          ——網易云熱評《Something Ju…

    2017-07-22
  • 第九周作業

    1. 寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; # awk -F: ‘{if($7!=”/sbin/nologin”) {printf “Logined user %s\n”…

    Linux干貨 2017-03-01
  • nginx學習筆記

    深入理解Nginx 一、Nginx是什么? 二、為什么選擇Linux ? 三、Nginx生成的文件有哪些? 四、Nginx的配置詳解? 五、模塊功能詳解 六、虛擬主機配置詳解?                 一、Nginx是什么? Nginx(engine X)是一個高性能的H…

    Linux干貨 2017-03-15
  • FHS文件系統下個各目錄功能

    FHS文件系統下個各目錄功能 FHS文件系統的建立是為了讓開發者和用戶可以預測軟件安裝文件和文件夾的位置。對整個linux的文件系統系統做了以下的規范:     /bin:命令二進制文件的存放目錄;     /boot:系統啟動時一些文件存放的目錄,包含引導linux的重要文件,…

    Linux干貨 2016-10-18
欧美性久久久久