文件/目錄權(quán)限設(shè)置命令:chmod
文件/目錄權(quán)限設(shè)置命令:chmod
這是Linux系統(tǒng)管理員最常用到的命令之一,它用于改變文件或目錄的訪問(wèn)權(quán)限。該命令有兩種用法:
用包含字母和操作符表達(dá)式的文字設(shè)定法
其語(yǔ)法格式為:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對(duì)象,是以下字母中的一個(gè)或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個(gè)權(quán)限
-:取消某個(gè)權(quán)限
=:賦予給定的權(quán)限,并取消原有的權(quán)限
而mode則代表權(quán)限:
r:可讀
w:可寫
x:可執(zhí)行
例如:為同組用戶增加對(duì)文件a.txt的讀寫權(quán)限:
chmod g+rw a.txt
用數(shù)字設(shè)定法
而數(shù)字設(shè)定法則更為簡(jiǎn)單:chmod [mode] 文件名
關(guān)鍵是mode的取值,一開始許多初學(xué)者會(huì)被搞糊涂,其實(shí)很簡(jiǎn)單,我們將rwx看成二進(jìn)制數(shù),如果有則有1表示,沒(méi)有則有0表示,那么rwx r-x r- -則可以表示成為:
111 101 100
再將其每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就是754。
例如,我們想讓a.txt這個(gè)文件的權(quán)限為:
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是 可執(zhí)行
那么,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--,那么轉(zhuǎn)換成二進(jìn)制數(shù)就是110 110 100,再每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就得到664,因此我 們執(zhí)行命令:
chmod 664 a.txt
可以使用命令chmod來(lái)為文件或目錄賦予權(quán)限。Linux/Unix 的檔案存取權(quán)限分為三級(jí) : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。
使用權(quán)限:所有使用者
格式:chmod [-cfvR] [--help] [--version] mode file...
參數(shù)說(shuō)明:
mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個(gè)群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。
r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當(dāng)該檔案是個(gè)子目錄或者該檔案已經(jīng)被設(shè)定過(guò)為可執(zhí)行。
-s :在文件執(zhí)行時(shí)把進(jìn)程的屬主或組ID置為該文件的文件屬主。
-c : 若該檔案權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作
-f : 若該檔案權(quán)限無(wú)法被更改也不要顯示錯(cuò)誤訊息
-v : 顯示權(quán)限變更的詳細(xì)資料
-R : 對(duì)目前目錄下的所有檔案與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個(gè)變更)
--help : 顯示輔助說(shuō)明
--version : 顯示版本
chmod ugo+r file1.txt
將檔案 file1.txt 設(shè)為所有人皆可讀取 :
chmod a+r file1.txt
將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個(gè)群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :
chmod -R a+r *
當(dāng)其他用戶執(zhí)行oracle的sqlplus這個(gè)程序時(shí),他的身份因這個(gè)程序暫時(shí)變成oracle
chmod u+s sqlplus
此外,chmod也可以用數(shù)字來(lái)表示權(quán)限如 chmod 777 file
語(yǔ)法為:chmod abc file
其中a,b,c各為一個(gè)數(shù)字,分別表示User、Group、及Other的權(quán)限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
范例二:
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的權(quán)限
如果是管理員也就是常說(shuō)的ROOT用戶的話,基本上有可以查看所有文件的權(quán)力.
chmod 4755與chmod 755 的區(qū)別在于開頭多了一位,這個(gè)4表示其他用戶執(zhí)行文件時(shí),具有與所有者相當(dāng)?shù)臋?quán)限。
例如:root用戶創(chuàng)建了一個(gè)上網(wǎng)認(rèn)證程序netlogin,如果其他用戶要上網(wǎng)也要用到這個(gè)程序,那就需要root用戶運(yùn)行chmod 755 netlogin命令使其他用戶也能運(yùn)行netlogin。
但是netlogin執(zhí)行時(shí)可能需要訪問(wèn)一些只有root用戶才有權(quán)訪問(wèn)的文件,那么其他用戶執(zhí)行netlogin時(shí)可能因?yàn)闄?quán)限不夠還是不能上網(wǎng)。
這種情況下,就可以用 chmod 4755 netlogin 設(shè)置其他用戶在執(zhí)行netlogin也有root用戶的權(quán)限,從而順利上網(wǎng)。
posted on 2012-01-12 13:50 DHC 閱讀(1612) 評(píng)論(0) 編輯 收藏