一、rwxrwxrwx 777
在 Unix 和 Linux 的各種操作系統(tǒng)下,每個文件(文件夾也被看作是文件)都按讀、寫、運行設(shè)定權(quán)限。例如用ls -l命令列文件表時,得到如下輸出:
-rw-r--r-- 1 mchopin users 2254 2006-05-20 13:47 uu.htm
- 從第二個字符起rw-是說用戶 mchopin 有讀、寫權(quán),沒有運行權(quán)。
- 接著的r--表示用戶組 users 只有讀權(quán)限,沒有運行權(quán)。
- 最后的r--指其他人 others 只有讀權(quán)限,沒有寫權(quán)和運行權(quán)。
這是系統(tǒng)默認設(shè)置,可以改寫 uu.htm,同組的人和其他人只有權(quán)讀,沒人有權(quán)運行,因為只是一個 html 文件,不必運行。這在 Novell 的 directory services 之前很先進。
讀、寫、運行三項權(quán)限可以用數(shù)字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用數(shù)字表示成644。
反過來說 777 就是 rwxrwxrwx,意思是該登錄用戶(可以用命令id查看)所在的組和其他人都有最高權(quán)限。
chmod o-r uu.htm命令改權(quán)限,o-r 是 others 的權(quán)限中減掉讀。結(jié)果是
-rw-r----- 1 bu users 2254 2006-05-20 13:47 uu.htm
如果用命令chmod 777 uu.htm,結(jié)果是
-rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 uu.htm
任何人都有讀、寫、運行三項權(quán)限。
二、指令名稱 : chmod
使用權(quán)限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
說明 : Linux/Unix 的檔案存取權(quán)限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以借以控制檔案如何被他人所存取。
參數(shù)格式 :
mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
① u : 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
② + : 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。
③ r : 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。 -c : 若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作
④ -f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息
⑤ -v : 顯示權(quán)限變更的詳細資料
⑥ -R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)
⑦ --help : 顯示輔助說明
⑧ --version : 顯示版本
三、示例
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
①將檔案 file.txt 設(shè)為所有人皆可讀取chmod ugo+r file.txt
②將檔案 file.txt 設(shè)為所有人皆可讀取chmod a+r file.txt
③將檔案 file.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入chmod ug+w,o-w file.txt file2.txt
④將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行chmod u+x ex1.py
⑤將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取chmod -R a+r *
⑥此外 chmod 也可以用數(shù)字來表示權(quán)限如chmod 777 file。
⑦語法為chmod abc file。其中a、b、c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限。
⑧chmod a=rwx file和chmod 777 file效果相同。
⑨chmod ug=rwx,o=x file和chmod 771 file效果相同。
⑩若用chmod 4755 filename可使此程式具有 root 的權(quán)限。