Linux關於訪問許可權的設定
一、Linux檔案和目錄許可權管理
1、許可權說明:
(1)r:表示具有讀取檔案內容的許可權;(r=4)
(2)w:表示具有新增,修改檔案內容的許可權;(w=2)
(3)x:表示具有執行檔案的許可權,同時需要有r許可權;(x=1)
(4) 預設建立目錄 許可權 755
(5) 預設建立檔案 許可權 644
(6) 9個字元,表示許可權位,每三個一組
d為檔案型別
rwx為屬主許可權
r-x為屬組許可權
後一個r-x為其他人許可權
第一個root為屬主
第二個root為屬組
2、目錄許可權說明;
(1)r:表示具有瀏覽目錄下有哪些檔案的許可權,必須同時用x許可權才可以;
(2)w:表示具有新增、刪除、移動目錄內容檔案的許可權,同時需要有x許可權;
(3)x:表示具有進入目錄的許可權;
3、許可權獲取順序
- 先看使用者是不是檔案所有者,再看是不是所屬組,最後看是不是其他使用者,如果是其中一個,就有許可權;
- 對普通使用者來說,沒有許可權是不能訪問資源的;
- 讀寫許可權對root使用者不受限制,但x許可權受控制;
- 需要注意的是:對root使用者來說,如果root沒有x許可權,只要屬組和其他有x許可權,root使用者就能執行,而普通使用者不行;
4、檔案/目錄的屬主、屬組和其他使用者
有3種不同型別的使用者可對檔案和目錄進行訪問:檔案所有者(屬主)、同組使用者(屬組)、和其他使用者(其他人),所有者一般指檔案的建立者,該類使用者可以將檔案的訪問許可權賦予系統中的其他使用者
二、檔案和目錄的預設許可權與umask
(1)root使用者預設umask為022,普通使用者預設為002
(2)umask表示使用者建立檔案的預設許可權,目錄的最高許可權為777,檔案最高666;
(3)目錄預設許可權=777-umask;檔案預設許可權=666-unamk,所得結果奇數位加1
(4)目錄新建立後的預設許可權是755,檔案建立後的預設許可權是644;
三、改變檔案/目錄的訪問許可權——chmod
(1)文字設定法:
格式:chmod [who][+][-][=][mode] filename
操作物件:
•u表示“使用者(user)”及檔案或目錄的所有者。
•g表示“同組(group)”及檔案或目錄屬主有相同組ID的所有使用者。
•o表示“其他(others)使用者”
• 表示“所有使用者(all)”
操作符號:
+ :新增某個許可權。
- :取消某個許可權。
= :賦予給定許可權並取消其他所有許可權。
設定mode所表示的許可權:
r
讀取許可權,數字代號為“4”; w
寫入許可權,數字代號為“2”; x
執行或切換許可權,數字代號為“1”;
(2)數字設定法:
格式:chmod [mode] filename
四、更改檔案/目錄的所有權——chown
格式:chown [option] [user|group] filename
選項:
-c或——changes:效果類似“-v”引數,但僅回報更改的部分; -f或--quite或——silent:不顯示錯誤資訊; -h或--no-dereference:只對符號連線的檔案作修改,而不更改其他任何相關檔案; -R或——recursive:遞迴處理,將指定目錄下的所有檔案及子目錄一併處理; -v或——version:顯示指令執行過程; --dereference:效果和“-h”引數相同;
五、Linux系統檔案的特殊許可權(SUID,SGID,Sticky)
Set UID
- 當s這個標誌出現在檔案所有者的x許可權上時,例如 “-rwsr-xr-x” ,此時被稱為Set UID,簡稱為SUID的特殊許可權。
- SUID許可權僅對二進位制程式有效;
- 執行者需要對此程式具有x的可執行許可權;
- 本許可權僅在執行該程式的過程中有效;
-
執行者將具有該程式所有者的許可權;
Set GID
- SGID可以針對檔案或目錄設定。
- 當s標誌出現在使用者組的x許可權上時,例如“-rwx–s–x”為Set GID,簡稱為SGID的特殊許可權,SGID可以針對檔案或目錄設定。
- 對於檔案來說:SGID對二進位制程式有用;程式執行者對於該程式來說,須具備x的可執行許可權;執行者在執行的過程中將會獲得該程式使用者組的支援;
- 當一個目錄設定了SGID的許可權後,它將具有以下功能:使用者若對此目錄具有r與x的許可權時,該使用者能夠進入此目錄;使用者在此目錄下的有效使用者組將會變成該目錄的使用者組;若使用者在此目錄下具有w的許可權,則使用者建立新檔案的使用者組與此目錄的使用者組相同;
Sticky Bit
- Sticky Bit,簡稱SBIT。目前只針對目錄有效,針對檔案已經無效。
- SBIT的作用:當一個使用者對某目錄是具有使用者組或其他人的身份,並具有w許可權(即具有寫入的許可權時),這表明該使用者可以對該目錄下任何人新建的目錄或檔案進行刪除、移動、重新命名等操作。不過,如果該目錄具有SBIT許可權時,則僅有檔案屬主和root才能刪除、移動、重新命名此檔案,普通使用者無法刪除該目錄下不屬於自己的檔案。