Linux 目錄權(quán)限那些事兒
在 Linux 的世界里,權(quán)限管理像一個(gè)古老的儀式,為文件和目錄筑起堅(jiān)實(shí)的防護(hù)墻。今天我們就來(lái)一起領(lǐng)略 Linux 目錄權(quán)限的奧秘!

一、Linux 權(quán)限的基礎(chǔ)概念
在 Linux 系統(tǒng)中,所有文件和目錄都遵循一套權(quán)限規(guī)則。這些規(guī)則控制誰(shuí)可以讀(Read)、寫(xiě)(Write)或執(zhí)行(Execute)文件。這聽(tīng)起來(lái)簡(jiǎn)單,但其實(shí)背后有一整套體系。
1. 權(quán)限的三種身份
Linux 把用戶分為三類,每類用戶對(duì)文件/目錄的權(quán)限可以單獨(dú)設(shè)定:
- 所有者(Owner):文件的創(chuàng)建者,一般默認(rèn)是文件的所有者。
 - 所屬組(Group):一群用戶組成的組,文件可以屬于某個(gè)組。
 - 其他用戶(Others):所有不屬于上述兩類的用戶。
 
2. 權(quán)限的三種操作
文件和目錄都有以下三種權(quán)限:
讀權(quán)限(r):
- 文件:可以查看文件內(nèi)容。
 - 目錄:可以列出目錄中的文件。
 
寫(xiě)權(quán)限(w):
- 文件:可以修改文件內(nèi)容。
 - 目錄:可以添加、刪除、重命名目錄內(nèi)的文件。
 
執(zhí)行權(quán)限(x):
- 文件:可以運(yùn)行文件(如腳本)。
 - 目錄:可以進(jìn)入目錄。
 
3. 權(quán)限的表示方法
權(quán)限用 rwx 這三個(gè)字母表示。例如,一個(gè)文件的權(quán)限是 -rw-r--r--,它可以分解為:
- 第一個(gè)字符:- 表示普通文件,d 表示目錄,l 表示符號(hào)鏈接等。
 - 后面的 9 個(gè)字符:分成三組,每組三個(gè),分別表示 所有者、所屬組 和 其他用戶 的權(quán)限。
 
權(quán)限也可以用八進(jìn)制表示:
- r = 4
 - w = 2
 - x = 1
 - 沒(méi)有權(quán)限 = 0
 
例如,rw- 就是 4 + 2 = 6,所以 -rw-r--r-- 可以寫(xiě)成 644。
二、常見(jiàn)的目錄權(quán)限操作
1. 查看權(quán)限:ls -l
最基本的操作就是看看權(quán)限長(zhǎng)什么樣。運(yùn)行以下命令:
ls -l輸出示例:
-rw-r--r--  1 user group  1024 Nov 16  example.txt這里你能看到權(quán)限信息、文件所有者、所屬組、文件大小和修改時(shí)間。
2. 修改權(quán)限:chmod
chmod 是修改文件權(quán)限的主力工具,有兩種使用方法:符號(hào)法和數(shù)字法。
符號(hào)法
chmod u+x example.sh  # 給文件所有者增加執(zhí)行權(quán)限
chmod g-w example.sh  # 移除所屬組的寫(xiě)權(quán)限
chmod o+r example.sh  # 允許其他用戶讀取文件數(shù)字法
chmod 755 example.sh  # 設(shè)置文件權(quán)限為 -rwxr-xr-x
chmod 644 example.txt # 設(shè)置文件權(quán)限為 -rw-r--r--注意:數(shù)字法適合批量操作,但符號(hào)法更直觀!
3. 修改所有者和組:chown 和 chgrp
修改所有者
chown new_owner example.txt修改所屬組
chgrp new_group example.txt同時(shí)修改所有者和組
chown new_owner:new_group example.txt如果你想遞歸修改整個(gè)目錄及其子目錄的所有者/組,加上 -R 參數(shù):
chown -R new_owner:new_group /path/to/directory4. 默認(rèn)權(quán)限:umask
每次新建文件或目錄時(shí),系統(tǒng)會(huì)根據(jù)默認(rèn)的 umask 設(shè)置權(quán)限。可以查看當(dāng)前的 umask:
umask
- 輸出可能是 0022,它會(huì)限制其他用戶的寫(xiě)權(quán)限。
 - 可以修改 umask 來(lái)影響新建文件的權(quán)限:
 - umask 0007 # 讓其他用戶完全沒(méi)有權(quán)限
 
三、有趣的權(quán)限用例
1. 限制目錄訪問(wèn):chmod 700
如果你有一個(gè)私密文件夾,不想讓其他人窺探你的小秘密,可以這樣做:
chmod 700 my_secret_folde這將確保只有你(所有者)可以訪問(wèn)。
2. 共享文件夾:chmod 770
想和團(tuán)隊(duì)共享一個(gè)目錄?可以讓所有組成員都有權(quán)限:
chmod 770 team_folder還可以用 chgrp 修改組為你的團(tuán)隊(duì)組。
3. 阻止意外修改:chmod a-w
你有個(gè)文件,不希望任何人誤操作刪改?禁用寫(xiě)權(quán)限:
chmod a-w important_document.txt4. 臨時(shí)開(kāi)放執(zhí)行權(quán)限:chmod +x
如果下載了一個(gè)腳本,需要臨時(shí)運(yùn)行它,可以快速賦予執(zhí)行權(quán)限:
chmod +x script.sh
./script.sh四、終極問(wèn)題:誰(shuí)動(dòng)了我的權(quán)限?
想要知道誰(shuí)對(duì)你的文件動(dòng)了手腳?可以用 auditd 進(jìn)行監(jiān)控:
1.安裝 auditd:
sudo apt install auditd2.添加監(jiān)控規(guī)則:
sudo auditctl -w /path/to/your/file -p rwxa -k file_monitor3.查看日志:
sudo ausearch -k file_monitor五、總結(jié)
Linux 目錄權(quán)限雖然規(guī)則明確,但靈活多變,用好了可以事半功倍,用不好會(huì)踩各種坑。無(wú)論是保護(hù)自己的文件,還是高效地協(xié)作,掌握權(quán)限管理是不可或缺的一步。















 
 
 







 
 
 
 