改變文件屬性與權(quán)限

chgrp :改變文件所屬群組
chown :改變文件擁有者
chmod :改變文件的權(quán)限, SUID, SGID, SBIT等等的特性

chgrp:

改變一個文件的群組真是很簡單的信峻,直接以chgrp來改變即可,咦!這個指令就是change group的縮寫嘛!這樣就很好記了吧! _斧抱。不過,請記得,要被改變的組名必須要在/etc/group文件內(nèi)存在才行此洲,否則就會顯示錯誤!

假設(shè)你是以root的身份登入Linux系統(tǒng)的委粉,那么在你的家目錄內(nèi)有一個install.log的文件呜师, 如何將該文件的群組改變一下呢?假設(shè)你已經(jīng)知道在/etc/group里面已經(jīng)存在一個名為users的群組艳丛, 但是testing這個群組名字就不存在/etc/group當中了匣掸,此時改變?nèi)航M成為users與testing分別會有什么現(xiàn)象發(fā)生呢?

[root@www ~]# chgrp [-R] dirname/filename ...
選項與參數(shù):
-R : 進行遞歸(recursive)的持續(xù)變更氮双,亦即連同次目錄下的所有文件碰酝、目錄
都更新成為這個群組之意。常常用在變更某一目錄內(nèi)所有的文件之情況戴差。
范例:
[root@www ~]# chgrp users install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log
[root@www ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== 發(fā)生錯誤訊息啰~找不到這個群組名~
發(fā)現(xiàn)了嗎送爸?文件的群組被改成users了,但是要改成testing的時候暖释, 就會發(fā)生錯誤~注意喔袭厂!發(fā)生錯誤訊息還是要努力的查一查錯誤訊息的內(nèi)容才好! 將他英文翻譯成為中文球匕,就知道問題出在哪里了纹磺。

chown:

如何改變一個文件的擁有者呢?很簡單呀亮曹!既然改變?nèi)航M是change group橄杨,那么改變擁有者就是change owner啰秘症!BINGO!那就是chown這個指令的用途式矫,要注意的是乡摹, 用戶必須是已經(jīng)存在系統(tǒng)中的賬號,也就是在/etc/passwd 這個文件中有紀錄的用戶名稱才能改變采转。

chown的用途還滿多的聪廉,他還可以順便直接修改群組的名稱呢!此外故慈,如果要連目錄下的所有次目錄或文件同時更改文件擁有者的話板熊,直接加上 -R 的選項即可!我們來看看語法與范例:

[root@www ~]# chown [-R] 賬號名稱 文件或目錄
[root@www ~]# chown [-R] 賬號名稱:組名 文件或目錄
選項與參數(shù):
-R : 進行遞歸(recursive)的持續(xù)變更惯悠,亦即連同次目錄下的所有文件都變更

范例:將install.log的擁有者改為bin這個賬號:
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log

范例:將install.log的擁有者與群組改回為root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
知道如何改變文件的群組與擁有者了邻邮,那么什么時候要使用chown或chgrp呢?或許你會覺得奇怪吧克婶? 是的筒严,確實有時候需要變更文件的擁有者的,最常見的例子就是在復(fù)制文件給你之外的其他人時情萤, 我們使用最簡單的cp指令來說明好了:

[root@www ~]# cp 來源文件 目標文件
假設(shè)你今天要將.bashrc這個文件拷貝成為.bashrc_test檔名鸭蛙,且是要給bin這個人,你可以這樣做:

[root@www ~]# cp .bashrc .bashrc_test
[root@www ~]# ls -al .bashrc*
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
-rw-r--r-- 1 root root 395 Jul 13 11:31 .bashrc_test <==新文件的屬性沒變
由于復(fù)制行為(cp)會復(fù)制執(zhí)行者的屬性與權(quán)限筋岛,所以娶视!怎么辦?.bashrc_test還是屬于root所擁有睁宰, 如此一來肪获,即使你將文件拿給bin這個使用者了,那他仍然無法修改的(看屬性/權(quán)限就知道了吧)柒傻, 所以你就必須要將這個文件的擁有者與群組修改一下啰孝赫!知道如何修改了吧?

