一、文件權限介紹
在 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-hk/n/239516.html