【概述】node
在 Linux 系統中,不一樣的用戶處於不一樣的地位,擁有不一樣的權限,爲保護系統安全性,Linux 系統對不一樣的用戶訪問同一文件(包括目錄文件)的權限作了不一樣的規定。mysql
Linux 系統的每個文件或目錄都有訪問權限,這些訪問權限決定了哪些用戶和組羣能訪問文件和能執行的操做。linux
【查看文件權限】sql
使用ls -l 命令能夠顯示文件的屬性以及文件所屬的用戶和組。docker
Linux文件權限基本屬性圖文詳解centos
[root@centos7 etc]# ls -l
total 1372
drwxr-xr-x. 3 root root 101 Mar 5 19:44 abrt
-rw-r--r--. 1 root root 16 Mar 5 19:51 adjtime
-rw-r--r--. 1 root root 1518 Jun 7 2013 aliases
drwxr-xr-x. 2 root root 4096 Mar 5 19:46 bash_completion.d
-rw-r--r--. 1 root root 2853 Oct 31 03:48 bashrc
drwxr-xr-x. 2 root root 6 Oct 31 07:31 binfmt.d安全
如圖,以第一行爲例:drwxrwxr-x 2 linuxidc linuxidc 4096 2月 18 10:59 linuxidc.combash
其基本構成是:文件屬性 連接數 全部者 所屬用戶組 最後修改時間 文件名網絡
1.文件類型socket
每一個文件的屬性由左邊第一部分的10個字符來肯定。
第一個字符表明文件類型,具體字符有:
d 目錄
2.文件權限
文件類型其後的九個字符三個一組,均爲 r w x 的三個參數的組合。其中, r 表明可讀(read)、 w 表明可寫(write)、 x 表明可執行(execute),這三個權限的位置不會改變,若沒有權限,僅會出現 - 符號。
如下圖爲例,從左至右用0-9表示10個字符,第0位肯定文件類型,第1-3位肯定屬主權限擁有該文件的權限(該文件的全部者的權限),第4-6位肯定屬組權限擁有該文件的權限(全部者的同組用戶),第7-9位肯定其餘用戶擁有該文件的權限。
注:
1.讀權限,表示能夠用一些命令來讀取某個文件的內容;寫權限,表示能夠編輯和修改某個文件;執行權限,一般指能夠運行的二進制程序文件或者腳本文件。
2.一個目錄同時具備讀權限和執行權限才能夠打開並查看內部文件,而一個目錄要有寫權限才容許在其中建立其它文件,這是由於目錄文件實際保存着該目錄裏面的文件的列表等信息。
3.連接數
文件屬性後面的數字表明連接到該文件所在的 inode 結點的文件名數目。
4.文件大小
文件大小是以 inode 結點大小爲單位來表示的文件大小,能夠給 ls 加上 -lh 參數來更直觀的查看文件的大小。
5.文件全部者與所屬用戶組
每一個文件都有一特定的全部者,也就是對該文件具備全部權的用戶,同時,在 Linux 系統中,用戶是按組分類的,一個用戶屬於一個或多個組,而文件全部者之外的用戶又能夠分爲文件全部者的同組用戶和其餘用戶。
所以,Linux 系統按文件全部者、文件全部者同組用戶和其餘用戶來規定了不一樣的文件訪問權限。
全部者與所屬用戶組,標明瞭該文件具全部權的用戶及該文件所屬的用戶組。
【文件屬性的更改】
1.更改文件屬主
語法:chown [選項] 屬主名 文件名
經常使用選項
-R:遞歸更改文件屬組,即更改某目錄文件的屬組時,若加上-R,那麼該目錄下的全部文件的屬組都會更改。
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxr-xr-x 2 linuxidc linuxidc 4096 3月 11 14:23 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chown root linuxmi
[sudo] linuxidc 的密碼:
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxr-xr-x 2 root linuxidc 4096 3月 11 14:23 linuxmi
Linux文件權限基本屬性圖文詳解
如圖,名爲linuxmi的普通文件的所屬主從開始的 linuxidc 改變爲 root
注:
chown命令更改文件屬主的同時,也能夠更改文件屬組,語法爲:chown [選項] 屬主名:屬組名 文件名
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxr-xr-x 2 root root 4096 3月 11 14:23 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chown linuxidc:docker linuxmi
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxr-xr-x 2 linuxidc docker 4096 3月 11 14:23 linuxmi
Linux文件權限基本屬性圖文詳解
如圖,名爲linuxmi的普通文件的所屬主從開始的 root 改變爲 linuxidc,所屬組從開始的 root 變爲 docker
2.更改文件屬組
語法:chgrp [選項] 用戶組名 文件名
選項同 chown 命令的選項相同
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxr-xr-x 2 linuxidc docker 4096 3月 11 14:23 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chgrp mysql linuxmi
linuxidc@linuxidc:~/linuxidc.com$ ls
linuxmi
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxr-xr-x 2 linuxidc mysql 4096 3月 11 14:23 linuxmi
Linux文件權限基本屬性圖文詳解
如圖,名爲linuxmi的普通文件的所屬組從開始的 docker 改變爲 mysql
3.更改文件權限
Linux 文件的基本權限就有九個,分別是 owner / group / others 三種身份各有本身的 read / write / execute 權限。
要想更改權限,有兩種方法,一種是用二進制數字表示,一種是用字符表示。
1)用數字更改
用數字來表明各個權限,則:
讀,權限是二進制的100,十進制是4; 寫,權限是二進制的010,十進制是2; 執行,權限是二進制的001,十進制是1;
即:各權限的對應數字爲:r:4,w:2,x:1
每種身份( owner / group / others )各自的三個權限( r / w / x )數字是須要累加的。
例:
當權限爲: [ -rwxrwx--- ] 時
分數爲:
owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others = --- = 0+0+0 = 0
因此當設定權限的變動時,該文件的權限數字就是770。
變動權限的命令的語法爲:chmod [選項] xyz 文件名或目錄名
注:xyz : 就是數字類型的權限屬性,爲 rwx 屬性數值的相加
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxr-xr-x 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chmod 777 linuxmi
[sudo] linuxidc 的密碼:
linuxidc@linuxidc:~/linuxidc.com$ ls -l
總用量 4
drwxrwxrwx 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi
Linux文件權限基本屬性圖文詳解
如圖,將權限改成777後,全部身份均具備讀、寫、執行權限。
2)用字符更改
九個權限分別是 user、group、others 三種身份的權限,那麼可用 u、g、o 來表明三種身份的權限,此外,用 a 表明 all 表示全部的身份。
則變動權限的命令的語法爲:chmod 身份 符號 權限 文件名或目錄名
如圖,更改權限
linuxidc@linuxidc:~/linuxidc.com$ ls -l總用量 8drwxrwxrwx 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi-----w--w- 1 linuxidc linuxidc 3287 2月 20 20:29 www.linuxidc.com.giflinuxidc@linuxidc:~/linuxidc.com$ sudo chmod u=rwx,g=rx,o+x www.linuxidc.com.giflinuxidc@linuxidc:~/linuxidc.com$ ls -l總用量 8drwxrwxrwx 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi-rwxr-x-wx 1 linuxidc lpadmin 3287 2月 20 20:29 www.linuxidc.com.gif