chmod [可選項] <mode> <file...>
可選項:
-c, --changes like verbose but report only when a change is made (若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作)
-f, --silent, --quiet suppress most error messages (若該檔案權(quán)限無法被更改也不要顯示錯誤訊息)
-v, --verbose output a diagnostic for every file processed(顯示權(quán)限變更的詳細(xì)資料)
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively (以遞歸的方式對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更)
--help 顯示此幫助信息
--version 顯示版本信息
mode :權(quán)限設(shè)定字串,詳細(xì)格式如下:
[ugoa...][[+-=][rwxX]...][,...],其中
[ugoa...]
u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
[+-=]
+ 表示增加權(quán)限,- 表示取消權(quán)限,= 表示唯一設(shè)定權(quán)限。
[rwxX]
r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當(dāng)該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。
file...
文件列表(單個或者多個文件、文件夾)
范例:
chmod ugo+r a.sh
或
chmod a+r a.conf
chmod u+rwx c.sh
chmod a+r,ug+w,o-w a.conf b.xml
chmod -R a+rw *
在這種使用方式中,首先我們需要了解數(shù)字如何表示權(quán)限。 首先,我們規(guī)定 數(shù)字 4 、2 和 1表示讀、寫、執(zhí)行權(quán)限(具體原因可見下節(jié)權(quán)限詳解內(nèi)容),即 r=4,w=2,x=1 。此時其他的權(quán)限組合也可以用其他的八進制數(shù)字表示出來,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4 +1 = 5 即
若要同時設(shè)置 rwx (可讀寫運行) 權(quán)限則將該權(quán)限位 設(shè)置 為 4 + 2 + 1 = 7 若要同時設(shè)置 rw- (可讀寫不可運行)權(quán)限則將該權(quán)限位 設(shè)置 為 4 + 2 = 6 若要同時設(shè)置 r-x (可讀可運行不可寫)權(quán)限則將該權(quán)限位 設(shè)置 為 4 +1 = 5
上面我們提到,每個文件都可以針對三個粒度,設(shè)置不同的rwx(讀寫執(zhí)行)權(quán)限。即我們可以用用三個8進制數(shù)字分別表示 擁有者 、群組 、其它組( u、 g 、o)的權(quán)限詳情,并用chmod直接加三個8進制數(shù)字的方式直接改變文件權(quán)限。語法格式為 :
chmod <abc> file...
其中
a,b,c各為一個數(shù)字,分別代表User、Group、及Other的權(quán)限。
相當(dāng)于簡化版的
chmod u=權(quán)限,g=權(quán)限,o=權(quán)限 file...
而此處的權(quán)限將用8進制的數(shù)字來表示User、Group、及Other的讀、寫、執(zhí)行權(quán)限
上一個教程:Linux 命令行 / cecdns.com