第一列第一位是 l,表示該文件爲連接文件node
後邊的 9 位,每三個爲一組。均爲 rwx 三個參數的組合。其中 r 表明可讀, w 表明可寫, x 表明可執行。前三位爲全部者(user)的權限,中間三位爲所屬組(group)的權限,最後三位爲其餘非本羣組(others)的權限。linux
第 2 列,表示爲連接佔用的節點(inode),若是是目錄,那這個數值與該目錄底下有多少一級子目錄有關係。
第 3 列,表示該文件的全部者。
第 4 列,表示該文件的所屬組。
第 5 列,表示該文件的大小。
第 6 列、第 7 列和第 8 列爲該文件的最近的修改日期,分別爲月份日期以及時間。
第 9 列,文件名安全
例子:bash
一個文件的屬性爲「-rwxr-xr–.」,它表明的意思是,該文件爲普通文件,文件擁有者可讀可寫可執行,文件所屬組對其可讀不可寫可執行,其餘用戶對其只可讀。對於一個目錄來說,打開這個目錄即爲執行這個目錄,因此任何一個目錄必需要有 x 權限才能打開並查看該目錄。例如一個目錄的屬性爲「drwxr–r–.」其全部者爲 root,那麼除了 root 外的其餘用戶是不能打開這個目錄的。spa
關於第一列的最後一位的「.」要說一下。老版本 CentOS 5 是沒有這個點的,這主要是由於新版本的 ls把 selinux 或者 acl 的屬性加進來了,當文件或者目錄只使用了 selinux context 的屬性,這裏是一個點。若是設置了 acl,後面將是一個加號「+」。關於 selinux 和 acl 瞭解便可。ci
在 Linux 中爲了方便更改這些權限,可使用數字去代替 rwx, 具體規則爲 r 等於 4, w 等於 2, x 等於 1, -等於 0。如:同步
「-rwxrwx---」用數字表示就是 770,具體是這樣來的:rwx=4+2+1=7; rwx=4+2+1=7; --- =0+0+0=0。test
Chmod(change mode) 語法: chmod [-R] xyz 文件名(這裏的 xyz,表示數字)權限
-R 選項做用同 chown 的-R 選項,表示級聯更改。(在 Linux 系統中, root 用戶,默認一個目錄的權限爲 755,而一個文件的默認權限爲644。)語法
若是你建立了一個目錄,而該目錄不想讓其餘人看到裏面的內容,則只需設置成「rwxr-----」(740)便可。chmod 還支持使用 rwx 的方式來設置權限。從以前的介紹中咱們能夠發現,基本上就九個屬性分別是(1)user, (2)group, (3)others,咱們可使用 u,g,o 來表明它們三個的屬性,此外, a 則表明 all 亦即所有。用法舉例:
這樣能夠把「test/test2」文件權限修改成「rwxr-xr-x」。另外還能夠針對 u、 g、 o、 a 增長或者減小某個權限(讀,寫,執行),例如:
一個 linux 目錄或者文件,都會有一個全部者和所屬組。全部者,即文件的擁有者,而所屬組,即該文件所屬主所在的一個組。 Linux 這樣設置文件屬性的目的是爲了文件的安全。例如, test 文件的所屬主是user0 而 test1 文件的所屬主是 user1,那麼 user1 是不能查看 test 文件的,相應的 user0 也不能查看 test1 文件。有時咱們也會有這樣的需求,讓一個文件同時讓 user0 和 user1 來查看,這怎麼實現呢?
這時「所屬組」就派上用場了。即,建立一個組 users,讓 user0 和 user1 同屬於 users 組,而後創建一個文件 test2,且其所屬組爲 users,那麼 user0 和 user1 均可以訪問 test2 文件。 Linux 文件屬性不只規定了所屬主和所屬組,還規定了所屬主(user)、所屬組(group)以及其餘用戶(others)對該文件的權限。
語法: chown [ -R ] 帳戶名 文件名
chown [ -R ] 帳戶名:組名 文件名
這裏的-R 選項只做用於目錄,做用是級聯更改,即不只更改當前目錄,連目錄裏的目錄或者文件所有更改。
語法: chgrp [組名] [文件名]
在默認狀況下,目錄權限值爲 755,普通文件權限值爲 644,那麼這個值是由誰規定呢?追究其緣由就涉及到了這個 umask。
umask 語法: umask xxx (這裏的 xxx 表明三個數字)
查看 umask 值只要輸入「umask」而後回車。
umask 預設是 0022,其表明什麼含義?先看一下下面的規則:
(1)若用戶創建爲普通文件,則預設沒有可執行權限,只有 rw 兩個權限。最大爲 666(-rw-rw-rw-)。
(2)若用戶創建爲目錄,則預設全部權限均開放,即 777(drwxrwxrwx)。
umask 數值表明的含義爲,上邊兩條規則中的默認值(文件爲 666,目錄爲 777)須要減掉的權限。因此目錄的權限爲「rwxrwxrwx」–「----w--w-」=「rwxr-xr-x」,普通文件的權限爲「rw-rw-rw-」–「----w--w-」=「rw-r--r--」。 umask 的值是能夠自定義的,好比設定 umask 爲002,你再建立目錄或者文件時,默認權限分別爲「rwxrwxrwx」–「-------w-」=「rwxrwxr-x」和「rw-rw-rw-」–「-------w-」=「rw-rw-r--」
能夠看到建立的目錄權限默認變爲 775, 而文件默認權限變爲 664. 而後再把 umask 改回來。
關於 umask 的計算,有的朋友喜歡把它換算成數字去作減法。好比「rwxrwxrwx」–「----w--w-」=777–022=755。乍一看好像是沒有任何問題的,可是有時候會出錯,好比當umask=033 時,若是使用單純的減法,那麼文件默認權限爲 666–033=633。實際上的權限爲「rw-rw-rw-」-「----wx-wx」=「rw-r—r--」= 644。
umask 能夠在/etc/bashrc 裏面更改,預設狀況下, root 的 umask 爲 022,而通常使用者則爲 002,由於可寫的權限很是重要,所以預設會去掉寫權限。
該命令用來讀取文件或者目錄的特殊權限,語法爲 lsattr [-aR] [文件/目錄名]
-a: 相似與 ls 的-a 選項,即連同隱藏文件一同列出;
-R: 連同子目錄的數據一同列出
-d:查看目錄自己
語法: chattr [+-=][Asaci] [文件或者目錄名]
+ - =: 分別爲增長、減小、設定
A: 增長該屬性後,文件或目錄的 atime(文件訪問時間) 將不可被修改;
S: 增長該屬性後,會將數據同步寫入磁盤中;
a: 增長該屬性後,只能追加不能刪除,非 root 用戶不能設定該屬性;
c: 自動壓縮該文件,讀取時會自動解壓;
i: 增長後,使文件不能被刪除、重命名、設定連接、寫入、新增數據;
其中經常使用的爲 a 和 i 兩個選項。