在Linux中設定SET位許可權

2021-12-30 10:25:42 字數 1779 閱讀 9123

雖然通過acl增加了許可權設定的靈活性,但是linux系統中可供設定的許可權只有讀、寫、執行三種,在某些特殊的場合,這可能將無法滿足要求。因而,在linux系統中還提供了幾種特殊的附加許可權,用於為檔案或目錄提供額外的控制方式,可用的附加許可權包括:set位許可權(suid、sgid)和粘滯位許可權(sticky bit)。本文將介紹set位許可權。

set位許可權多用於給可執行的程式檔案或目錄進行設定,其中suid表示對所有者使用者新增set位許可權,sgid表示對所屬組內的使用者新增set位許可權。當乙個可執行檔案被設定了suid、sgid許可權後,任何使用者在執行該檔案時,將獲得該檔案所有者、所屬組相對應的許可權。

set位許可權的許可權字元為「s」,設定set位許可權同樣要通過chmod命令實現,可以使用「u+s」、「g+s」的許可權模式分別用於設定suid、sgid許可權。

設定suid、sgid許可權後,使用ls命令檢視檔案的屬性時,對應位置的「x」將變為s,表示該檔案在執行時將以所有者或所屬組的身份訪問系統。注意,如果檔案原來位置有x許可權,執行該命令後其許可權字元為小寫s;若檔案原位沒有x許可權,則設定許可權後將顯示為大寫字元s。

1)設定suid

例:檢視passwd命令所對應的程式檔案的屬性資訊。

[root@localhost ~]#ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd

/usr/bin/passwd檔案的許可權是「rwsr-xr-x」,set位許可權設定在第一組,表示針對所有者使用者設定,因而稱為suid。這樣當其他使用者執行passwd命令時,會自動以檔案所有者root使用者的身份去執行。

suid僅能針對可執行檔案設定,對於目錄無效。

由於suid許可權會改變使用者身份,這給系統帶來了一定的安全隱患,因而一般不建議我們自己去設定suid,但是系統中有不少預設已經設定了suid許可權的可執行檔案,我們能了解其用途即可。

系統中常見的已經設定了suid許可權的可執行檔案還包括:

[root@localhost ~]#ll /bin/su

-rwsr-xr-x. 1 root root 34904 4月 17 2012 /bin/su

[root@localhost ~]#ll /bin/mount

-rwsr-xr-x. 1 root root 76056 4月 6 2012 /bin/mount

[root@localhost ~]#ll /bin/ping

-rwsr-xr-x. 1 root root 40760 3月 22 2011 /bin/ping

例:去除/bin/ping的suid許可權:

[root@localhost ~]#chmod u-s /bin/ping

[root@localhost ~]#ll /bin/ping

-rwxr-xr-x 1 root root 37312 2009-04-24 /bin/ping

2)設定sgid

如果set位許可權設定在所屬組所對應的第二組許可權位時,那麼就稱為sgid。

sgid可以針對可執行檔案設定,也可以針對目錄設定,但是所表達的含義卻截然不同:

linux中SET位許可權和粘滯位許可權詳解

對檔案或目錄進行訪問控制時,讀取 寫入 執行 是最基本的三種許可權型別。除此之外,在linux中還存在著set位許可權 suid sgid 粘滯位 sticky bit 等為檔案或目錄提供額外的控制方式。下面我們就來聊聊這兩個非常有用的方式。set位許可權 位許可權多用於給可執行的程式或指令碼檔案進...

MySQL在LINUX中設定許可權的操作

1.在資料庫配置過程中,我們需要為資料庫建乙個使用者,讓使用者去運算元據庫,而不是root 2.授予使用者基本許可權和操作儲存過程,函式許可權 grant select,delete,update,insert,drop,create,create routine,alter routine,exe...

Linux中粘滯位許可權

linux下的檔案許可權 在linux下每乙個檔案和目錄都有自己的訪問許可權,訪問許可權確定了使用者能否訪問檔案或者目錄和怎樣進行訪問。最為我們熟知的乙個檔案或目錄可能擁有三種許可權,分別是讀 寫 和執行操作,在這裡不做詳細說明。我們建立乙個檔案後系統會預設地賦予所有者讀和寫許可權。當然我們也可以自...