聲明:本文轉自Linux命令:修改文件權限命令chmod詳解
Linux系統中的每個文件和目錄都有訪問許可權限,用它來確定誰可以通過何種方式對文件和目錄進行訪問和操作。
文件或目錄的訪問權 限分爲只讀,只寫和可執行三種。以文件爲例,只讀權限表示只允許讀其內容,而禁止對其做任何的更改操作。可執行權限表示允許將該文件作爲一個程序執行。文 件被創建時,文件所有者自動擁有對該文件的讀、寫和可執行權限,以便於對文件的閱讀和修改。用戶也可根據需要把訪問權限設置爲需要的任何組合。
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。所有者可以允許同組用戶有權訪問文件,還可以將文件的訪問權限賦予系統中的其他用戶。在這種情況下,系統中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問權限都有三組,每組用三位表示,分別爲文件屬主的讀、寫和執行權限;與屬主同組的用戶的讀、寫和執行權限;系統中其他用戶的讀、寫和執行權限。當用ls -l
命令顯示文件或目錄的詳細信息時,最左邊的一列爲文件的訪問權限。例如:
- $ ls -l sobsrc. tgz
- -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz
橫線代表空許可。r代表只讀,w代表寫,x代表可執行。注意這裏共有10個位置。第一個字符指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字符是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。例如:
– rw- r– r–
普通文件 文件主 組用戶 其他用戶
是文件sobsrc.tgz 的訪問權限,表示sobsrc.tgz是一個普通文件;sobsrc.tgz的屬主有讀寫權限;與sobsrc.tgz屬主同組的用戶只有讀權限;其他用戶也只有讀權限。
確定了一個文件的訪問權限後,用戶可以利用Linux系統提供的chmod命令來重新設定不同的訪問權限。也可以利用chown命令來更改某個文件或目錄的所有者。利用chgrp命令來更改某個文件或目錄的用戶組。
下面分別對這些命令加以介紹。
chmod 命令
chmod命令是非常重要的,用於改變文件或目錄的訪問權限。用戶用它控制文件或目錄的訪問權限。
以主文件夾下的一個名爲“cc”的文件夾爲例。下面一步一步介紹如何修改權限:
1.打開終端。輸入”su”(沒有引號)
2.接下來會要你輸入密碼,輸入你的root密碼。
3.假設我的文件夾在主目錄裏,地址爲 /var/home/dengchao/cc 。假設我要修改文件權限爲777,則在終端輸入 chmod 777 /var/home/userid/cc 文件夾的權限就變爲了777。
如果是修改文件夾及子文件夾權限可以用 chmod -R 777 /var/home/userid/cc
具體的權限(例如777的含意等)在下面解釋下:
1.777有3位,最高位7是設置文件所有者訪問權限,第二位是設置羣組訪問權限,最低位是設置其他人訪問權限。
其中每一位的權限用數字來表示。具體有這些權限:
- r(Read,讀取,權限值爲4):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目 錄的權限。
- w(Write,寫入,權限值爲2):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。
- x(eXecute,執行,權限值爲1):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。
2. 首先我們來看如何確定單獨一位上的權限數值,例如最高位表示文件所有者權限數值,當數字爲7時,7用“rwx”表示 –{4(r)+2(w)+1(x)=7}–又如果數值爲6,則用“rw-”表示–{4(r)+2(w)+0(x)=6}–,”-”表示不具備權限,這裏表 示不具備“執行”權限。
假如我們設定其他用戶的訪問權限爲 “r–”,則數值爲4+0+0=4
一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則用1表示,沒有則有0表示,那麼rwx則可以表示成爲:111
而二進制的111就是7。
3.我們再來看下怎麼確定3個數位上的權限。假如我們要給一個文件設置權限,具體權限如下:
文件所有者有“讀”、“寫”、“執行”權限,羣組用戶有“讀”權限,其他用戶有“讀”權限,則對應的字母表示爲”rwx r– r–“,對應的數字爲744
一般都是最高位表示文件所有者權限值,第二位表示羣組用戶權限,最低位表示其他用戶權限。
下面來舉些例子熟悉下。
權限 | 數值 |
rwx rw- r– | 764 |
rw- r– r– | 644 |
rw- rw- r– | 664 |