linux是一個(gè)多用戶(hù),多任務(wù)的操作系統(tǒng),對(duì)于每一個(gè)文件它的屬性中都包括:文件所有者(owner),文件所屬組(group),其他用戶(hù)(other),還必須具備與這三個(gè)角色對(duì)應(yīng)的讀,寫(xiě),執(zhí)行的權(quán)限,如下圖:

在tmp目錄下面有一個(gè)a.txt文件,我們通過(guò)ls -l命令可以查看其詳細(xì)信息:
-:表示普通文件,d:表示目錄文件,l:鏈接文件,b:設(shè)備文件中可以供存儲(chǔ)的接口設(shè)備,c:設(shè)備文件中串行端口設(shè)備如鍵盤(pán)。
由于最前面是-:所以a.txt是普通文件。
再看 rw-r--r--部分,我們將其分為三組,分別對(duì)應(yīng)文件所有者,文件所屬組,其他用戶(hù)的權(quán)限.
其中r代表讀取權(quán)限,w:代表寫(xiě)權(quán)限,x:代表執(zhí)行權(quán)限(這里沒(méi)出現(xiàn)),-:代表沒(méi)有某種權(quán)限。
那對(duì)上面的權(quán)限的解釋就是:
owner:可以讀和寫(xiě),不能執(zhí)行
group:可以讀取不能寫(xiě),不能執(zhí)行
other:可以讀取,不能寫(xiě),不能執(zhí)行
第一個(gè)root代表文件所有者,第二個(gè)root代表文件所屬組
那么現(xiàn)在我如果想修改文件所有者,文件所屬組,文件權(quán)限該怎么做,請(qǐng)繼續(xù)向下閱讀:
chgrp:修改用戶(hù)所屬組,chown:修改文件所有者,chmod:修改文件權(quán)限
假設(shè)我的系統(tǒng)中又一個(gè)叫g(shù)avin的組(通過(guò)/etc/group查看)

如上圖,通過(guò)chgrp命令將該文件的group修改為了gavin
下面修改其所有者:

修改其權(quán)限:

chmod 777 a.txt 這個(gè)777代表什么?
在linux中使用數(shù)字代表權(quán)限:
r:4 w:2 x:1
r-- =4+0+0=4;
rw- =4+2+0=6;
rwx =4+2+1=7
相信寫(xiě)到這里大家都應(yīng)該明白了吧。
權(quán)限對(duì)于文件和文件夾的意義是不一樣的,
對(duì)于文件:
r:代表可以讀取文件的內(nèi)容,w:代表可以修改文件的內(nèi)容,x:可以執(zhí)行這個(gè)文件
對(duì)于文件夾:
r:可以獲取文件夾中又哪些文件,w:可以添加和刪除文件夾中的內(nèi)容,x:可以進(jìn)入文件夾,
如果某個(gè)角色對(duì)于一個(gè)文件夾的權(quán)限是rw-;
那么他僅僅可以使用ls獲取文件夾中的內(nèi)容,但是不可以使用cd進(jìn)入該文件夾。
文件的權(quán)限告一段落,現(xiàn)在來(lái)看看linux中的那些常見(jiàn)目錄中的內(nèi)容:
/bin 系統(tǒng)有很多放置執(zhí)行文件的目錄,但是/bin比較特殊,因?yàn)?bin放置的是在單用戶(hù)維護(hù)模式下還能夠被操作的命令,在/bin下面的命令可以被root和一般賬戶(hù)使用,如:cat,chmod,chown,data,mv,mkdir,cp ,bash等常用命令。
/boot 主要放置開(kāi)機(jī)使用到的文件
/dev 在linux系統(tǒng)中任何設(shè)備與接口設(shè)備都是以文件的形式存在于這個(gè)目錄當(dāng)中,你只要訪問(wèn)某個(gè)文件就相當(dāng)于訪問(wèn)該設(shè)備
/etc 系統(tǒng)的主要配置文件幾乎都在這個(gè)文件夾類(lèi)。
/home 這是系統(tǒng)默認(rèn)的用戶(hù)主文件夾
/lib 系統(tǒng)的函數(shù)庫(kù)非常多,二/lib放置的是開(kāi)機(jī)會(huì)使用到的函數(shù)庫(kù)
/mnt 如果你想臨時(shí)掛在一些外部設(shè)備(光盤(pán))一般建議放置到這個(gè)目錄。
/opt 這是給第三方軟件放置的目錄
/root 系統(tǒng)管理員的主文件夾
/tmp 這是讓一般用戶(hù)或者正在執(zhí)行的程序放置文件的地方,這個(gè)目錄是任何人都可以訪問(wèn)的,所以你需要定期清理一下,當(dāng)然重要數(shù)據(jù)時(shí)不能放到這里來(lái)的。
關(guān)于文件權(quán)限的最后一點(diǎn)就是:文件默認(rèn)權(quán)限umask
現(xiàn)在我們已經(jīng)知道如何新建或者改變一個(gè)目錄的屬性了,不過(guò)你知道當(dāng)你新建一個(gè)新的文件或則目錄是,它的默認(rèn)權(quán)限是什么嗎?那就是于umask這東西有關(guān)了,那么umask是在搞什么呢,基本上,umask就是制定目前用戶(hù)在新建文件或目錄的時(shí)候權(quán)限的默認(rèn)值,如果獲得或設(shè)置umask,方法如下:
#umask 或則 umask -S

(四位數(shù),第一位我們先不管,表示特殊權(quán)限,我們從第二位開(kāi)始看起)
在默認(rèn)權(quán)限上,文件和目錄是不一樣的,對(duì)于一個(gè)目錄,x權(quán)限是非常重要的 ,而對(duì)于一個(gè)文件,x權(quán)限在默認(rèn)是不應(yīng)該有的,因?yàn)槲募蠖嗍怯脕?lái)存儲(chǔ)數(shù)據(jù)的,所以在linux中,文件的默認(rèn)權(quán)限是666,目錄的默認(rèn)權(quán)限是777
要注意的是umask的分?jǐn)?shù)指的是“默認(rèn)值需要剪掉的權(quán)限”,
所以新建文件時(shí)權(quán)限:rw--r--r--
新建目錄:r-xr-xr-x