學習記錄linux指令,參考自菜鳥教程。
指令: chmod
chmod
Linux/Unix 的檔案調用權限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所調用。
使用權限 :
所有使用者
文法格式
chmod [-cfvR] [--help] [--version] mode file...
參數說明:
mode : 權限設定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
其中:
u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增權重限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示隻有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
其他參數說明:
-c : 若該檔案權限确實已經更改,才顯示其更改動作
-f : 若該檔案權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
執行個體:
将檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
此外chmod也可以用數字來表示權限如 :
chmod 777 file
文法為:
chmod abc file
其中
a,b,c
各為一個數字,分别表示
User、Group、及Other
的權限。
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 file
可使此程式具有
root
的權限
*注:
chmod 4755
與
chmod 755
的差別在于開頭多了一位,這個4表示其他使用者執行檔案時,具有與所有者相當的權限。
例如:
root
使用者建立了一個上網認證程式
netlogin
,如果其他使用者要上網也要用到這個程式,那就需要
root
使用者運作
chmod 755 netlogin
指令使其他使用者也能運作
netlogin
。
但是
netlogin
執行時可能需要通路一些隻有
root
使用者才有權通路的檔案,那麼其他使用者執行
netlogin
時可能因為權限不夠還是不能上網。
這種情況下,就可以用
chmod 4755 netlogin
設定其他使用者在執行
netlogin
也有
root
使用者的權限,進而順利上網。