檔案特殊訪問許可權 SUID,SGID,SBIT

2021-06-07 07:03:38 字數 1865 閱讀 6415

一般來講unix/linux檔案的許可權是三個使用者(owner,group,others),都是rwx,這是大家比較熟悉的,其實還有三個特殊的許可權,suid,sgid,sbit三個,先看一下,

怎麼許可權位中會出現t和s呢?詳解如下:

一 setuid:當s這個標誌出現在檔案所有者的x許可權上時,如上圖/usr/bin/passwd 的許可權狀態」rwsr-xr-x」,此時就稱為set uid,簡稱suid的特殊許可權。 

suid的限制與功能:

這麼說可能不會明白,但是舉個例子就容易明白了,如果需要修改自己使用者的密碼怎麼辦(我自己的使用者名為kinglong),直接passwd就可以啊。但是與密碼有關的檔案/etc/shadow檔案只有root使用者才有寫的許可權,怎麼回事?

1  kinglong對於/usr/bin/passwd這個程式來說是具有x許可權的(作為others),表示kinglong可以執行/usr/bin/passwd;

2 passwd的擁有者是root這個帳號;

3 kinglong執行passwd的過程中,會暫時獲得root的許可權;

4 /etc/shadow可以被kinglong這個一般使用者所執行的passwd所修改;

二 set gid

當s標誌位在使用者組的x時則稱為set gid, sgid。

sgid有如下的功能:

1 sgid對二進位制程式有作用;

2 程式執行者對於該程式來說,需具備x的許可權;

3 執行者在執行的過程中將會獲得該程式使用者組的支援;

以locate命令來舉例說明,/usr/bin/locate(即locate)命令會去查詢/var/lib/mlocate/mlocate.db這個 檔案,但是kinglong這個使用者對於mlocate.db並沒有讀的許可權,如下圖:

沒有mlocate.db的讀許可權,但能去讀mlocate.db檔案,怎麼回事呢?這就是sgid的功能,普通使用者對locate具有組x許可權,那麼在執行locate過程中,將獲得組的使用者許可權的支援,如上圖,那麼locate會獲得root使用者組的許可權,當然可以讀mlocate.db檔案了。

除了二進位制檔案外,sgid對於目錄也具有作用,

1 使用者若對於次目錄具有r與x的許可權時,該使用者能夠進入此目錄;

2 使用者在次目錄下的有效使用者組(effective group)將會變成該目錄的使用者組;

3 若使用者在次目錄下具有w的許可權,則使用者所建立的新檔案的使用者組與此目錄的使用者組相同;

三 最後乙個sticky bit

這個sticky bit(有時也稱黏住位)目前只針對目錄有效,對於檔案沒有效果。對於目錄的作用是:

1 當使用者對於次目錄具有w,x許可權,即具有寫入的許可權時;

2 當使用者在該目錄下建立檔案或目錄時,僅自己與root使用者才具有刪除的權利;

舉例來說吧:當甲這個使用者於a目錄是具有使用者組或其他人的身份,並且擁有該目錄w的許可權,這表示甲使用者對於該目錄內的檔案或目錄具有刪除, 重新命名, 移動的許可權。不過如果將目錄a加上了sbit的許可權專案時,則甲只能夠針對自己建立的目錄或檔案進行刪除,重新命名,移動等操作,而無法刪除他人的檔案。

例如/tmp目錄:

/tmp目錄是「drwxrwxrwt」,在這樣的許可權下,任何人都能夠建立,修改檔案,但僅該檔案/目錄的擁有者或root能夠刪除自己的目錄或檔案。

suid/sgid/sbit許可權設定

一般檔案的許可權是:rwx分別對應數字4:2:1

其實這三個也一樣:suid:4   sgid:2 sbit: 1

在temp下練習一下

檔案訪問許可權控制列表FACL及特殊許可權

facl filesystem access control list 利用檔案擴充套件儲存額外的訪問控制許可權 setfacl m u jerry rw tmp hello.txt setfacl rm d g rwx tmp hello.dir setfacl m m rw tmp hello....

linux特殊許可權之訪問許可權

特殊許可權如 etc passwd s suid 普通使用者以管理員身份執行命令 chmod u s file chmod u s file 如果file本身原來就有執行許可權,suid顯示為s 否則顯示s sgid 基本組以管理組身份執行命令 chmod g s file chmod g s fi...

檔案特殊許可權

檔案特殊許可權 liunx學問博大精深,今天我們一起來學習一下比較有意思的三個特殊許可權,雖然我們平時不常用,但是我們必須得知道,因為他們的作用在linux作業系統的管理上起著舉足輕重的作用,我們可不能小看他們喲,我們今天的主句就是suid,sgid,sbit三個許可權的展示。一.setuid 1....