一、文件許可權介紹
在 Linux 系統中,所有文件和目錄都有三種基本的許可權:讀取許可權(r)、寫入許可權(w)、執行許可權(x)。
針對不同用戶,對應的文件許可權也不同,用戶分為三類:
- 文件屬主:文件的創建者,有許可權更改文件和目錄的許可權。
- 群組:文件的歸屬群組,群組成員對文件有不同的許可權。
- 其他人:不屬於文件屬主或者群組的其他用戶,對文件的許可權最低。
文件許可權是由一串數字來表示的,比如「644」或者「777」,其中每一位對應一個用戶組的許可權,第一位為文件屬主的許可權,第二位為對應群組的許可權,第三位為其他用戶的許可權。
以下是數字和對應許可權的關係表:
數字 | 許可權說明 |
---|---|
0 | 沒有許可權 |
1 | 執行許可權 |
2 | 寫入許可權 |
3 | 執行許可權和寫入許可權 |
4 | 讀取許可權 |
5 | 讀取許可權和執行許可權 |
6 | 讀取許可權和寫入許可權 |
7 | 讀取許可權、寫入許可權和執行許可權 |
二、學會使用chmod命令
chmod 命令用來修改文件和目錄的許可權,語法如下:
chmod [選項] mode file
其中 mode 表示要修改成的許可權模式,file 表示要修改的文件和目錄。可以使用符號模式或者數字模式來指定 mode。
三、符號模式設置許可權
以 「rwx」 為例,r 表示讀取、w 表示寫入、x 表示執行,- 表示沒有許可權。
修改文件或目錄的許可權,可以使用 「+」 或 「-」 符號,表示增加或減少對應的許可權。
下面是一些常見的符號模式示例:
- u:文件屬主
- g:對應群組
- o:其他人
- a:所有用戶
可以使用這些符號組合修改單個或多個用戶的許可權。比如,將文件 owner 的讀取和寫入許可權都改為可執行:
chmod u+rx file.txt
或者使用數字表示修改許可權:
chmod 751 file.txt
其中「7」 表示文件屬主有讀取、寫入和執行許可權;「5」 表示組用戶有讀取和執行許可權;「1」 表示其他用戶僅能執行。
四、特殊許可權
Linux 還有兩種特殊的文件許可權:「s」 和 「t」,分別表示設置用戶 ID(SetUID) 和 Sticky Bit。
- SetUID:授權用戶在執行該程序時以所有者身份來執行該程序。在文件類型 ls -l 的第三個字元位上出現 S 或者 s 來表示是否設置了 SetUID 許可權。
- Sticky Bit:只有在該目錄下創建的用戶才有權刪除自己創建的文件。在文件類型 ls -l 的第十個字元位上出現 T 或者 t 來表示目錄是否設置 Sticky Bit。
使用chmod命令來設置 SetUID 和 Sticky Bit 許可權,使用 「+s」 或 「-s」 分別代表設置或取消 SetUID 許可權;使用 「+t」 或 「-t」 分別代表設置或取消 Sticky Bit 許可權。
五、結語
文件許可權是 Linux 系統中文件管理的基礎之一。如果你是一名Linux運維工程師,那麼必須掌握文件許可權的相關知識以及chmod命令的使用,才能更好地管理和保護系統的文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239516.html