在Linux中,我們可以對文件或文件夾設(shè)置權(quán)限(r盈包,w沸呐,x,-)呢燥。然而垂谢,對文件和文件夾的權(quán)限設(shè)置,具有不同的意義疮茄。下面滥朱,通過幾個例子來了解一下權(quán)限的意義所在根暑。在開始之前,我們需要了解幾個修改權(quán)限的命令:
備注:在測試環(huán)境中徙邻,通過兩組用戶名/用戶組來演示排嫌。這兩組分別為:root/root,Jonathan/Jonathan缰犁。此外淳地,下面的例子都是連續(xù)的,也就是當前的例子是基于前面的例子帅容。
chgrp - change group颇象,用于修改文件/文件夾的用戶組。
現(xiàn)在并徘,/home/Jonathan/JonathanTestFolder下面有一個JonathanFile.txt遣钳,先來看一下這個文件的屬性,通過ls -l列出:
下面麦乞,通過chgrp蕴茴,將用戶組改成root,即:chgrp root JonathanFile.txt
chown - change ownership姐直,使用該命令改變文件/文件夾的owner倦淀。其實,也可以通過該命令實現(xiàn)chgrp的功能声畏,下面就通過幾個例子來說明:
更改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 [其實撞叽,這里的冒號(:)也是可以用點(.)代替的,但是我們起用戶名的時候插龄,可能也用到來點能扒,所以還是統(tǒng)一用冒號吧]
chmod - change mode,使用該命令改變對文件/文件夾的權(quán)限(即rwx-)辫狼。改變權(quán)限初斑,可以通過下面幾種方式:
-
rwx-對應(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ù)字組合表示。舉個例子,現(xiàn)在JonathanFile.txt的權(quán)限為:-rw-rw-r--锋八,那么用數(shù)值表 示就是:-664≌阌冢現(xiàn)在,我們通過這個命令挟纱,改變這個對這個文件的權(quán)限為:-rwxrwx---羞酗。那么,我們可以執(zhí)行: chmod 770 JonathanFile.txt (在命令中紊服,第一個字符檀轨,也就是表示文件類型的字符不用包括進去)
-
我們也可以直接用rwx來設(shè)置權(quán)限。使用這種方式欺嗤,需要顯示制定用戶/用戶組的權(quán)限参萄。在命令中通過ugoa來表示用戶/用戶組。u代表文件所屬著煎饼,也就是 owner讹挎。以此類推:g表示用戶組,o表示others腺占。a表示all淤袜,所有痒谴。上個例子中衰伯,我們已經(jīng)把權(quán)限改成了rwx rwx ---,現(xiàn)在我們希望owner的權(quán)限依然為rwx积蔚,但是用戶組權(quán)限改為r--意鲸,others的權(quán)限改為r--,那么我們可以執(zhí)行:chmod u=rwx,go=r-- JonathanFile.txt
-
如果我們并不關(guān)心當前的權(quán)限怎樣尽爆,我們只是希望所有用戶(all)都有x的權(quán)限怎顾,那么我們可以執(zhí)行:chmod a+x JonathanFile.txt (+表示增加某種權(quán)限,相應(yīng)的漱贱,-表示去除某種權(quán)限)
到目前為止槐雾,相信我們對chgrp/chown/chmod都有一定的了解了。其實還有很多選項可以和這幾個命令組合使用幅狮,使用的過程中募强,就多man吧。那崇摄,權(quán)限對于文件/文件夾的意義到底是什么呢擎值?
權(quán)限對于文件的意義:對于文件而言,權(quán)限決定了某個用戶可以對一個文件內(nèi)容可以操縱的程度:對文件可讀逐抑、可寫還是可執(zhí)行鸠儿。需要值得注意的是,在 Linux中,文件是否可執(zhí)行并不是通過文件的擴展名控制的进每,而是看是否具有x權(quán)限汹粤。我們可能會遇到在網(wǎng)上下載的文件不可執(zhí)行,那么這種情況可以先檢查一 下對這個文件是否有x權(quán)限品追。/
權(quán)限對于文件夾的意義:其實文件價可以看成一個列表玄括,這個列表里包括來文件價下面的所有文件/文件夾。對于文件夾肉瓦,r和w都好理解遭京,那么x呢?x代表什么泞莉?直接來幾個例子吧:
-
我們修改一下JonathanTestFolder的權(quán)限哪雕,使得用戶Jonathan僅僅具有rw權(quán)限,但沒有x鲫趁。那么斯嚎,ls的時候,我們僅能知道該目錄下面有那么一個文件挨厚,但詳細信息都看不到的堡僻。
-
接著上一個例子,沒有x疫剃,只有rw钉疫,我無法查看該文件夾下面的文件的詳細信息,那么我能在這個文件夾下面創(chuàng)建新文件么巢价。答案是否定的牲阁,因為我沒辦法進入到這個文件夾里,就因為沒有x
通過以上例子壤躲,可以得出x對于文件夾城菊,很重要。即使有rw卻沒有x碉克,我們也沒辦法訪問文件夾下面的文件凌唬。
那么,是不是意味著對文件夾的x權(quán)限漏麦,都應(yīng)該給呢客税?當然不是,當對文件夾有w和x的權(quán)限時唁奢,我們可以刪除文件夾下面的任意文件霎挟,即使我們本身對下面的文件沒有任何權(quán)限。下面來看一個例子:
-
我們修改一下Jonathan對JonathanTestFolder的權(quán)限麻掸,使之為rwx
-
使用root賬戶在JonathanTestFolder下面建立一個文件rootfile.txt酥夭,同時設(shè)置權(quán)限,使得Jonathan對這個文件沒任何權(quán)限
-
使用Jonathan賬戶,刪除rootfile.txt成功熬北!
所以疙描,設(shè)置權(quán)限,一定要慎重哦讶隐!(本文完)