Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用

    我們知道在Linux中,root管理員的權限是很大的,能夠支持執行絕大部分程序以及命令進而對文件進行相對應的修改,寫入。當然這些作用只能體現在root管理員上。但是有一個現象,有些普通用戶是可以通過passwd命令進行修改自己密碼的,進而間接就修改了/etc/passwd的文件。正規思想:普通用戶是無法修改/etc/passwd文件的。在這裏,普通用戶其實是運用了SUID權限。當然還有SGID,Sticky粘滯位。我們一一打開神祕的面面紗。
       1.首先我們先來說說SUID權限的神奇之處。
       之前提到了普通用戶能夠運用passwd間接修改/etc/passwd文件,我們先確認一下passwd命令的權限屬性:
            ![](http://i2.51cto.com/images/blog/201807/29/b57d2f2673f6d18f301bb49cd6a97e32.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
            看上圖,passwd 是存在這個路徑中的,它是個外部命令。在所有者權限那裏看到有一個s標識,s就相當於x權限。這個s對於普通用戶的話,是可以進行繼承的。簡單說,passwd對root用戶有什麼權限,一個用戶執行passwd的時候,也就臨時繼承了root賬戶的相應權限,這樣一來就可以理解爲什麼普通用戶可以對用戶配置文件進行修改了。記住只對passwd這個命令起作用。
            SUID設置方法:
            模式法:chmod u+s  相應的可執行的命令程序。數字法:chmod 4+(原始可執行程序權限)suid的權限獨立於普通權限的。
            總結一下SUID:

(1)SUID一般都作用於二進制文件上,一般不作用在目錄上。
(2)當一個普通用戶在執行設置了SUID的可執行程序時,那麼它就繼承了原有所屬者的權限。
以上就是SUID的相應介紹。
2.SGID的神奇之處
SGID這個權限主要是作用在目錄上的,一般運用在小組項目中。比如一個設置一個專用目錄給一個小組進行使用,裏面的文件可以對組成員進行開發使用。而且所有新創建的文件都屬於一個組。這樣一來小組的工作效率就會很高了,方便管理。那麼這麼好的一個設想,該如何實現呢? 這就要用到SGID權限了。
sgid設置方法:
模式法:chmod g+s 相對應的目錄或者可執行文件。
數字法:chmod 2 (原始目錄權限)suid權限同樣獨立原始權限。
舉個例子:
先看這個目錄的所有者以及目錄權限
Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用
這個目錄的所屬組時root ,當然新建的文件也都是屬於root的。組的權限是rx權限。那麼組員是可以對裏面的文件進行查看訪問,以及相關操作的。
下面對它設置sgid權限,改變它的所屬組,以及新建文件,看效果。
Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用
先進行設置sgid
Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用
已經發生了變化,多出了一個s,說明擁有了sgid權限,這個目錄。
Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用
這裏修改目錄的所屬組,這樣的話,接下來的文件所屬者會自動分配爲目錄所屬組的組名。
看效果:
Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用
看,自動獲取所屬組的,這樣的就大大提升了用戶對該文件的使用效果。可以在haoxianwang組裏添加很多組員的。可想而知它的方便,高效。
總結一下sgid:
(1)作用在目錄上,當目錄下新建文件時,以及文件夾時,那麼自動獲取目錄的所屬組作爲文件或者文件夾的所屬組。
(2)它也可以對二進制文件生效,但是很少使用。

  1. 接下來介紹一下sticky粘滯位的作用
    sticky權限只對目錄有作用,而且只針對其他人(other)。這個粘滯位,其實是起到了安全的作用。如果對目錄了讀寫執行權限,那麼任何人就可以刪除目錄中的文件了,哪怕文件本身沒有寫權限和執行權限。這個時候sticky粘滯位就體現出來了。它的作用就是所有人只能創建自己的文件,以及刪除自己的文件。其他人的你是觸碰不到的。
    廢話不多說,上圖!
    Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用
    將目錄設置上sticky權限,這樣的話,目錄的安全性就高了。
    我們試試刪除文件,文件我給設置了讀寫執行權限,目錄也具有執行權限,我們看看刪除文件的效果。
    Linux淺談SUID,SGID,Sticky粘滯位對目錄以及文件的相關作用
    可以看到是不允許刪除的。這樣就大大提高了文件的安全性。
    總結一下:
    sticky粘滯位權限只針對目錄,只對目錄有作用。
    好啦,到這裏基本介紹完畢。
    本人剛入運維道路,知識哪裏有不周到之處,還請大佬們多多指導。
    感謝大家的閱讀參閱!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章