chmod:

文件權(quán)限的改變使用的是chmod這個指令红符,但是青柄,權(quán)限的設(shè)定方法有兩種, 分別可以使用數(shù)字或者是符號來進行權(quán)限的變更预侯。我們就來談一談:
數(shù)字類型改變文件權(quán)限Linux文件的基本權(quán)限就有九個致开,分別是owner/group/others三種身份各有自己的read/write/execute權(quán)限, 先復(fù)習(xí)一下剛剛上面提到的數(shù)據(jù):文件的權(quán)限字符為:『-rwxrwxrwx』萎馅, 這九個權(quán)限是三個三個一組的双戳!其中,我們可以使用數(shù)字來代表各個權(quán)限糜芳,各權(quán)限的分數(shù)對照表如下:r:4w:2x:1
每種身份(owner/group/others)各自的三個權(quán)限(r/w/x)分數(shù)是需要累加的飒货,例如當權(quán)限為: [-rwxrwx---] 分數(shù)則是:owner = rwx = 4+2+1 = 7group = rwx = 4+2+1 = 7others= --- = 0+0+0 = 0
所以等一下我們設(shè)定權(quán)限的變更時千诬,該文件的權(quán)限數(shù)字就是770啦!變更權(quán)限的指令chmod的語法是這樣的:[root@www ~]# chmod [-R] xyz 文件或目錄選項與參數(shù):xyz : 就是剛剛提到的數(shù)字類型的權(quán)限屬性膏斤,為 rwx 屬性數(shù)值的相加。-R : 進行遞歸(recursive)的持續(xù)變更邪驮,亦即連同次目錄下的所有文件都會變更

舉例來說莫辨,如果要將.bashrc這個文件所有的權(quán)限都設(shè)定啟用,那么就下達: [root@www ~]# ls -al .bashrc-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc[root@www ~]# chmod 777 .bashrc[root@www ~]# ls -al .bashrc-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

那如果要將權(quán)限變成『 -rwxr-xr-- 』呢毅访?那么權(quán)限的分數(shù)就成為 [4+2+1][4+0+1][4+0+0]=754 啰沮榜!所以你需要下達『 chmod 754 filename』。 另外喻粹,在實際的系統(tǒng)運作中最常發(fā)生的一個問題就是蟆融,常常我們以vim編輯一個shell的文字批處理文件后,他的權(quán)限通常是 -rw-rw-r-- 也就是664守呜, 如果要將該文件變成可執(zhí)行文件型酥,并且不要讓其他人修改此一文件的話, 那么就需要-rwxr-xr-x這樣的權(quán)限查乒,此時就得要下達:『 chmod 755 test.sh 』的指令啰弥喉!另外,如果有些文件你不希望被其他人看到玛迄,那么應(yīng)該將文件的權(quán)限設(shè)定為例如:『-rwxr-----』由境,那就下達『 chmod 740 filename 』吧! 例題:將剛剛你的.bashrc這個文件的權(quán)限修改回-rw-r--r--的情況吧蓖议!
答:-rw-r--r--的分數(shù)是644虏杰,所以指令為:chmod 644 .bashrc

符號類型改變文件權(quán)限還有一個改變權(quán)限的方法呦!從之前的介紹中我們可以發(fā)現(xiàn)勒虾,基本上就九個權(quán)限分別是(1)user (2)group (3)others三種身份啦纺阔!那么我們就可以藉由u, g, o來代表三種身份的權(quán)限!此外从撼, a 則代表 all 亦即全部的身份州弟!那么讀寫的權(quán)限就可以寫成r, w, x!也就是可以使用底下的方式來看:chmod
ugoa
+(加入)-(除去)=(設(shè)定)
rwx
文件或目錄

