Are you an LLM? You can read better optimized documentation at /tw/fe/linux/file-permission.md for this page in Markdown format
Linux 文件權限 管理 Linux 文件訪問控制
Linux 的文件權限
Linux 操作系統中對權限的管理很嚴格。Linux 系統中不僅是對用戶與組根據 UID,GID 進行了管理,還對 Linux 系統中的文件,按照用戶與組進行分類,針對不同的群體進行了權限管理,用他來確定誰能通過何種方式和目錄進行訪問和操作。
權限共有 10 個字符,我們將它分為 4 大部分來理解:
表示文件的類型
- | 表示是一個文件 |
|---|---|
d | 表示是一個目錄 |
l | 表示是一個連接(理解為快捷方式) |
用戶組類型
| 縮寫 | 用戶組 | 類型 |
|---|---|---|
u | owner | 屬主 :當前用戶具有的對該文件的權限 |
g | group | 當前組內其他用戶具有對該文件的權限 |
o | other | 其他組的用戶具有的對該文件的權限 |
權限
r:Read讀w:Write寫x:execute執行
針對目錄加執行權限,文件不加執行權限(因文件具備執行權限有安全隱患)
針對文件和目錄來說,r,w,x 有著不同的作用和含義
| 命令 | 針對文件 | 針對目錄 |
|---|---|---|
r | 讀取文件內容 | 查看目錄下的文件列表 |
w | 修改文件內容 | 刪除和創建目錄下的文件 |
x | 執行權限對除二進制程序以外的文件沒什麼意義 | 可以 cd 進入目錄,能查看目錄中文件的詳細屬性,能訪問目錄下文件內容(基礎權限) |
TIP
root 賬戶不受文件權限的讀寫限制,執行權限受限制
| 權限項 | 文件類型 | 讀 | 寫 | 執行 | 讀 | 寫 | 執行 | 讀 | 寫 |
| 字符表示 | (d|l|c|s|p) | (r) | (w) | (x) | (r) | (w) | (x) | (r) | (w) |
| 數字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | |
| 權限分配 | 文件所有者 | 文件所屬組用戶 | 其他用戶 |
用戶獲取文件權限的順序:先看是否為所有者,如果是,則後面權限不看;再看是否為所屬組,如果是,則後面權限不看。
修改文件權限
chown 是 change owner 的意思,主要作用就是改變文件或者目錄所有者。
chmod | 修改文件和文件夾讀寫執行屬性。使用權限:所有使用者 |
|---|---|
chown | 修改文件和文件夾的用戶和用戶組屬性。使用權限:root |
mode 方式
bash
chmod who opt per filewho | u g o a(all) (u 用戶 user,g 用戶組 group,o 其他用戶,a 所有用戶默認) |
|---|---|
opt | + 添加某個權限 - 取消某個權限 = 賦予權限 |
per | r w x X |
示例:
bash
chmod u=rwx,g=r a.txt
chmod u+x,g+w,o+w test.log #r 讀,w 寫, x 執行數字方式設置權限
命令語法
使用數字方式修改文件權限的基本語法如下:
bash
chmod xxx file其中 xxx 是一個三位數,分別表示用戶、用戶組、其他用戶的權限。
權限對應關係表
| 權限 | 數字值 | 權限總和 |
|---|---|---|
rwx | 421 | 7 |
rw- | 420 | 6 |
r-- | 400 | 4 |
0表示無權限1表示執行權限(x)2表示寫權限(w)4表示讀權限(r)
權限示例
bash
-rwxr--r-- 1 root root 10 oct 16 02:55 yhp.log| 權限類別 | 權限字符串 | 數值拆解 | 權限總和 |
|---|---|---|---|
| 用戶權限 | rwx | 4+2+1 | 7 |
| 用戶組權限 | r-- | 4+0+0 | 4 |
| 其他用戶權限 | r-- | 4+0+0 | 4 |
權限組合示例:744
代表用戶擁有讀、寫、執行權限,組和其他用戶只有讀權限。
修改權限示例
以下操作展示如何修改文件權限:
- 所有人都加入寫入權限(+2)
- 給用戶組加入寫入權限(+2)
- 給其他用戶加入執行權限(+1)
權限組合結果:765
bash
chmod 765 a.txt