1. 權限的基本介紹
ls -l中顯示的內容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9位說明
- 第
0位確定文件類型(d, - , l , c , b)
l是鏈接,相當於 windows 的快捷方式
d是目錄,相當於 windows 的文件夾
c是字符設備文件,鼠標,鍵盤
b是塊設備,比如硬盤 - 第
1-3位確定所有者(該文件的所有者)擁有該文件的權限。---User - 第
4-6位確定所屬組(同用戶組的)擁有該文件的權限,---Group - 第
7-9位確定其他用戶擁有該文件的權限 ---Other
2. rwx 權限詳解
2.1 rwx 作用到文件
[ r ]代表可讀(read): 可以讀取,查看[ w ]代表可寫(write): 可以修改,但是不代表可以刪除該文件,刪除一個文件的前提條件是對該文件所在的目錄有寫權限,才能刪除該文件.[ x ]代表可執行(execute):可以被執行
2.2 rwx 作用到目錄
[ r ]代表可讀(read): 可以讀取,ls 查看目錄內容[ w ]代表可寫(write): 可以修改, 對目錄內創建+刪除+重命名目錄[ x ]代表可執行(execute):可以進入該目錄
3. 文件及目錄權限實際案例
3.1 ls -l 中顯示的內容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 ab
- 10 個字符確定不同用戶能對文件干什么
- 第一個字符代表文件類型:
- l d c b
其余字符每 3 個一組(rwx) 讀(r) 寫(w) 執行(x) - 第一組
rwx: 文件擁有者的權限是讀、寫和執行 - 第二組
rw-: 與文件擁有者同一組的用戶的權限是讀、寫但不能執行 - 第三組
r--: 不與文件擁有者同組的其他用戶的權限是讀不能寫和執行
- 可用數字表示為:
r=4,w=2,x=1因此rwx=4+2+1=7, 數字可以進行組合 - 其它說明
1 文件:硬連接數或 目錄:子目錄數
root 用戶
root 組
1213 文件大小(字節),如果是文件夾,顯示 4096 字節
Feb 2 09:39 最后修改日期
abc 文件名
4. 修改權限-chmod
4.1 基本說明:
- 通過 chmod 指令,可以修改文件或者目錄的權限。
4.2 第一種方式:+ 、-、= 變更權限
u:所有者,g:所有組,o:其他人,a:所有人(u、g、o的總和)
chmod u=rwx,g=rx,o=x 文件/目錄名chmod o+w 文件/目錄名chmod a-x 文件/目錄名
- 案例演示
- 給
abc文件 的所有者讀寫執行的權限,給所在組讀執行權限,給其它組讀執行權限。
chmod u=rwx,g=rx,o=rx abc
- 給
abc文件的所有者除去執行的權限,增加組寫的權限
chmod u-x,g+w abc
- 給
abc文件的所有用戶添加讀的權限
chmod a+r abc
4.3 第二種方式:通過數字變更權限
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目錄名
相當於
chmod 751 文件/目錄名
- 案例演示
要求:將/home/abc.txt文件的權限修改成rwxr-xr-x, 使用給數字的方式實現:
chmod 755 /home/abc.t
5. 修改文件所有者-chown
5.1 基本介紹
chown newowner 文件/目錄 改變所有者
chown newowner:newgroup 文件/目錄 改變所有者和所在組
-R :如果是目錄 則使其下所有子文件或目錄遞歸生效
- 案例演示
- 請將
/home/abc.txt文件的所有者修改成tom
chown tom /home/abc.txt
- 請將
/home/test目錄下所有的文件和目錄的所有者都修改成tom
chown -R tom /home/test
6. 修改文件/目錄所在組-chgrp
6.1 基本介紹
chgrp newgroup 文件/目錄 【 改變所在組】
6.2 案例演示
- 請將
/home/abc.txt文件的所在組修改成shaolin(少林)
groupadd shaolin
chgrp shaolin /home/abc.txt
- 請將
/home/test目錄下所有的文件和目錄的所在組都修改成shaolin(少林)
chgrp -R shaolin /home/test
6.3 最佳實踐-警察和土匪游戲
police , bandit
jack, jerry: 警察
xh, xq: 土匪
- 創建組
groupadd police;groupadd bandit - 創建用戶
useradd -g police jack ; useradd -g police jerry
useradd -g bandit xh; useradd -g bandit xq
jack創建一個文件,自己可以讀r寫w,本組人可以讀,其它組沒人任何權限
首先jack登錄 ;vim jack.txt;chmod 640 jack.txtjack修改該文件,讓其它組人可以讀, 本組人可以讀寫
chmod o=r,g=r jack.txt
xh投靠 警察,看看是否可以讀寫.usermod -g police xh- 測試,看看
xh是否可以讀寫,xq是否可以, 小結論,就是如果要對目錄內的文件進行操作,需要要有對該目錄的
相應權限 - 示意圖

6.4 課后練習 1
- 練習文件權限管理[課堂練習], 完成如下操作.
- 建立兩個組(神仙(sx),妖怪(yg))
- 建立四個用戶(唐僧,悟空,八戒,沙僧)
- 設置密碼
- 把悟空,八戒放入妖怪 唐僧 沙僧 在神仙
- 用悟空建立一個文件 (monkey.java 該文件要輸出 i am monkey)
- 給八戒一個可以 r w 的權限
- 八戒修改 monkey.java 加入一句話( i am pig)
- 唐僧 沙僧 對該文件沒有權限
- 把 沙僧 放入妖怪組
- 讓沙僧 修改 該文件 monkey, 加入一句話 ("我是沙僧,我是妖怪!");
- 對文件夾 rwx 的細節討論和測試!!!
x: 表示可以進入到該目錄, 比如 cd
r: 表示可以 ls , 將目錄的內容顯示
w: 表示可以在該目錄,刪除或者創建文件 - 示意圖

6.5 課后練習 2
- 用 root 登錄,建立用戶 mycentos,自己設定密碼
- 用 mycentos 登錄,在主目錄下建立目錄 test/t11/t1
- 在 t1 中建立一個文本文件 aa,用 vi 編輯其內容為 ls –al
- 改變 aa 的權限為可執行文件[可以將當前日期追加到一個文件],運行該文件./aa
- 刪除新建立的目錄 test/t11/t1
- 刪除用戶 mycentos 及其主目錄中的內容
- 將 linux 設置成進入到圖形界面的
- 重新啟動 linux 或關機
