檔案系統許可權

在電腦科學中,大多數現代檔案系統都具有針對不同使用者或使用者組的管理訪問許可權的方法。這些系統控制著不同使用者對檔案系統的可操作許可權(包括讀取或者改變檔案內容)。

傳統Unix檔案系統許可權

類Unix系統中的許可權管理分為三個不同的類別:檔案擁有者、同組用戶以及其他用戶 。

在類Unix系統中,當一個新檔案被創建時,其許可權由創建該檔案的進程所用的umask決定。

許可權就是對檔案或目錄“加鎖”,有不同許可權的人才能進去不同的入口。

正常許可權

許可權的查看

其中rw-r--r--.就是這個檔案的許可權了,而後邊的root root代表檔案的屬主和數組。

我們先來看一下許可權用什麼代表:

•r:讀許可權(read)

•w:寫許可權(write)

•x執行(execute)

所屬:

•u:屬主

•g:屬組

•o:其他人

rw-r--r--9個位,分為三段,每段三個位,依次為r,w,x許可權,三段分別為屬主,屬組,其他人三種類別的許可權。
屬主具有讀寫許可權,屬組有讀許可權,其他人有讀許可權,如果顯示為-,則代表該類人沒有此許可權。那么root用戶對此檔案有讀和寫的許可權,但是沒有執行許可權,什麼是執行許可權呢,比如說我們的Windows中的exe檔案,能雙擊執行的就為可執行的,那么linux中,x則代表可執行,一般為腳本檔案,或者是二進制檔案(比如說ls命令)。
root組的用戶對這個檔案有隻讀許可權,也就是不能更改和執行了,。對於不是root用戶,和不屬於root組的用戶,則也是只有隻讀許可權。

許可權設定相關命令

許可權設定有兩種方法:

•模式法

對象+-=許可權
對象:ugoa——a相當於ugo三種類別的人
許可權:rwx

•數字法

數字也可以代表許可權,r使用4表示,w使用2表示,x使用1表示,1、2、4看著有規律啊,不錯,的確rwx使用二進制表示的話,有許可權使用1表示,沒有使用0。具體只要在相應位上有許可權,則二進制為1,則三個位組合起來,再從二進制轉化為十進制則數字可計算出來許可權。

umask

umask值用來消除創建檔案時的相應位上的許可權(從二進制方面理解);
新建檔案: 666 - umask值就是新建檔案的默認許可權,因為新建檔案默認沒有執行許可權的(沒有1許可權,所以只要有奇數許可權則代表有執行許可權),所以得到的許可權必定是偶數,如果umask為奇數,則用666減去將得到奇數許可權,如果所得結果某位存在奇數許可權,則將其許可權+1(因為從二進制方面理解,如果相應位沒有許可權,則多減了1,故要加上1來彌補這個許可權)。

新建目錄: 777 - umask值就是新建目錄的默認許可權;
管理員的umask 是 022;
普通用戶的umask是 002。

許可權的理解

X的作用(x許可權特殊形式)

•針對目錄增加x許可權

對檔案

•無執行的檔案,不會增加x許可權

•任意三種人有執行許可權,也會增加x許可權

檔案與目錄的許可權與注意

對目錄的許可權意義:

•只有讀:只能查看目錄檔案列表,不能訪問檔案,也不能cd目錄(查看,刪除)

•只有執行:可以cd進去,不能ls,可以訪問目錄中的檔案。執行是基礎許可權

•寫權取:配合x許可權才生效

特殊許可權

SUID

SUID許可權代表不管是誰執行此程式,將繼承此程式所有者的許可權。比如修改密碼命令passwd,因此每個用戶都可以用此命令修改自己的密碼,由於其繼承的是屬主root用戶的許可權。

SGID

SGID作用於目錄或可執行程式,作用於目錄代表在此目錄創建的檔案或目錄,默認的屬組繼承此目錄的屬組。

Sticky

貼上位許可權,只能作用於目錄上,只有自己才能刪除自己創建的檔案.使用t來表示,同樣需要執行許可權x,否則表現為T。有這樣的需求,如果多人合作,希望整個團隊的人都能更改這個目錄的檔案,但是這個目錄的檔案 不能被其他人刪除,比如說系統的/tmp目錄,這個目錄每個用戶都可以在裡面創建檔案,但是不能刪除其他用戶創建的檔案,除了root。

特殊許可權可以使用數字法

特殊許可權:

•SUID:4

•SGID:2

•Sticky:1

SUID只能作用於二進制可執行程式,不能作用於目錄,因為其對應的是程式,程式需要能執行。

刪除檔案要看其父目錄是否有許可權,否則儘管對一個檔案有讀寫許可權任然不能刪除。刪除的是目錄項中的檔案名稱。

參見

•訪問控制表

•chattr

•chmod

•檔案系統

•GID

•lsattr

•POSIX

•UID

相關詞條

熱門詞條

聯絡我們