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