前言
Linux的chmod命令是用來改變文件權限的,對于文件或者目錄的普通權限,共有 3 種,分別為:
r:讀??;
w:寫入;
x:執(zhí)行。
今天為大家詳細介紹下chmod命令的意義和用法
chmod命令 改變文件權限
一、符號模式
命令格式:
chmod [who] operator [permission] filename
who包含的選項及其含義:
u 文件屬主權限。
g 屬組用戶權限。
o 其他用戶權限。
a 所有用戶(文件屬主、屬組用戶及其他用戶)。
operator包含的選項及其含義:
增加權限。
取消權限。
設定權限。
permission包含的選項及其含義:
r 讀權限。
w 寫權限。
x 執(zhí)行權限。
s 文件屬主和組set-ID。
t 粘性位*。
l 給文件加鎖,使其他用戶無法訪問。
u,g,o 針對文件屬主、屬組用戶及其他用戶的操作。
filename為想要操作的文件的文件名。
* 在列文件或目錄時,有時會遇到“ t”位。“t”代表了粘性位。如果在一個目錄上出現(xiàn)“t”位,這就意味著該目錄中的文件只有其屬主才可以刪除,即使某個屬組用戶具有和屬主同等的權限。不過有的系統(tǒng)在這一規(guī)則上并不十分嚴格。
如果在文件列表時看到“ t”,那么這就意味著該腳本或程序在執(zhí)行時會被放在交換區(qū)(虛存)。
關于“t”權限的進一步解釋
1、t 權限是粘著位
例:TMP目錄下,任何人都有讀寫執(zhí)行權限,但是不是任何人對里邊的可寫權限的文件就可以刪除呢,當然不是了,這個就是粘著位的做用,只有所有者才有權刪除自已的文件,當然,ROOT除外
2、關于文件安全的另一種權限,i權限 也就是不可修改權限
例:chattr u+i aaa 則aaa文件就不可修改,無論任何人,如果刪除就用u-i就好了。a 權限 也就是只追加權限, 對于日志系統(tǒng)很好用,這個權限讓目標文件只能追加,不能刪除,而且不能通過編輯器追加。方法和i權限一樣加
如果想要看某個文件是不是有這個權限,用lsattr filename就行了
改變權限的例子(temp為一文件):
chmod a-x temp //rw- rw- rw- 收回所有用戶的執(zhí)行權限
chmod og-w temp //rw- r-- r- - 收回屬組用戶和其他用戶的寫權限
chmod g+w temp //rw- rw- r- - 賦予屬組用戶寫權限
chmod u+x temp //rwx rw- r- - 賦予文件屬主執(zhí)行權限
chmod go+x temp //rwx rwx r- x 賦予屬組用戶和其他用戶執(zhí)行權限
二、絕對模式
命令格式
chmod [mode] file
其中mode為一個8進制數(shù),每一個權限由一個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ù)字,并把它們加起來,就是相應的權限表示。
例如,temp文件的符號模式權限查出為:
-rwxr--r-- 1 wjr root 0 2008-09-21 16:40 temp
最前面的“-”表示文件為一般文件.
則,相應的絕對模式權限換算過程為:
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
也可以這樣算:
對應的8進制值如下,有相應權限則加上該值,沒有則記零,
文件屬主:r w x:4 + 2 + 1
屬組用戶:r w x:4 + 2 + 1
其他用戶:r w x:4 + 2 + 1
temp文件的權限為:
r w x r - - r - -
4+2+1 4 4
把相應的權限加在一起,就是744
可以看出,文件屬主、屬組用戶和其他用戶分別所能夠具有的最大權限值就是7。
改變權限的命令如:
$chmod 744 temp
$ls -l temp
結果:
-rwxr--r-- 1 wjr root 0 2008-09-21 16:40 temp
命令:
$chmod 766 temp
$ls -l temp
結果:
-rwxrw-rw- 1 wjr root 0 2008-09-21 16:40 temp
還可以通過使用 -R 選項連同子目錄下的文件一起設置:
這樣就可以一次將/ temp目錄下的所有文件連同各個子目錄下的文件的權限全部設置為文件屬主和屬組用戶可讀和寫,其他用戶只讀。
使用- R選項一定要謹慎,只有在需要改變目錄樹下全部文件權限時才可以使用。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。