Linux11-权限的介绍 rwx详解 修改权限 修改文件目录所有者 修改文件目录所在组 一个实践和两个练习
目錄
一 權限的基本介紹
0位:確定文件類型(常見類型五種 -? l? d? c? b)
-:普通文件
l:鏈接,相當于win下的快捷方式
d:目錄,相當于win下的文件夾
c:字符設備文件,鼠標鍵盤
b:塊設備,硬盤
1-3位:文改文件的所有者擁有該文件的權限? User
4-6位:文件所在組內的用戶擁有該文件的權限? Group
7-9位:其他組內用戶擁有改文件的權限? Other
二 rwx權限詳解----難點
1 rwx作用到文件
2 rwx作用到目錄
三 文件和目錄權限實際案例
前10個字符說明
數字說明
tom說明
root說明
0說明
8月 ?23 11:52 說明
apple.txt說明
四 修改權限 chmod
基本說明
第一種方式:通過+ - = 變更權限
(1)chmod? u=rwx,g=rx,o=x? 文件/目錄名? ?
(2)chmod o+w 文件/目錄名
(3)chmod a-x 文件/目錄名
案例演示
第二種方式:通過數字變更權限
五 修改文件所有者 chown
1 基本介紹
2 案例
六 修改文件/目錄所在組 chgrp
1 基本介紹
2 案例
七 最佳實踐 警察和土匪游戲---有點復雜
八 練習1
(1)創建兩個組,神仙sx 妖怪yg
(2)創建4個用戶,唐僧 悟空 八戒 沙僧
(3)設置密碼
?(4)把悟空 八戒放在妖怪組,唐僧沙僧放在神仙組
?(5)用悟空建立一個文件monkey.java 該文件要輸出i am monkey
(6)給八戒一個可以rw的權限
(7)八戒修改monkey.java 加入一句話? i am pig
(8)唐僧 沙僧 對該文件沒有權限
(9)把沙僧放入妖怪組
(10)讓沙僧修改monke.java文件,加入一句話 我是沙僧 我是妖怪
(11)對文件夾rwx的細節討論和測試
只給所有者所在組對目錄wukong的x權限,看所在組其他用戶可以操作什么
?所有者所在組添加目錄wukong的r權限,看看各種操作如何
現在用wukong賬號給g添加w權限,看看各種操作如何
文件/目錄rwx超級總結!!!!!區別于單獨文件的rwx
九 練習2
一 權限的基本介紹
ls -l或ll指令下顯示的內容如下
對于apple.txt文件來說
-rw-r--r--. 1 tom ?root ? ? ? ?0 8月 ?23 11:52 apple.txt
-rw-r--r--共十位
0-9位說明:
0位:確定文件類型(常見類型五種 -? l? d? c? b)
-:普通文件
比如下面的apple.txt文件
l:鏈接,相當于win下的快捷方式
比如在/home下創建軟鏈接myroot鏈接到/root如下
這里寫錯了指令,需要刪除無效的軟連接,rm –rf? ?./軟鏈接名稱。
詳細參考Linux軟鏈接創建及刪除 - 開發者知識庫
正確的寫法應該是ln? -s? ?[源文件]? ?[軟鏈接文件]? ?如下
0位顯示l,表示鏈接
d:目錄,相當于win下的文件夾
比如fox前面的是d,代表fox是一個目錄
c:字符設備文件,鼠標鍵盤
dev目錄下有很多文件時c開頭的,代表終端/設備
b:塊設備,硬盤
還是剛剛dev目錄下,很多b開頭的,說明sda sda1 sda2 sda3 等等都是塊設備
1-3位:文改文件的所有者擁有該文件的權限? User
上圖表示文件所有者對該文件有讀寫權限
4-6位:文件所在組內的用戶擁有該文件的權限? Group
上圖表示同組內用戶對該文件只有讀權限
7-9位:其他組內用戶擁有改文件的權限? Other
上圖表示其他組用戶對該文件只有讀權限
二 rwx權限詳解----難點
1 rwx作用到文件
(1)r :可讀,read,可以讀取和查看
(2)w:可寫,write,可以修改,但是不可刪除,必須對該文件所在目錄有寫權限才能刪除
(3)x:可執行,execute,可以被執行,前提是該文件為可執行文件
2 rwx作用到目錄
(1)r :可讀,read,可以讀取,ls查看目錄內容
(2)w:可寫,write,可以修改,對目錄 創建 刪除 重命名目錄
(3)x:可執行,execute,可以使用cd進入該目錄
三 文件和目錄權限實際案例
在/home目錄下輸出指令ls -l? 或? ?ll 中顯示的內容如下
現在對apple.txt這一行進行解釋
-rw-r--r--. 1 tom ?root ? ? ? ?0 8月 ?23 11:52 apple.txt
前10個字符說明
確定不同用戶能對文件干什么
第一個字符(- l d b c)代表文件類型:這里是-,根據前面說的,代表普通文件,也即apple.txt是個普通文件
其余字符每3個一組rwx 讀 寫 執行
第一組rwx:這里是rw-,代表文件擁有者(tom)的權限是讀寫,不能執行
第二組rw-:這里是r--,與文件擁有者同一組(root組)的用戶的權限是讀,但是不能寫和執行
第三組r--:這里是r--,不與文件擁有者同組(除root以外的組)的其他用戶的權限是讀,但是不能寫和執行
可以用數字表示為 r = 4,w = 2,x=1 因此rwx = 4+2+1=7,數字可以進行組合
數字說明
-rw-r--r--. 1 tom ?root ? ? ? ?0 8月 ?23 11:52 apple.txt
數字1 這里代表文件,也可以代表目錄
代表普通文件:直接顯示1
代表目錄:顯示子目錄數+文件數的總和? ? ? ?有時候不太準確原因暫時不清楚
tom說明
root 用戶
root說明
所在組
0說明
文件大小(字節),如果是文件夾,顯示4096字節
比如hello.txt大小這里顯示的是74,用vim打開
修改如下,退出保存
?再重新查看hello.txt大小變成了6,也就是hello加上某位的0一個6個字節
8月 ?23 11:52 說明
最后修改日期,上圖也可以看出apple.txt修改后時間也會發生改變
apple.txt說明
文件名
四 修改權限? chmod
基本說明
通過chomd指令,可以修改文件或者目錄的權限
第一種方式:通過+ - = 變更權限
u:所有者? ? g:所有組? ? ?o:其他人? ? a:所有人(u g o的總和)
(1)chmod? u=rwx,g=rx,o=x? 文件/目錄名? ?
解釋:使用chmod指令對 文件/目錄所有者u 賦予rwx權限,對文件所在組內用戶g 賦予rx權限,對其他組用戶o賦予x權限
(2)chmod o+w 文件/目錄名
解釋:使用chmod指令對 文件/目錄的其他組用戶o賦予w權限
(3)chmod a-x 文件/目錄名
解釋:將所有用戶的x權限去除
案例演示
(1)給abc文件的所有者u讀寫執行權限,給所在組g讀執行權限,給其他組o讀執行權限
chmod u=rwx,g=rx,o=rx abc
?abc呈現綠色代表abc是可執行文件
(2)給abc文件的所有者u除去執行的權限,增加所在組g寫的權限
chmod u-x,g+w abc
(3)給abc文件的所有用戶a添加讀的權限
chmod a+r abc
第二種方式:通過數字變更權限
r=4 w=2 x=1? rwx=4+2+1=7?
1 x 執行? ?2 w 寫讀? ? 3 wx 寫 執行? ?4 r 讀
5 rx 讀 執行? ? ?6 rw 讀寫? ? ? 7 rwx 讀寫執行
chomd u=rwx,g=rx,o=x 文件/目錄名? ? 相當于 chmod 751 文件/目錄名
例:將/home/abc.txt文件的權限修改成 rwxr-xr-x 使用給數字的方式實現
chmod 755/home/abc.txt
五 修改文件/目錄????????所有者 chown
1 基本介紹
chown newowner 文件/目錄? ? ? ? ?改變所有者
chown newowner:newgroup 文件/目錄? ? ? ? 改變所有者和所在組
-R? ?如果是目錄 則使其下所有子文件或目錄遞歸生效
2 案例
例1:將/home/abc.txt文件的所有者改為tom
步驟1:root登錄下創建abc.txt,可以看出當前abc.txt文件的所有者是root,所在組是root
步驟2:把所有者改成tom? ?chown tom /home/abc.txt
例2:將/home/bob目錄下的所有文件和目錄的所有者都修改為tom
/home/bob示意圖如下
步驟1:查看bob目錄的所有者,可以看出bob下面有兩個文件a b和一個目錄aaa,所有者都是bob
步驟2:修改該目錄下所有文件和目錄的所有者為tom? ?chown -R tom /home/bob
上圖可以看出bob目錄所有者已經更改為tom
上圖可以看出bob目錄下的aaa目錄以及a b兩個文件的所有者也都成為了tom
上圖可以看出aaa目錄下的文件c所有者也成為了tom?
也就是示意圖中黃色的部分所有者全都換成了tom
六 修改文件/目錄所在組 chgrp
1 基本介紹
chgrp newgroup 文件/目錄? ? ? 改變所在組
2 案例
例1:將/home/abc.txt文件的所在組修改為shaolin
步驟1:新建組 shaolin? ? 指令? ?groupadd shaolin
步驟2:在home目錄下查看abc.txt現在的所在組
步驟3:chgrp shaolin /home/abc.txt
?例2:將/home/bob 目錄下的所有文件和目錄的所在組都修改成shaolin
步驟1:查看/home/bob當前所在組,如下圖,所在組為bob
?步驟2:chgrp -R shaolin /home/bob
?和前面修改所有者一樣,-R遞歸作用使得所有bob下面的所有目錄和文件全都更改了所在組
七 最佳實踐 警察和土匪游戲---有點復雜
police , bandit
jack,jerry:警察
xh,xq:土匪
要求1:創建組 groupadd police;groupadd bandit
要求2:創建用戶,設置密碼
useradd -g police jack;useradd -g police jerry
useradd -g bandit xh;useradd -g bandit xq
要求3:jcak創建一個文件jack.txt,自己可以讀r=4寫w=2,本組人可以讀r=4,其他人沒有權限0
步驟1:重新打開一個會話用jack身份登錄,創建jack.txt文件 touch jack.txt?或者?vim jack.txt
步驟2:查看jack.txt的權限
步驟3:設置權限? chmod 640 jack.txt
要求4:jack修改該文件,讓其他組的人可以讀r=4,本組的人可以讀r=4寫w=2
翻譯:jack自己的權限沒有改變
chomd o=r,g=r jcak.txt? ? 或者? ? ?chmod 644 jack.txt
要求5:xh投靠警察,看看能不能讀寫? ?
翻譯:要用root賬戶,修改xh的組
usermod -g police xh
要求6:測試,看看xh是否可以讀寫,xq是否可以讀寫
步驟1:登錄xh,xq,jerry
步驟2:在xh的會話中,查看jack目錄
看jack這個目錄可以看出只有jack自己可以rwx,g和o沒有任何權限
即使現在xh是police組的用戶,也無法對jack進行任何操作,因為police這個組對jack沒有權限,有權限的只有jack用戶自己
結論:如果要對目錄內的文件進行操作,需要有對該目錄的相應權限
想要xh對jack目錄有權限,直接用root或jack用戶放開g的權限
現在和jack同組的用戶就可以對jack里面的文件目錄有rwx權限了?;氐絰h的會話就會有相應的權限了,但是不能修改(不能vim修改)
八 練習1
(1)創建兩個組,神仙sx 妖怪yg
(2)創建4個用戶,唐僧 悟空 八戒 沙僧
(3)設置密碼
(4)把悟空 八戒放在妖怪組,唐僧沙僧放在神仙組
翻譯:這是改變用戶所在組,應該用usermod -g 而不是chgrp,chgrp是用來修改文件/目錄所在組的
(5)用悟空建立一個文件monkey.java 該文件要輸出i am monkey
首先新建會話用wukong的賬戶密碼登錄
然后vim monkey.java
進入vim界面后輸入i開始編輯,輸入i am monkey,然后點擊esc,輸入:wq回到xshell會話界面
然后查看一下monkey.java的權限
(6)給八戒一個可以rw的權限
目前八戒在yg組,悟空也在yg組,monkey.java對于所在組的權限是r,所以只要給同組g添加一個w權限即可
chmod g+w monkey.java
(7)八戒修改monkey.java 加入一句話? i am pig
用bajie登錄一個會話,可以看見無法進入wukong的家目錄
在wukong的會話中查看wukong這個目錄的權限如下
說明只有悟空用戶自己有rwx權限,同組內用戶也就是yg組內的bajie是沒有任何權限的
需要在wukong的會話中給所在組添加權限
chmod g+r+w+x
回到bajie會話再次嘗試cd到wukong目錄
可以看出已經進入成功了,而且由于(6)中monkey.txt文件給了bajierw權限,所以這里顯示的權限是rw-,可以使用vim直接進入該文件進行修改
?
(8)唐僧 沙僧 對該文件沒有權限
用shaseng登錄會話嘗試cd到wukong文件,發現沒有權限,因為shaseng在sx組?
(9)把沙僧放入妖怪組
修改用戶所在組? usermod -g yg shaseng? ?注意這里要使用root用戶來修改用戶所在組
回到沙僧會話,嘗試進入wukong文件
發現還是不行,回到root用戶會話查看shaseng的id發現組信息修改為yg是正確的
現在嘗試退出shaseng重新登錄一次再嘗試
發現重新登錄后就可以進入wukong目錄了,這是以為環境變量,后面會說
(10)讓沙僧修改monke.java文件,加入一句話 我是沙僧 我是妖怪
shaseng對monkey.java的權限是rw,可以使用vim進行修改
(11)對文件夾rwx的細節討論和測試
只給所有者所在組對目錄wukong的x權限,看所在組其他用戶可以操作什么
在root會話中將wukong文件所在組用戶的權限收回
現在給所在組用戶x權限
?在bajie會話中嘗試進入wukong文件
發現bajie對wukong文件有x權限,可以執行,也可以cd進wukong目錄,但是不能讀取wukong這個文件,因為沒有w權限。也就是ls wukong這個指令沒有權限,無法列出這個目錄里的東西
作為所在組用戶,對wukong這個目錄只有x執行權限,可以cd進來,不可以ls列出內容。對于wukong目錄下的monkey文件是否有w權限?vim一下
?
總結
對目錄有r權限代表可以ls這個目錄列出目錄下內容,如果對目錄沒有r權限則ls不能使用,但是如果對目錄下的文件有w權限,那么還是可以vim修改等操作的
?所有者所在組添加目錄wukong的r權限,看看各種操作如何
?首先在root會話中chmod g+r /home/wukong
現在嘗試bajie是否可以ls列出wukong目錄內容,如下圖所示,已經可以ls了
現在嘗試touch一個文件,發現沒有權限,需要root添加w權限
?現在嘗試刪除文件monkey.java,發現沒有權限,需要root添加w權限
現在用wukong賬號給g添加w權限,看看各種操作如何
注意:root和wukong兩個賬號都可以
再次嘗試bajie能否touch和rm monkey.java,發現都可以了
文件/目錄rwx超級總結!!!!!區別于單獨文件的rwx
x:表示可以進入到該目錄,比如cd,但是不能ls顯示目錄下的內容,不能在目錄下創建文件touch,不能刪除目錄下文件rm
r:表示可以ls,顯示目錄下內容,但是不能在目錄下創建touch文件,也不能刪除rm目錄下的文件
w:表示可以在該目錄下刪除rm或創建touch文件
九 練習2
(1)用root登錄,建立用戶mycentos,自己設置密碼
?(2)用mycentos登錄,在主目錄下建立目錄test/t11/t1
首先主目錄就是家目錄,這里就是/home/mycentos
?這里是創建多級目錄,要用mkdir -p命令
(3)在t1中建立一個文本文件aa,用vi編輯其內容為ls -al
(4)改變aa的權限為可執行文件(可以將當前日期追加到一個文件),運行改文件./aa
注意下面兩條指令的作用相同
追加日期到aa.txt文件
(5)刪除新建立的目錄test/t11/t1
(6)刪除用戶mycentos及其主目錄中的內容?
待解決。。。?
總結
以上是生活随笔為你收集整理的Linux11-权限的介绍 rwx详解 修改权限 修改文件目录所有者 修改文件目录所在组 一个实践和两个练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gitlab 仓库搭建(详细版)
- 下一篇: 机器学习与气象数据_气象大数据与机器学习