來實作一下吧低零!假如我們要『設(shè)定』一個文件的權(quán)限成為『-rwxr-xr-x』時婆翔,基本上就是:user (u):具有可讀、可寫掏婶、可執(zhí)行的權(quán)限啃奴;
group 與 others (g/o):具有可讀與執(zhí)行的權(quán)限。

所以就是:[root@www ~]# chmod u=rwx,go=rx .bashrc# 注意喔雄妥!那個 u=rwx,go=rx 是連在一起的最蕾,中間并沒有任何空格依溯![root@www ~]# ls -al .bashrc-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc

那么假如是『 -rwxr-xr-- 』這樣的權(quán)限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』來設(shè)定瘟则。此外黎炉,如果我不知道原先的文件屬性,而我只想要增加.bashrc這個文件的每個人均可寫入的權(quán)限醋拧, 那么我就可以使用:[root@www ~]# ls -al .bashrc-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc[root@www ~]# chmod a+w .bashrc[root@www ~]# ls -al .bashrc-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

而如果是要將權(quán)限去掉而不更動其他已存在的權(quán)限呢慷嗜?例如要拿掉全部人的可執(zhí)行權(quán)限,則:[root@www ~]# chmod a-x .bashrc[root@www ~]# ls -al .bashrc-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

知道 +, -, = 的不同點了嗎丹壕?對啦庆械! + 與 – 的狀態(tài)下,只要是沒有指定到的項目菌赖,則該權(quán)限『不會被變動』缭乘, 例如上面的例子中,由于僅以 – 拿掉 x 則其他兩個保持當時的值不變琉用!多多實作一下堕绩,你就會知道如何改變權(quán)限啰! 這在某些情況底下很好用的~舉例來說辕羽,你想要教一個朋友如何讓一個程序可以擁有執(zhí)行的權(quán)限逛尚, 但你又不知道該文件原本的權(quán)限為何,此時刁愿,利用『chmod a+x filename』 绰寞,就可以讓該程序擁有執(zhí)行的權(quán)限了。是否很方便铣口?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末滤钱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子脑题,更是在濱河造成了極大的恐慌件缸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叔遂,死亡現(xiàn)場離奇詭異他炊,居然都是意外死亡,警方通過查閱死者的電腦和手機已艰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門痊末,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哩掺,你說我怎么就攤上這事凿叠。” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵盒件,是天一觀的道長蹬碧。 經(jīng)常有香客問我,道長炒刁,這世上最難降的妖魔是什么恩沽? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮翔始,結(jié)果婚禮上飒筑,老公的妹妹穿的比我還像新娘。我一直安慰自己绽昏,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布俏脊。 她就那樣靜靜地躺著全谤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪爷贫。 梳的紋絲不亂的頭發(fā)上认然,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音漫萄,去河邊找鬼卷员。 笑死,一個胖子當著我的面吹牛腾务,可吹牛的內(nèi)容都是我干的毕骡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岩瘦,長吁一口氣:“原來是場噩夢啊……” “哼未巫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起启昧,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤叙凡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后密末,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體握爷,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年严里,在試婚紗的時候發(fā)現(xiàn)自己被綠了新啼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡田炭,死狀恐怖师抄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情教硫,我是刑警寧澤叨吮,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布辆布,位于F島的核電站,受9級特大地震影響茶鉴,放射性物質(zhì)發(fā)生泄漏锋玲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一涵叮、第九天 我趴在偏房一處隱蔽的房頂上張望惭蹂。 院中可真熱鬧,春花似錦割粮、人聲如沸盾碗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽廷雅。三九已至,卻和暖如春京髓,著一層夾襖步出監(jiān)牢的瞬間航缀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工堰怨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芥玉,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓备图,卻偏偏與公主長得像灿巧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子揽涮,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容