爲什麼需要Linux權限管理?¶
在計算機世界裏,權限就像一把鑰匙,決定誰能打開哪些門。Linux作爲多用戶操作系統,每個用戶(比如你、我、系統服務)都有自己的“鑰匙”,用來訪問文件、目錄或執行命令。沒有權限管理,隨便一個用戶就能刪除系統文件、查看別人的隱私,那系統就亂套了。所以權限管理主要有兩個目的:一是保護系統安全,防止誤操作或惡意行爲;二是分工協作,讓不同用戶根據任務需求獲取合適的權限(比如普通用戶只能處理自己的文件,管理員能管理整個系統)。
核心概念:用戶、組與權限¶
要理解權限,先得搞懂三個基本概念:用戶、組、權限類型。
1. 用戶(User)¶
Linux系統中,每個用戶都有唯一的身份標識,比如你創建的用戶叫“小明”,系統自帶的用戶叫“root”(超級管理員)。
- 普通用戶:比如小明,只能做日常操作(看文件、寫自己的文檔),權限有限。
- 系統用戶:比如“nobody”“daemon”,是系統服務專用的,權限很低,防止服務程序越權。
- root用戶:系統的“超級管理員”,擁有所有權限,但也最危險(誤操作會毀掉系統),建議日常少用root。
2. 組(Group)¶
組是用戶的“小團體”,多個用戶可以加入同一個組,方便統一管理權限。比如開發團隊所有人加入“dev”組,組長給組內成員分配“寫代碼”的權限,其他組用戶就沒這個權限了。
- 每個文件/目錄也有“所屬組”,默認和創建它的用戶組一致。
3. 權限類型¶
Linux中,每個文件/目錄的權限分爲三類,針對不同用戶:
- 所有者(User/Owner):創建文件的用戶,默認擁有最高權限。
- 所屬組(Group):文件所屬的組,組內成員共享組權限。
- 其他用戶(Others):系統中除所有者和所屬組外的其他用戶。
每類權限又分爲三種操作:讀(r)、寫(w)、執行(x)。
權限表:rwx到底是什麼?¶
| 權限類型 | 讀(r) | 寫(w) | 執行(x) |
|---|---|---|---|
| 文件 | 查看內容 | 修改內容 | 運行程序(如腳本、可執行文件) |
| 目錄 | 列出目錄內容(ls) | 創建/刪除文件 | 進入目錄(cd) |
舉個例子:-rwxr-xr-- 表示:
- 所有者(第一個rwx):可讀、可寫、可執行(7)
- 所屬組(中間r-x):可讀、可執行(5)
- 其他用戶(最後r–):只讀(4)
如何查看和修改權限?¶
1. 查看權限:用ls -l¶
執行ls -l(或ll,是ls -l的簡寫),就能看到文件/目錄的詳細權限。
示例輸出:
-rwxr-xr-- 1 小明 開發組 100 10月1日 14:30 test.txt
- 第一個字符
-:表示文件類型(目錄是d,軟鏈接是l) - 接下來
rwxr-xr--:權限信息(所有者、組、其他) 1:硬鏈接數(一般是1)小明:文件所有者開發組:文件所屬組100:文件大小(字節)10月1日 14:30:修改時間test.txt:文件名
2. 修改權限:用chmod¶
修改權限有兩種方法:數字法(簡單直觀)和符號法(精確控制)。
(1)數字法:用數字代表權限(r=4, w=2, x=1)¶
權限組合用數字相加表示,比如:
- rwx(讀+寫+執行)= 4+2+1=7
- rw-(讀+寫)= 4+2=6
- r-x(讀+執行)= 4+1=5
- --x(僅執行)= 1
語法:chmod [數字] 目標文件
示例:
- chmod 754 test.txt:所有者(7=rwx)、組(5=r-x)、其他(4=r–)
- chmod 644 test.txt:所有者(rw)、組(r)、其他(r)
(2)符號法:用文字描述增減權限¶
語法:chmod [操作符][權限類型] 目標文件
- 操作符:+(增加)、-(減少)、=(設置)
- 權限類型:u(所有者)、g(組)、o(其他)、a(所有用戶)
示例:
- chmod u+x test.txt:給所有者增加執行權限(原來可能只有rwx,現在還是rwx,但如果原來是rw-,加x後變成rwx)
- chmod go-r test.txt:給組和其他用戶減少讀權限
- chmod a=rwx test.txt:給所有用戶設置全部權限(rwx)
3. 修改文件所有者/組:chown和chgrp¶
如果需要把文件交給別人管理,用chown(修改所有者)或chgrp(修改所屬組)。
- chown 新所有者 文件/目錄:比如chown 小紅 test.txt
- chgrp 新組 文件/目錄:比如chgrp 設計組 test.txt
常見場景與注意事項¶
新手常遇到的問題:¶
-
我創建的文件爲什麼沒權限修改?
可能是文件所有者不是你,或者權限被限制。用ls -l查看權限,若所有者是root,你需要chown 你的用戶名 文件,或用sudo chown 你的用戶名 文件。 -
目錄權限不夠,進不去怎麼辦?
目錄需要執行權限(x)才能進入(cd)。比如目錄docs沒權限進入,先檢查ls -ld docs,若顯示drw-r--r--,說明目錄的x權限沒開,用chmod +x docs增加執行權限。 -
普通用戶怎麼用sudo執行命令?
管理員提前把普通用戶加入sudo組,然後用sudo 命令臨時獲取root權限。比如sudo apt install vim(安裝軟件)。
安全小貼士:¶
- 別給
others寫權限:比如chmod o+w test.txt,可能被別人修改或刪除。 - 少用root做日常操作:用
sudo代替su -,降低風險。 - 定期檢查權限:比如發現某個文件突然被別人改了,用
ls -l查看權限是否異常。
總結¶
Linux權限管理的核心是:三類用戶(所有者、組、其他)+三類操作(讀、寫、執行)。掌握ls -l(看權限)、chmod(改權限)、chown/chgrp(改所有者/組)這三個命令,就能應對大部分權限問題。剛開始可能覺得複雜,但多動手練習(比如創建用戶、改文件權限),很快就能熟練啦!
小練習:試着創建一個文件,用ls -l看權限,用chmod 754修改,再用chown改成自己的用戶,最後chgrp改成一個組,觀察權限變化。