菜鸟学Linux 设置文件/文件夹的权限
在Linux中,我們可以對(duì)文件或文件夾設(shè)置權(quán)限(r,w,x,-)。然而,對(duì)文件和文件夾的權(quán)限設(shè)置,具有不同的意義。下面,通過(guò)幾個(gè)例子來(lái)了解一下權(quán)限的意義所在。在開(kāi)始之前,我們需要了解幾個(gè)修改權(quán)限的命令:
備注:在測(cè)試環(huán)境中,通過(guò)兩組用戶(hù)名/用戶(hù)組來(lái)演示。這兩組分別為:root/root,Jonathan/Jonathan。此外,下面的例子都是連續(xù)的,也就是當(dāng)前的例子是基于前面的例子。
chgrp - change group,用于修改文件/文件夾的用戶(hù)組。
現(xiàn)在,/home/Jonathan/JonathanTestFolder下面有一個(gè)JonathanFile.txt,先來(lái)看一下這個(gè)文件的屬性,通過(guò)ls -l列出:
下面,通過(guò)chgrp,將用戶(hù)組改成root,即:chgrp root JonathanFile.txt
chown - change ownership,使用該命令改變文件/文件夾的owner。其實(shí),也可以通過(guò)該命令實(shí)現(xiàn)chgrp的功能,下面就通過(guò)幾個(gè)例子來(lái)說(shuō)明:
更改JonathanFile.txt的owner為root:chown root JonathanFile.txt
更改JonathanFile.txt的owner/group為Jonathan/Jonathan:chown Jonathan:Jonathan JonathanFile.txt
更改JonathanFile.txt的group為root:chown :root JonathanFile.txt [其實(shí),這里的冒號(hào)(:)也是可以用點(diǎn)(.)代替的,但是我們起用戶(hù)名的時(shí)候,可能也用到來(lái)點(diǎn),所以還是統(tǒng)一用冒號(hào)吧]
chmod - change mode,使用該命令改變對(duì)文件/文件夾的權(quán)限(即rwx-)。改變權(quán)限,可以通過(guò)下面幾種方式:
1. rwx-對(duì)應(yīng)了不同的數(shù)值,即r = 4,w = 2,x = 1,- = 0。所以,rwx = 4 + 2 +1 = 7,rw- = 4 + 2 + 0 = 6。那么,表示權(quán)限的字符串就可以用相應(yīng)的數(shù)字組合表示。舉個(gè)例子,現(xiàn)在JonathanFile.txt的權(quán)限為:-rw-rw-r--,那么用數(shù)值表示就是:-664?,F(xiàn)在,我們通過(guò)這個(gè)命令,改變這個(gè)對(duì)這個(gè)文件的權(quán)限為:-rwxrwx---。那么,我們可以執(zhí)行: chmod 770 JonathanFile.txt (在命令中,第一個(gè)字符,也就是表示文件類(lèi)型的字符不用包括進(jìn)去)
2. 我們也可以直接用rwx來(lái)設(shè)置權(quán)限。使用這種方式,需要顯示制定用戶(hù)/用戶(hù)組的權(quán)限。在命令中通過(guò)ugoa來(lái)表示用戶(hù)/用戶(hù)組。u代表文件所屬著,也就是owner。以此類(lèi)推:g表示用戶(hù)組,o表示others。a表示all,所有。上個(gè)例子中,我們已經(jīng)把權(quán)限改成了rwx rwx ---,現(xiàn)在我們希望owner的權(quán)限依然為rwx,但是用戶(hù)組權(quán)限改為r--,others的權(quán)限改為r--,那么我們可以執(zhí)行:chmod u=rwx,go=r-- JonathanFile.txt
3. 如果我們并不關(guān)心當(dāng)前的權(quán)限怎樣,我們只是希望所有用戶(hù)(all)都有x的權(quán)限,那么我們可以執(zhí)行:chmod a+x JonathanFile.txt (+表示增加某種權(quán)限,相應(yīng)的,-表示去除某種權(quán)限)
到目前為止,相信我們對(duì)chgrp/chown/chmod都有一定的了解了。其實(shí)還有很多選項(xiàng)可以和這幾個(gè)命令組合使用,使用的過(guò)程中,就多man吧。那,權(quán)限對(duì)于文件/文件夾的意義到底是什么呢?
權(quán)限對(duì)于文件的意義:對(duì)于文件而言,權(quán)限決定了某個(gè)用戶(hù)可以對(duì)一個(gè)文件內(nèi)容可以操縱的程度:對(duì)文件可讀、可寫(xiě)還是可執(zhí)行。需要值得注意的是,在Linux中,文件是否可執(zhí)行并不是通過(guò)文件的擴(kuò)展名控制的,而是看是否具有x權(quán)限。我們可能會(huì)遇到在網(wǎng)上下載的文件不可執(zhí)行,那么這種情況可以先檢查一下對(duì)這個(gè)文件是否有x權(quán)限。/
權(quán)限對(duì)于文件夾的意義:其實(shí)文件價(jià)可以看成一個(gè)列表,這個(gè)列表里包括來(lái)文件價(jià)下面的所有文件/文件夾。對(duì)于文件夾,r和w都好理解,那么x呢?x代表什么?直接來(lái)幾個(gè)例子吧:
1. 我們修改一下JonathanTestFolder的權(quán)限,使得用戶(hù)Jonathan僅僅具有rw權(quán)限,但沒(méi)有x。那么,ls的時(shí)候,我們僅能知道該目錄下面有那么一個(gè)文件,但詳細(xì)信息都看不到的。
2. 接著上一個(gè)例子,沒(méi)有x,只有rw,我無(wú)法查看該文件夾下面的文件的詳細(xì)信息,那么我能在這個(gè)文件夾下面創(chuàng)建新文件么。答案是否定的,因?yàn)槲覜](méi)辦法進(jìn)入到這個(gè)文件夾里,就因?yàn)闆](méi)有x
通過(guò)以上例子,可以得出x對(duì)于文件夾,很重要。即使有rw卻沒(méi)有x,我們也沒(méi)辦法訪問(wèn)文件夾下面的文件。
那么,是不是意味著對(duì)文件夾的x權(quán)限,都應(yīng)該給呢?當(dāng)然不是,當(dāng)對(duì)文件夾有w和x的權(quán)限時(shí),我們可以刪除文件夾下面的任意文件,即使我們本身對(duì)下面的文件沒(méi)有任何權(quán)限。下面來(lái)看一個(gè)例子:
1. 我們修改一下Jonathan對(duì)JonathanTestFolder的權(quán)限,使之為rwx
2. 使用root賬戶(hù)在JonathanTestFolder下面建立一個(gè)文件rootfile.txt,同時(shí)設(shè)置權(quán)限,使得Jonathan對(duì)這個(gè)文件沒(méi)任何權(quán)限
3. 使用Jonathan賬戶(hù),刪除rootfile.txt成功!
所以,設(shè)置權(quán)限,一定要慎重哦!(本文完)
總結(jié)
以上是生活随笔為你收集整理的菜鸟学Linux 设置文件/文件夹的权限的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是HTTP协议?常用的状态码有哪些?
- 下一篇: Mac怎样打出苹果符号?Mac特殊符号怎