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