1. 程式人生 > >Linux目錄檔案許可權的檢視和修改

Linux目錄檔案許可權的檢視和修改

今天我們用全命令來檢視和修改檔案的許可權

  為了舉一個例項,我們在mnt資料夾中建立一個fileA檔案,然後在fileA資料夾中建立一個zhaoyuqiang.html網頁。

建好之,我們就以fileA檔案和zhaoyuqiang.html檔案來說事

檢視檔案的許可權

  我們來檢視一下zhaoyuqiang.html這個網頁檔案的許可權。

方法:在終端輸入:
ls -l xxx.xxx (xxx.xxx是檔名)檢視的是xxx檔案之中的檔案許可權

那麼就會出現相類似的資訊,主要都是這些:-rw-rw-r--

 一共有十位數,其中:最前面那個 - 代表的是型別

中間那三個 rw- 代表的是所有者(user)擁有的許可權

  然後那三個 r-- 代表的是組群(group)擁有的許可權

  最後那三個 r-- 代表的是其他人(other)擁有的許可權

 然後

r 表示檔案可以被讀(read)

w 表示檔案可以被寫(write)

x 表示檔案可以被執行(如果它是程式的話)

- 表示相應的許可權還沒有被授予

之後的root root 就是使用者擁有者了。

需要注意的是:檢視檔案許可權的目錄問題: 如果有資料夾  /a/b/c

那麼執行 ls -l /a/b 檢視許可權的檔案並不是b,而是檢視的c的許可權。

ls -l /a 檢視的是b檔案的許可權

ls -l /a/b 檢視的是c檔案的許可權

ls -l /a/b/c 檢視的是c檔案的許可權

 

修改許可權簡介

在終端輸入:

chmod o w xxx.xxx

  表示給其他人授予寫xxx.xxx這個檔案的許可權

chmod go-rw xxx.xxx

  表示刪除xxx.xxx中組群和其他人的讀和寫的許可權

  其中:

u 代表所有者(user)

g 代表所有者所在的組群(group)

o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

r 表示檔案可以被讀(read)

w 表示檔案可以被寫(write)

x 表示檔案可以被執行(如果它是程式的話)

  其中:rwx也可以用數字來代替

r ------------4

w -----------2

x ------------1

- ------------0

  行動:

+表示新增許可權

- 表示刪除許可權

= 表示使之成為唯一的許可權

當大家都明白了上面的東西之後,那麼我們常見的以下的一些許可權就很容易都明白了:

-rw------- (600) 只有所有者才有讀和寫的許可權

-rw-r--r-- (644) 只有所有者才有讀和寫的許可權,組群和其他人只有讀的許可權

-rwx------ (700) 只有所有者才有讀,寫,執行的許可權

-rwxr-xr-x (755) 只有所有者才有讀,寫,執行的許可權,組群和其他人只有讀和執行的許可權

-rwx--x--x (711) 只有所有者才有讀,寫,執行的許可權,組群和其他人只有執行的許可權

-rw-rw-rw- (666) 每個人都有讀寫的許可權

-rwxrwxrwx (777) 每個人都有讀寫和執行的許可權

 

Linux檔案和目錄訪問許可權設定

使用chmod和數字改變檔案或目錄的訪問許可權
      檔案和目錄的許可權表示,是用rwx這三個字元來代表所有者、使用者組和其他使用者的許可權。有時候,字元似乎過於麻煩,因此還有另外一種方法是以數字來表示許可權,而且僅需三個數字。
r: 對應數值4
w: 對應數值2
x:對應數值1
-:對應數值0

數字設定的關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單。

(一) 我們將rwx看成二進位制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x r- -則可以表示成為:111 101 100再將其每三位轉換成為一個十進位制數,就是754。

(二) 也可以將其簡單的理解為一種運算: (4+2+1) (4+1) (4)=754
例如,我們想讓zhaoyuqiang.html這個檔案的許可權為:
           自己     同組使用者     其他使用者
可讀      是            是              是
可寫      是              是 
可執行  是
那麼,我們先根據上表得到許可權串為:rw-rw-r--,那麼轉換成二進位制數就是110 110 100,再每三位轉換成為一個十進位制數,就得到664,因此我們執行命令:

根據上圖可以看出對zhaoyuqiang.html執行664後,它的許可權變成了

         -  rw-(自己)  rw- (同組使用者) r--(其它使用者)

 

按照上面的規則,rwx合起來就是4 2 1=7,一個rwxrwxrwx許可權全開放的檔案,數值表示為777;而完全不開放許可權的檔案“---------”其數字表示為000。下面舉幾個例子:
-rwx------:等於數字表示700。
-rwxr—r--:等於數字表示744。
-rw-rw-r-x:等於數字表示665。
drwx—x—x:等於數字表示711。
drwx------:等於數字表示700。

 

加入想一次修改某個目錄下所有檔案的許可權,包括子目錄中的檔案許可權也要修改,也就是說,我要修改fileA資料夾的許可權,fileA 檔案中的子檔案的許可權也一併修改,要使用引數-R表示啟動遞迴處理。
例如:

如上圖,對fileA修改許可權700後,fileA的許可權變成了 drwx------ 但是zhaoyuqiang.html的許可權依然為-rw-rw-r--

上圖中,對fileA修改許可權為-R 744,結果fileA 和其子檔案zhaoyuqiang.html的許可權都變成了-rwxr--r--。

通過上述兩種對比:

[[email protected] ~]# chmod 700 /mnt/fileA注:僅把fileA目錄的許可權設定為700
[[email protected] ~]# chmod -R 744 /mnt/fileA注:表示將整個/mnt/fileA目錄與其中的檔案和子目錄的許可權都設定為744

 

 

需要注意的還是關於修改許可權的檔案問題:比如有檔案 /a/b/c.

執行: chmod 700 /a  修改的是a檔案的許可權

       chmod 700 /a/b  修改的是b檔案的許可權

       chmod 700 /a/b/c  修改的是c檔案的許可權

要和檢視檔案許可權的目錄分開

 

 

使用命令chown改變目錄或檔案的所有權
    檔案與目錄不僅可以改變許可權,其所有權及所屬使用者組也能修改,和設定許可權類似,使用者可以通過圖形介面來設定,或執行chown命令來修改。
我們先執行ls -l看看目錄情況:

上圖,檢視zhaoyuqiang.html檔案的許可權,紅色區域表示zhaoyuqiang.html這個檔案的所屬使用者組為root,所有者為root

  我們所要做的就是修改檔案的所屬使用者組和所有者。
(1) 執行下面命令,把zhaoyuqiang.html檔案的所有權轉移到使用者zyq: chown zyq /mnt/fileA

 上圖中的紅色區域的檔案所屬使用者組確實已經改成了zyq了。
(2)要改變所屬組,可使用下面命令:chown :zyq /mnt/fileA

上圖可以看出 我們修改了fileA資料夾的所屬組為zyq。

(3)同時修改檔案的所屬使用者組和所有者:chown zyq:zyq  /mnt/fileA

      這個做法,我相信大家都想到了

(4)要同時修改fileA和其子檔案zhaoyuqiang.html的所屬使用者組和所有者。

     這個要用的-R 引數就可以了。

檢視檔案許可權命令ls -l 輸出資訊每列所代表的含義