Linux chmod命令詳解
轉自:http://blog.csdn.net/tianlesoftware/article/details/6204412
chmod 命令用的很多,但是對這個命令卻不是很瞭解。 在網上搜了一下。 整理如下。
命令格式:
chmod [-cfvR] [--help] [--version] mode file...
[root@qs-wg-db2 ~]# chmod --help
Usage: chmod [OPTION]... MODE[,MODE]... FILE...
or: chmod [OPTION]... OCTAL-MODE FILE...
or: chmod [OPTION]... --reference=RFILE FILE...
Change the mode of each FILE to MODE.
-c, --changes like verbose but report only when a change is made
--no-preserve-root do not treat `/' specially (the default)
--preserve-root fail to operate recursively on `/'
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively
--help display this help and exit
--version output version information and exit
Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.
Report bugs to
[root@qs-wg-db2 ~]#
引數說明:
1. -cfvR 部分
-c : 若該檔案許可權確實已經更改,才顯示其更改動作
-f : 若該檔案許可權無法被更改也不要顯示錯誤訊息
-v : 顯示許可權變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞迴的方式逐個變更), 這個-R 用的還是很多的。
2. Mode 部分
這部分可以分成如下3塊: [who] operator [permission]
`[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.
who的含義是:
u 檔案屬主許可權
g 同組使用者許可權
o 其它使用者許可權
a 所有使用者(包括以上三種)
operator的含義:
+ 增加許可權
- 取消許可權
= 唯一設定許可權
permission的含義:
r 讀許可權
w 寫許可權
x 執行許可權
X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
s 檔案屬主和組id
l 給檔案加鎖,使其它使用者無法訪問
如: chmod a+x
3. 示例:
(1)將檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
(2)將檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
(3)將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
(4)將 ex1.py 設定為只有該檔案擁有者可以執行 :
chmod u+x ex1.py
(5)將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *
(6)收回所有使用者的對file1的執行許可權
chmod a-x file1
4. 使用數字來賦權
4.1 先看一下檔案的許可權格式
[root@qs-wg-db2 scripts]# ll
total 20
-rw-r--r-- 1 oracle oinstall 0 Feb 24 00:00 alertlogbyday.log
-rwxr-xr-x 1 oracle oinstall 430 Feb 20 01:10 alertlogbyday.sh
-rwxr-xr-x 1 oracle oinstall 7 Feb 24 05:00 del_st_arch.log
-rwxr-xr-x 1 oracle oinstall 648 Feb 19 00:51 del_st_archive.sh
-rwxr-xr-x 1 oracle oinstall 9 Feb 24 05:00 max_sn.log
drwxr-xr-x 3 root root 4096 Feb 23 23:40 pymonitor
ll的結果返回七列,分別表示如下含義:
第一欄 [檔案屬性]
第二欄 [檔案數]
第三欄 [擁有者]
第四欄 [所有者群組]
第五欄 [大小]
第六欄 [建檔日期]
第七欄 [檔名]
我們設定檔案的許可權就是這是第一欄裡的檔案屬性。
檔案屬性這塊共有十個欄位,如:drwxr-xr-x
我們把這10個列分成4塊:[d] [rwx] [r-x] [r-x]
第一塊:也就是第一列,用來表示這個檔案的型別,有如下值:
(1)[ d ]則是目錄,我這裡的是d,表示的是一個目錄
(2)[ - ]則是檔案;
(3)[ l ]則表示為連結檔(link file);
(4)[ b ]則表示為裝置檔案裡面的可供儲存的介面裝置;
(5)[ c ]則表示為裝置檔案裡面的串列埠裝置,例如鍵盤、滑鼠。
第二塊:第 2到4 列,表示檔案擁有者的許可權。
第三塊:第5到7 列,表示擁有者同組人的許可權。
第四塊:第8到10列,表示是非擁有者組人的許可權。
這些許可權均有[rwx] 三個參數列示,而且分別對應不同的位置。每塊由3個列組成,每列對應一個值。 [ r ]代表可讀、[ w ]代表可寫、[ x ]代表可執行。
舉例: 如果擁有者只有只讀的許可權,那麼第2到4列就是[r--],有讀寫的許可權就是[rw-],有讀寫和執行的權利就是[rwx].
4.2 使用數字賦權
在4.1 中瞭解準備知識之後,就可以使用數字賦權了。 每塊使用者有3個許可權[rwx]. 他們對應數字:
r -->4
w-->2
x-->1
使用數字賦權的命令格式如下:
chmod abc filename
其中的abc 分別代表3個數字,並且分別對應問個不同的屬組。 即:
數字a 對應 第2到4位,表示擁有者的許可權。
數字b 對應 第5到7位,表示同組使用者的許可權。
數字c 對應第8到10位,表示其他組的許可權。
rwx 對應4,2,1. 那麼只讀的許可權用4表示[r--],讀寫用6(4+2)表示[rw-],寫加執行用7(4+2+1)表示[rwx]。 只讀加執行用5(4+1)表示[r-x]。
示例:
chmod 755 file1
chmod 777 file1 <==> chmod a=rwx file
chmod 771 file <==> chmod ug=rwx,o=x file
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-751661/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UNix下chmod,chown命令 詳解
- linux chmod命令詳細使用引數Linux
- chmod命令詳細用法
- 雲伺服器chmod命令用法詳解伺服器
- Linux下chmod賦權詳解Linux
- linux chmod命令(轉)Linux
- Linux基礎命令---chmodLinux
- chmod 命令
- linux chmod命令引數及用法詳解--檔案資料夾許可權設定命令Linux
- chmod 命令——chmod 755與 chmod 4755區別
- 每天一個 Linux 命令(27):linux chmod 命令Linux
- chmod 755 a.sh命令解釋
- 怎麼用linux命令之chmod方法Linux
- 簡述Linux chmod命令的知識Linux
- Linux at命令詳解Linux
- chmod命令(change mode)
- Linux中chmod命令的定義及作用!Linux
- Linux xargs 命令詳解Linux
- Linux sed 命令詳解Linux
- Linux awk 命令詳解Linux
- linux top 命令詳解Linux
- Linux diff命令詳解Linux
- Linux chattr命令詳解Linux
- Linux命令top詳解Linux
- Linux screen 命令詳解Linux
- Linux find 命令詳解Linux
- linux top命令詳解Linux
- linux命令詳解:sortLinux
- 【Linux】tcpdump命令詳解LinuxTCP
- linux tail 命令詳解LinuxAI
- Linux more命令詳解Linux
- linux grep命令詳解Linux
- Linux free命令詳解Linux
- Linux PS命令詳解Linux
- Linux date命令詳解Linux
- Linux scp命令詳解Linux
- Linux df命令詳解Linux
- Linux du命令詳解Linux