w:寫入;
x:執(zhí)行。

今天為大家詳細介紹下chmod命令的意義和用法

chmod命令 改變文件權(quán)限

一、符號模式

命令格式:

chmod [who] operator [permission] filename

who包含的選項及其含義:

u 文件屬主權(quán)限。

g 屬組用戶權(quán)限。

o 其他用戶權(quán)限。

a 所有用戶(文件屬主、屬組用戶及其他用戶)。

operator包含的選項及其含義:

增加權(quán)限。

取消權(quán)限。

設(shè)定權(quán)限。

permission包含的選項及其含義:

r 讀權(quán)限。

w 寫權(quán)限。

x 執(zhí)行權(quán)限。

s 文件屬主和組set-ID。

t 粘性位*。

l 給文件加鎖,使其他用戶無法訪問。

u,g,o 針對文件屬主、屬組用戶及其他用戶的操作。

filename為想要操作的文件的文件名。

* 在列文件或目錄時,有時會遇到“ t”位。“t”代表了粘性位。如果在一個目錄上出現(xiàn)“t”位,這就意味著該目錄中的文件只有其屬主才可以刪除,即使某個屬組用戶具有和屬主同等的權(quán)限。不過有的系統(tǒng)在這一規(guī)則上并不十分嚴格。

如果在文件列表時看到“ t”,那么這就意味著該腳本或程序在執(zhí)行時會被放在交換區(qū)(虛存)。
關(guān)于“t”權(quán)限的進一步解釋

1、t 權(quán)限是粘著位

例:TMP目錄下,任何人都有讀寫執(zhí)行權(quán)限,但是不是任何人對里邊的可寫權(quán)限的文件就可以刪除呢,當然不是了,這個就是粘著位的做用,只有所有者才有權(quán)刪除自已的文件,當然,ROOT除外

2、關(guān)于文件安全的另一種權(quán)限,i權(quán)限 也就是不可修改權(quán)限

例:chattr u+i aaa 則aaa文件就不可修改,無論任何人,如果刪除就用u-i就好了。a 權(quán)限 也就是只追加權(quán)限, 對于日志系統(tǒng)很好用,這個權(quán)限讓目標文件只能追加,不能刪除,而且不能通過編輯器追加。方法和i權(quán)限一樣加

如果想要看某個文件是不是有這個權(quán)限,用lsattr filename就行了

改變權(quán)限的例子(temp為一文件):

chmod a-x temp //rw- rw- rw- 收回所有用戶的執(zhí)行權(quán)限
chmod og-w temp //rw- r-- r- - 收回屬組用戶和其他用戶的寫權(quán)限
chmod g+w temp //rw- rw- r- - 賦予屬組用戶寫權(quán)限
chmod u+x temp //rwx rw- r- - 賦予文件屬主執(zhí)行權(quán)限
chmod go+x temp //rwx rwx r- x 賦予屬組用戶和其他用戶執(zhí)行權(quán)限

二、絕對模式

命令格式

chmod [mode] file

其中mode為一個8進制數(shù),每一個權(quán)限由一個8進制數(shù)表示。

例如:

0 4 0 0 文件屬主可讀
0 2 0 0 文件屬主可寫
0 1 0 0 文件屬主可執(zhí)行

0 0 4 0 屬組用戶可讀
0 0 2 0 屬組用戶可寫
0 0 1 0 屬組用戶可執(zhí)行

0 0 0 4 其他用戶可讀
0 0 0 2 其他用戶可寫
0 0 0 1 其他用戶可執(zhí)行

在設(shè)定權(quán)限的時候,只需按照上面查出與文件屬主、屬組用戶和其他用戶所具有的權(quán)限相對應(yīng)的數(shù)字,并把它們加起來,就是相應(yīng)的權(quán)限表示。

例如,temp文件的符號模式權(quán)限查出為:

-rwxr--r-- 1 wjr root 0 2008-09-21 16:40 temp

最前面的“-”表示文件為一般文件.

則,相應(yīng)的絕對模式權(quán)限換算過程為:

rwx:0400 + 0200 +0100 (文件屬主可讀、寫、執(zhí)行) = 0 7 0 0
r--:0 0 4 0 (屬組用戶可讀) = 0 0 4 0
r--:0 0 4 0 (屬組用戶可讀) = 0 0 4 0
0 7 4 4

也可以這樣算:

對應(yīng)的8進制值如下,有相應(yīng)權(quán)限則加上該值,沒有則記零,

文件屬主:r w x:4 + 2 + 1

屬組用戶:r w x:4 + 2 + 1

其他用戶:r w x:4 + 2 + 1

temp文件的權(quán)限為:

r w x r - - r - -
4+2+1 4 4

把相應(yīng)的權(quán)限加在一起,就是744

可以看出,文件屬主、屬組用戶和其他用戶分別所能夠具有的最大權(quán)限值就是7。

改變權(quán)限的命令如:

$chmod 744 temp
$ls -l temp

結(jié)果:

-rwxr--r-- 1 wjr root 0 2008-09-21 16:40 temp

命令:

$chmod 766 temp
$ls -l temp

結(jié)果:

-rwxrw-rw- 1 wjr root 0 2008-09-21 16:40 temp

還可以通過使用 -R 選項連同子目錄下的文件一起設(shè)置:

$chmod -R 664 /temp/*

這樣就可以一次將/ temp目錄下的所有文件連同各個子目錄下的文件的權(quán)限全部設(shè)置為文件屬主和屬組用戶可讀和寫,其他用戶只讀。

使用- R選項一定要謹慎,只有在需要改變目錄樹下全部文件權(quán)限時才可以使用。

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-62778877-8306;郵箱:fanjiao@west.cn。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處:西部數(shù)碼知識庫 » Linux中改變文件權(quán)限的chmod命令詳析

登錄

找回密碼

注冊