Linux系統特殊權限

特殊權限

Linux權限管理

    unix/linux系統中認爲一切皆文件,而權限就是對用戶訪問和修改系統文件範圍的界定規則。

Linux系統權限模型:

    針對用戶分爲:u, g, o

    根據日常對文件的操作分爲:r, w, x


    進程的安全上下文:

        前提:進程有屬主(進程以哪個用戶的身份運行);文件有屬主和屬組;

(1) 用戶是否能夠把某個可執行程序文件啓動爲進程,取決於用戶對程序文件是否擁有執行權限;

(2) 程序啓動爲進程後,此進程的屬主爲當前用戶,也即進程的發起者;進程所屬的組,爲發起者的基本組;

(3) 進程擁的訪問權限,取決其屬主的訪問權限:

    (a) 進程的屬主,同文件屬主,則應用文件屬主權限;

    (b) 進程的屬主,屬於文件的屬組,則應用文件屬組權限;

    (c) 則應用其它權限;


1、SUID:

    (1) 任何一個可執行程序文件能不能啓動爲進程:取決於發起者對程序文件是否有執行權限;

    (2) 啓動爲進程之後,其屬主不是發起者,而程序文件自己的屬主;這種機制即爲SUID;

權限設定:

    chmod u+s FILE... 

    chmod u-s FILE...

    注意:

    s: 屬主原本擁有x權限;

    S: 屬主原本無x權限;


2、SGID:

    (1)默認情況下,用戶創建文件時,其屬組爲此用戶所屬的基本組;

    (2)一旦某目錄被設定了SGID權限,則對此目錄擁有寫權限的用戶在此目錄中創建的文件所屬的組爲目錄的屬組,而非用戶的基本組;

權限設定:

    chmod g+s FILE...

    chmod g-s FILE...


3、Sticky:

    對於一個多人可寫的目錄,此權限用於限制每個僅能刪除自己的文件;

權限設定

    chmod o+t FILE...

    chmod o-t FILE...


4、二進制表示法

    SUID, SGID, STICKY權限用二進制表示爲:

無特殊權限 000

STICKY     001

SGID     010

STICKY SGID 011

SUID     100

SUID STICKY 101

SUID SGID 110

SUID SGID STICKY111

總結:  SUID == 4 

        SGID == 2 

        STICKY == 1

其中SUID針對文件,SGID,STICKY針對目錄。例:

chmod 4777 FILE

chmod 3755 DIR


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章