Linux下的文件權(quán)限設(shè)置
Posted on 2007-08-08 11:47 kongbowoo 閱讀(8024) 評(píng)論(1) 編輯 收藏 所屬分類: Linux本文介紹如何在RedHat Linux 9.0下使用chmod和chown兩個(gè)命令對(duì)文件設(shè)置權(quán)根.
指令名稱: chmod
使用權(quán)限: 所有使用者
使用方式: chmod [-cfvR] [--help] [--version] mode file...
說(shuō)明:Linux/Unix的文件調(diào)用權(quán)限分為三級(jí):文件所有者,組,其他.利用chmod可以控制文件如何被他人所調(diào)用.
參數(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í)行.
-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: 顯示版本;
我們可以用Linux下的圖示來(lái)進(jìn)行說(shuō)明:
范例:
將文件file1.txt設(shè)為所有人都可讀取:
chmod ugo+r file1.txt 或 chmod a+r file1.txt
將文件file1.txt與file2.txt設(shè)為該文件所有者與其同組成員可寫入,但其他的人員不能寫入:
chmod ug+w,o-w file1.txt file2.txt
將sharestart.sh設(shè)定為只有該文件所有者可以執(zhí)行:
chmod u+x sharestart.sh
將當(dāng)前目錄下的所有文件與子目錄都設(shè)為任何人可讀取:
chmod -R a+r *
此外chmod也可以用數(shù)字來(lái)表示權(quán)限如chmod 777 filepath
語(yǔ)法為:chmod abc filepath
其中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.
用一個(gè)表來(lái)說(shuō)明可能更清楚:
所有者(User) | 組(Group) | 其它(Other) | |
讀取(r) | 4 | 4 | 4 |
寫入(w) | 2 | 2 | 2 |
執(zhí)行(x) | 1 | 1 | 1 |
范例:
chmod a=rwx filepath 和 chmod 777 filepath 效果相同
chmod ug=rwx,o=x filepath 和 chmod 771 filepath 效果相同
若用chmod 4755 filepath可使此程序具有root的權(quán)限
指令名稱: chown
使用權(quán)限: root
使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file...
說(shuō)明: Linux/Unix是多人多工作業(yè)系統(tǒng),所有的文件都有所有者.利用chown可以將文件的所有者加以改變.一般來(lái)說(shuō),這個(gè)指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒(méi)有權(quán)限可以改變別人的文件所有者,也沒(méi)有權(quán)限可以自己的文件所有者改設(shè)為別人.只有系統(tǒng)管理者(root)才有這樣的權(quán)限.
參數(shù)說(shuō)明:
user: 新的文件所有者的使用者ID;
group: 新的文件所有者的使用者群體(group);
-c: 若該文件所有者確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作;
-f: 若該文件所有者無(wú)法被更改也不要顯示錯(cuò)誤訊息;
-h: 只對(duì)于連結(jié)(link)進(jìn)行變更,而非該 link 真正指向的文件;
-v: 顯示所有者變更的詳細(xì)資料;
-R: 對(duì)目前目錄下的所有文件與子目錄進(jìn)行相同的所有者變更(即以遞回的方式逐個(gè)變更);
--help: 顯示輔助說(shuō)明;
--version: 顯示版本;
范例:
將文件file1.txt的所有者設(shè)為users群體的使用者jessie:
chown jessie:users file1.txt
將目前目錄下的所有文件與子目錄的所有者都設(shè)為users群體的使用者lamport:
chmod -R lamport:users *
-rw------- (600) -- 只有所有者有讀寫權(quán)限.
-rw-r--r-- (644) -- 只有所有者有讀寫權(quán)限;而屬組用戶和其他用戶只有讀權(quán)限.
-rwx------ (700) -- 只有所有者有讀,寫,執(zhí)行權(quán)限.
-rwxr-xr-x (755) -- 所有者有讀,寫,執(zhí)行權(quán)限;而屬組用戶和其他用戶只有讀,執(zhí)行權(quán)限.
-rwx--x--x (711) -- 所有者有讀,寫,執(zhí)行權(quán)限;而屬組用戶和其他用戶只有執(zhí)行權(quán)限.
-rw-rw-rw- (666) -- 所有用戶都有文件讀,寫權(quán)限. 這種做法不可取.
-rwxrwxrwx (777) -- 所有用戶都有讀,寫,執(zhí)行權(quán)限. 更不可取的做法.
以下是對(duì)目錄的兩個(gè)普通設(shè)定:
drwx------ (700) - 只有所有者可在目錄中讀,寫.
drwxr-xr-x (755) - 所有用戶可讀該目錄,但只有所有者才能改變目錄中的內(nèi)容.