linux文件權限由讀(r)、寫(w)、執行(x)組成,分別對應數字4、2、1,分為所有者(user)、所屬組(group)、其他(others)三類用戶;使用chmod命令可修改權限,可通過數字方式如755設置,也可用符號方式如g+w添加特定權限;目錄需具備執行權限才能進入,修改權限時應避免誤操作,常見用途包括設為可執行腳本、防止誤刪、團隊共享等。
在linux系統中,文件權限是保護數據安全、控制用戶訪問的核心機制。理解文件權限和掌握chmod命令的使用,幾乎是每個使用者都繞不開的基礎操作。
一、Linux文件權限的基本結構
Linux中的每個文件都有三類權限:讀(r)、寫(w)、執行(x),分別對應數字4、2、1。這三類權限又分為三個用戶群體:
- 所有者(user):文件創建者
- 所屬組(group):文件所屬用戶組
- 其他(others):既不是所有者也不是組成員的用戶
比如,用ls -l查看一個文件時,顯示如下:
-rw-r--r-- 1 user group 0 Apr 5 10:00 file.txt
其中:
- – 表示這是一個普通文件
- rw- 表示所有者有讀寫權限
- r– 表示組成員只有讀權限
- r– 表示其他人也只有讀權限
理解這個結構后,就能快速判斷誰可以對文件做什么操作。
二、chmod命令的作用與基本用法
chmod 是用來修改文件或目錄權限的命令,語法為:
chmod [who][operator][permissions] 文件名
或者直接使用數字表示權限:
chmod [mode] 文件名
舉個例子,想讓所有者可讀寫執行,組和其他人只能讀執行,可以這樣寫:
chmod 755 file.txt
這里的7=4+2+1(rwx),5=4+1(r-x)。這種方式簡潔明了,適合批量設置權限。
你也可以更精細地調整權限,比如只給組添加寫權限:
chmod g+w file.txt
這種符號方式的好處是不需要重新計算整個權限組合,只改你想改的部分。
三、常見誤區與注意事項
很多人設置完權限后發現還是不能訪問,可能是因為忽略了“目錄”的特殊性。對于目錄來說:
- 讀權限(r):允許列出目錄內容
- 寫權限(w):允許在目錄中創建/刪除文件
- 執行權限(x):允許進入該目錄(即cd)
如果沒有執行權限,即使有讀寫權限也無法進入目錄。
另一個容易忽略的是權限疊加問題。例如,如果原本權限是644(rw-r–r–),然后執行:
chmod +x file.txt
結果會變成755(rwxr-xr-x),因為默認加上了所有者的執行權限。如果你只想加某一部分,記得明確指定對象,如chmod u+x。
四、什么時候需要改權限?
最常見的場景包括:
- 把腳本變成可執行文件:chmod +x script.sh
- 防止別人誤刪文件:去掉寫的權限,如chmod o-w file.txt
- 共享目錄給團隊:通過設置組權限實現協作,如chmod g+rw dir
尤其在Web服務器上,經常要調整上傳目錄的權限,讓Web服務進程能讀取或寫入文件,這時候常見的做法是把目錄歸屬設為www-data組,并設置合適的權限組合。
基本上就這些。權限管理看起來不復雜,但細節容易出錯,建議每次修改前先用ls -l確認當前狀態,避免誤操作。