跳轉到內容

Linux 文件權限 管理 Linux 文件訪問控制

Linux 的文件權限

Linux 操作系統中對權限的管理很嚴格。Linux 系統中不僅是對用戶與組根據 UID,GID 進行了管理,還對 Linux 系統中的文件,按照用戶與組進行分類,針對不同的群體進行了權限管理,用他來確定誰能通過何種方式和目錄進行訪問和操作。

權限共有 10 個字符,我們將它分為 4 大部分來理解:

表示文件的類型

-表示是一個文件
d表示是一個目錄
l表示是一個連接(理解為快捷方式)

用戶組類型

縮寫用戶組類型
uowner屬主 :當前用戶具有的對該文件的權限
ggroup當前組內其他用戶具有對該文件的權限
oother其他組的用戶具有的對該文件的權限

權限

  • rRead
  • wWrite
  • xexecute 執行

針對目錄加執行權限,文件不加執行權限(因文件具備執行權限有安全隱患)

針對文件和目錄來說,r,w,x 有著不同的作用和含義

命令針對文件針對目錄
r讀取文件內容查看目錄下的文件列表
w修改文件內容刪除和創建目錄下的文件
x執行權限對除二進制程序以外的文件沒什麼意義可以 cd 進入目錄,能查看目錄中文件的詳細屬性,能訪問目錄下文件內容(基礎權限)

TIP

root 賬戶不受文件權限的讀寫限制,執行權限受限制

權限項文件類型執行執行
字符表示(d|l|c|s|p)(r)(w)(x)(r)(w)(x)(r)(w)
數字表示42142142
權限分配文件所有者文件所屬組用戶其他用戶

用戶獲取文件權限的順序:先看是否為所有者,如果是,則後面權限不看;再看是否為所屬組,如果是,則後面權限不看。

修改文件權限

chownchange owner 的意思,主要作用就是改變文件或者目錄所有者。

chmod修改文件和文件夾讀寫執行屬性。使用權限:所有使用者
chown修改文件和文件夾的用戶和用戶組屬性。使用權限:root

mode 方式

bash
chmod who opt per file
who u g o a(all) (u 用戶 userg 用戶組 groupo 其他用戶a 所有用戶默認)
opt+ 添加某個權限 - 取消某個權限 = 賦予權限
perr 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 是一個三位數,分別表示用戶、用戶組、其他用戶的權限。

權限對應關係表

權限數字值權限總和
rwx4217
rw-4206
r--4004
  • 0 表示無權限
  • 1 表示執行權限(x
  • 2 表示寫權限(w
  • 4 表示讀權限(r

權限示例

bash
-rwxr--r-- 1 root root 10 oct 16 02:55 yhp.log
權限類別權限字符串數值拆解權限總和
用戶權限rwx4+2+17
用戶組權限r--4+0+04
其他用戶權限r--4+0+04

權限組合示例:744

代表用戶擁有讀、寫、執行權限,組和其他用戶只有讀權限。

修改權限示例

以下操作展示如何修改文件權限:

  • 所有人都加入寫入權限(+2)
  • 給用戶組加入寫入權限(+2)
  • 給其他用戶加入執行權限(+1)

權限組合結果:765

bash
chmod 765 a.txt

最後更新於: