Linux chmod命令用法


chmod----改變一個或多個文件的存取模式(mode)

Linux/Unix 的文件調用權限分為三級 : 文件擁有者、群組、其他。利用 chmod 可以藉以控制文件如何被他人所調用。 使用權限 : 所有使用者

chmod [options] mode files
 
只能文件屬主或特權用戶才能使用該功能來改變文件存取模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,默認是a(所有用戶)。只能選擇一個opcode(操作碼)。可指定多個mode,以逗號分開。

語法

chmod [-cfvR] [--help] [--version] mode file...

參數說明

mode : 權限設定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

  • u 表示該文件的擁有者,g 表示與該文件的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。u用戶 g組 o其它  a 所有用戶(默認)
  • + 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
  • r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該文件是個子目錄或者該文件已經被設定過為可執行。

其他參數說明:

  • -c : 若該文件權限確實已經更改,才顯示其更改動作(-c,--changes只輸出被改變文件的信息)
  • -f : 若該文件權限無法被更改也不要顯示錯誤訊息(--silent,--quiet,當chmod不能改變文件模式時,不通知文件的用戶)
  • -v : 顯示權限變更的詳細資料
  • -R : 對目前目錄下的所有文件與子目錄進行相同的權限變更(即以遞回的方式逐個變更)--recursive可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
  • --help : 顯示輔助說明、輸出幫助信息。
  • --version : 顯示版本
  • --reference=filename參照filename的權限來設置權限
  •  -v,--verbose無論修改是否成功,輸出每個文件的信息
 
作為選擇,我們多數用三位八進制數字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他用戶的權限,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定權限。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的權限。
 
還可設置第四位,它位於三位權限序列的前面,第四位數字取值是4,2,1,代表意思如下:
 
4,執行時設置用戶ID,用於授權給基於文件屬主的進程,而不是給創建此進程的用戶。
 
2,執行時設置用戶組ID,用於授權給基於文件所在組的進程,而不是基於創建此進程的用戶。
 
1,設置粘着位。
 
實例:
 
$ chmod u+x file                      給file的屬主增加執行權限
$ chmod 751 file                      給file的屬主分配讀、寫、執行(7)的權限,給file的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限
$ chmod u=rwx,g=rx,o=x file      上例的另一種形式
$ chmod =r file                     為所有用戶分配讀權限
$ chmod 444 file                   同上例
$ chmod a-wx,a+r   file          同上例
$ chmod -R u+r directory           遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權限
$ chmod 4755                            設置用ID,給屬主分配讀、寫和執行權限,給組和其他用戶分配讀、執行的權限。
 
 

其中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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM