Linux:修訂版本之間的差異
(以“分類:作業系統 ==ls -l== <pre>總計 152 -rw-r--r-- 1 root root 2915 08-03 06:16 a -rw------- 1 root root 1086 07-29 18:35 anaconda-ks.cfg</pre> 第1行:總...”为内容创建页面) |
(→第1字段:節點的屬性與權限) |
||
(未顯示同用戶所作出之30次版本) | |||
第 7 行: | 第 7 行: | ||
Total後面的數字是指當前目錄下所有檔案所佔用的空間總和。使用ls –lh可查看,也可使用ls –alh查看 | Total後面的數字是指當前目錄下所有檔案所佔用的空間總和。使用ls –lh可查看,也可使用ls –alh查看 | ||
+ | ===每節點(inode)列表說明:=== | ||
+ | <pre>-rw-r--r-- 1 root root 762 07-29 18:19 exit</pre> | ||
+ | ====第1字段:節點的屬性與權限==== | ||
+ | 由 16bit 構成,用10個字母表示。 | ||
+ | *第一個字符表示節點類型,由 4bit 構成,第一bit代表檔案,第二bit代表目錄,第三bit代表設備,第四bit代表命名管道: | ||
+ | *#「1000」,8,字符-表示該檔案是一個普通檔案 | ||
+ | *#「1100」,12,字母s表示該檔案為sock檔案。與shell編程有關的檔案 | ||
+ | *#「1010」,10,字母l表示該檔案是一個軟連結。字母「l」是link(連接)的縮寫,檔案內容放的是目的地的路徑 | ||
+ | *#「0100」,4,字母d表示是一個目錄,字母「d」,是dirtectory(目錄)的縮寫 | ||
+ | *#「0110」,6,字母b表示區塊設備(block),一般置於/dev目錄下,設備節點是普通檔案與程序探入硬體設備的入口,沒有檔案大小,只有一個主設備號和一個輔設備號。一次傳輸數據為一整塊的被稱為區塊設備,如硬碟、光碟等。最小數據傳輸單位為一個數據區塊(通常為512byte) | ||
+ | *#「0010」,2,字母c表示字符設備(character),一般置於/dev目錄下,一次傳輸一個byte的設備被稱為字符設備,如鍵盤、字符終端等,傳輸數據的最小單位為一個字節 | ||
+ | *#「0001」,1,字母p(FIFO pipe)表示該檔案為命令管道。與shell編程有關的節點 | ||
+ | *:連接檔案分為硬連接或符號連接兩種。 | ||
+ | *:#硬連接:多個檔名指向同一檔案。硬連接檔案大小完全相同,如有多個硬連接,所連接的檔案只是一個檔案大小。<br/>同一個檔案所有的硬連接都是等價的,作業系統不區分硬連接創建的先後順序,若一個檔案存在兩個硬連接,那麼除去一個,檔案還可以通過另外一個連接來訪問該檔案,即使除去創建連接時使用的檔名,但只要還有一個硬連接存在,就可通過該連接訪問檔案。 | ||
+ | *:#符號連接(軟連接):建立一個獨立的檔案,這個檔案會讓數據的讀取指向它連接的檔案內容。類似windows的捷徑。 | ||
+ | *第1字母後的9個字母表示該檔案或目錄的權限位。共 12bit 分成四段,每段 3bit 。 | ||
+ | *#第一組 3bit 為特殊權限,對應到擁有者、群組、其他用戶的第三個字母,設置與對應字母如下: | ||
+ | *#:SUID SGID sticky 二進制 八進制 說明 | ||
+ | *#:- - - 000 0 不設置特殊權限 | ||
+ | *#:- - t 001 1 只設置sticky | ||
+ | *#:- s - 010 2 只設置SGID | ||
+ | *#:- s t 011 3 只設置SGID和sticky | ||
+ | *#:s - - 100 4 只設置SUID | ||
+ | *#:s - t 101 5 只設置SUID和sticky | ||
+ | *#:s s - 110 6 只設置SUID和SGID | ||
+ | *#:s s t 111 7 設置三種特殊權限 | ||
+ | *#第二組 3bit 表示檔案擁有者的權限,r表示讀(Read,4)、w表示寫(Write,2)、x表示執行(eXecute,1)。 | ||
+ | *#第三組 3bit 表示檔案所屬群組擁有的權限,r表示讀(Read,4)、w表示寫(Write,2)、x表示執行(eXecute,1)。 | ||
+ | *#第四組 3bit 表示其他用戶擁有的權限,r表示讀(Read,4)、w表示寫(Write,2)、x表示執行(eXecute,1)。 | ||
+ | |||
+ | 所以權限位可以有兩種表示法: | ||
+ | #9字母表示法,用於節點列表時,如 rwxrwxrwt ,12bit整合成9個字母輸出 | ||
+ | #4數字表示法,用於指令參數或回傳,如 4666 ,12bit每3個bit表示成一個小於8的數字 | ||
+ | |||
+ | '''特殊權限'''的具體作用 | ||
+ | #sticky:區分寫入權限與刪檔權限,只對目錄有效,此目錄下的檔案或目錄只有擁有者及 root 才有權力刪除。「/tmp」一般為sticky,該目錄裡面雖然你可以建立與修改任何檔案,但是卻僅能刪除自己建立的檔案呢!除非你是 root ! | ||
+ | #SUID與SGID的意義與作用:都是對一般用戶(others)不開放敏感檔案的讀取權限,但對指定的程式檔,允許一般用戶透過程式檔局部提升讀檔權限,讀取與該程式相關的敏感檔部分資訊。 | ||
+ | #SUID:即 set user ID ,SUID對目錄沒有影響,檔案具有 SUID 時,若 others 具有可執行權限,那麼當 other 執行該程式時, other 將擁有該檔案的 owner 的權限!如:<br/>-rw------- 1 root root 2423 Jun 25 14:29 /etc/shadow<br/>-r-s--x--x 1 root root 13476 Aug 7 2001 /usr/bin/passwd<br/>即利用此一機制,使一般使用者可以透過執行 passwd 修改 shadow 的內容,達到自己修改密碼的目的。 | ||
+ | #SGID(檔案):即 set group ID ,檔案具有 SGID 時,若 others 具有可執行權限,那麼當 other 執行該程式時, other 將擁有該檔案的 group 的權限。如:<br/>cr--r----- 1 root system 2, 1 May 25 1998 kmem<br/>-r-xr-sr-x 1 bin system 59346 Apr 05 1998 ps<br/>kmem是一個字符設備,裡面存儲了核心程序要訪問的數據,包括用戶的口令,所以這個文件不能給一般的用戶讀寫;但一般用戶想透過ps等程序要讀這個設備,而一般用戶不是root,所以不能訪問kmem。但大家注意了,bin和root都屬於system群組,而且ps設置了SGID,一般用戶執行ps,就會獲得system群組用戶的權限,而文件kmem的同群組用戶的權限是可讀,所以一般用戶執行ps讀就kmem沒問題了。<br/>為什麼不把ps程序設置為root用戶的程序,然後設置SUID位,不也行嗎?這的確可以解決問題,但實際中為什麼不這樣做呢?因為SGID的風險比SUID小得多,所以出於系統安全的考慮,如果可能的話應該盡量用SGID代替SUID的程序。 | ||
+ | #SGID(目錄):如果一個目錄設置了SGID,那麼如果任何一個用戶對這個目錄有寫入權限的話,他在這個目錄所建立的檔案的群組都會自動轉為父目錄 owner 所在的群組,而檔案的 owner 不變,還是屬於建立這個檔案的用戶。 | ||
+ | #UNIX的內核對每位使用者制定了四個 ID :user id、group id、effective user id、effective group id,即uid,gid,euid,egid。內核是依據euid和egid來確定進程對資源的訪問權限。<br/>用戶可以用id命令來查到自己的或其他用戶的uid,gid。<br/>一個程式檔如果沒有設SUID或SGID位,則euid=uid,egid=gid;如果一個程式檔設了SUID(SUID的優先級比SGID高),則euid和egid變成被運行程式檔所有者的uid和gid;如果一個程式檔設了SGID,則egid變成被運行程式檔所有者的gid。 | ||
+ | #改變特殊權限也是用 chmod 指令: | ||
+ | #:chmod u+s 檔案或目錄、chmod 4xxx:設SUID | ||
+ | #:chmod g+s 檔案或目錄、chmod 2xxx:設SGID | ||
+ | #:chmod o+t 檔案或目錄、chmod 1xxx:設sticky | ||
+ | #:+換成-:消去特殊權限 | ||
+ | |||
+ | ====第2字段:檔案硬連接數==== | ||
+ | <pre>-rw-r--r-- 1 root root 762 07-29 18:19 exit</pre> | ||
+ | |||
+ | 如果一個節點不是目錄,此時這一字段表示這個檔案所具有的硬連接數 | ||
+ | |||
+ | 第2字段的值為1,說明檔案exit只有exit這一個檔案名。即只有一個指向該連接的硬連接。 | ||
+ | |||
+ | 如果使用ln,做一個指向該檔案的硬連接再查看該檔案,該檔案的第2字段就會變成2 | ||
+ | <pre>[root@localhost ~]# ln exit aexit | ||
+ | [root@localhost ~]# ls -l | ||
+ | 總計 160 | ||
+ | -rw-r--r-- 2 root root 762 07-29 18:19 aexit | ||
+ | -rw-r--r-- 2 root root 762 07-29 18:19 exit</pre> | ||
+ | 此時exit和aexit互為硬連接。同指向一個檔案,無論是修改哪一個檔案,另一個裡也做相應的變化,即同一檔案的不同檔案名。 | ||
+ | |||
+ | 互為硬連接的檔案具有相同的檔案節點。 | ||
+ | <pre>[root@localhost ~]# ls -i aexit exit | ||
+ | 162302 aexit 162302 exit</pre> | ||
+ | |||
+ | 軟連接設置語法: | ||
+ | <pre>Ln –s 源檔案 目標連接檔案</pre> | ||
+ | <pre># ln -s exit bexit | ||
+ | # ls -l | ||
+ | lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit | ||
+ | -rw-r--r-- 1 root root 762 07-29 18:19 exit</pre> | ||
+ | |||
+ | 注意:軟連接時檔案節點號不一樣; | ||
+ | <pre>[root@localhost ~]# ls -i bexit exit | ||
+ | 161765 bexit 162302 exit</pre> | ||
+ | |||
+ | 如果知道一個檔案有多個檔案名(連接檔案)如何查找他的其他檔案名的路徑? | ||
+ | |||
+ | 使用ls -i 獲得其節點號,find查找。 | ||
+ | <pre>[root@localhost ~]# ls -i /etc/sysconfig/network-scripts/ifcfg-eth0 | ||
+ | 452946 /etc/sysconfig/network-scripts/ifcfg-eth0 #節點號為 452946 | ||
+ | [root@localhost ~]# find /etc -inum 452946 | ||
+ | /etc/sysconfig/network-scripts/ifcfg-eth0</pre> | ||
+ | |||
+ | ====第2字段:連接佔用的節點數==== | ||
+ | <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> | ||
+ | 該字段檔案佔用一個節點,屬於軟連接(符號連接) | ||
+ | |||
+ | 如果是目錄,則第2字段表示該目錄所含子目錄的個數 | ||
+ | |||
+ | 新建空目錄,此目錄的第二字段就是2,表示該目錄下有兩個子目錄。 | ||
+ | |||
+ | 因為每一個目錄都有一個指向它本身的子目錄"." 和指向它上級目錄的子目錄"..",此預設子目錄是隱藏的。 | ||
+ | |||
+ | 每次在目錄下新建一個子目錄,該目錄第2字段的值就增1,但是新建一個普通檔案該字段值不增加。 | ||
+ | |||
+ | ====第3字段:檔案(目錄)擁有者==== | ||
+ | <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> | ||
+ | |||
+ | 該字段表示該檔案擁有者是誰。只有檔案的擁有者才具有改動檔案屬性的權利。root具有改動任何檔案屬性的權利。對於目錄,只有擁有該目錄的用戶,或者具有寫權限的用戶才有在目錄下創建檔案的權利。 | ||
+ | |||
+ | 如果某一用戶被刪除,而該用戶家目錄還存在,ls -l 查看該檔案將顯示一個代表用戶存在前ID號的數字。 | ||
+ | |||
+ | 創建用戶test,將其加入wang用戶組,su切換: | ||
+ | <pre>[root@localhost ~]# useradd test | ||
+ | [root@localhost ~]# usermod -g wang test #創建用戶test,並將其加入到用戶組wang中 | ||
+ | [root@localhost ~]# su test | ||
+ | [test@localhost root]$ cd /home/test | ||
+ | [test@localhost ~]$ touch testing | ||
+ | [test@localhost ~]$ ls -l testing | ||
+ | -rw-r--r-- 1 test wang 0 08-03 18:02 testing #最後用ls -l 看到第三字段的檔案擁有者為test | ||
+ | [test@localhost ~]$ su root | ||
+ | [root@localhost ~]# userdel test #刪除用戶test | ||
+ | [root@localhost ~]# cd /home/test #進入test的家目錄,查看剛剛創建的檔案testing。 | ||
+ | [root@localhost test]# ls -l | ||
+ | 總計 4 | ||
+ | -rw-r--r-- 1 504 wang 0 08-03 18:02 testing</pre> | ||
+ | |||
+ | 第三字段變成數字,此數字是原用戶test的ID號。因為檔案系統對每個檔案記錄檔案所有者的ID,而非用戶名。 | ||
+ | |||
+ | ====第4字段:檔案(目錄)擁有者所在的群組==== | ||
+ | <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> | ||
+ | |||
+ | 一個用戶可以加入很多個群組,但是其中有一個是主群組,就是顯示在第4字段的名稱。 | ||
+ | |||
+ | useradd -g指定該用戶所在的主群組,-G指定其他群組 | ||
+ | |||
+ | Useradd –g 群組名 用戶名 | ||
+ | |||
+ | ====第5字段:檔案所佔用的空間(以字節為單位)==== | ||
+ | <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> | ||
+ | |||
+ | 第5字段表示檔案大小,如果是目錄,表示該目錄大小。注意是目錄本身大小,而非目錄及其下面的檔案的總大小。 | ||
+ | |||
+ | ====第6字段:檔案(目錄)最近訪問(修改)時間==== | ||
+ | <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> | ||
+ | 可通過touch修改創建時間: | ||
+ | <pre># touch exit</pre> | ||
+ | |||
+ | 把exit創建時間修改當前時間,檔案還有最後訪問時間,最後修改時間等屬性。 | ||
+ | |||
+ | 可以用ls其它參數顯示出來。 | ||
+ | |||
+ | ====第7字段:檔案名==== | ||
+ | <pre>lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit</pre> | ||
+ | |||
+ | 如果是符號連接,會有"->"符號,跟著它指向的檔案名 |
2018年11月20日 (二) 16:11的最新修訂版本
目錄
ls -l
總計 152 -rw-r--r-- 1 root root 2915 08-03 06:16 a -rw------- 1 root root 1086 07-29 18:35 anaconda-ks.cfg
第1行:總計(total)
Total後面的數字是指當前目錄下所有檔案所佔用的空間總和。使用ls –lh可查看,也可使用ls –alh查看
每節點(inode)列表說明:
-rw-r--r-- 1 root root 762 07-29 18:19 exit
第1字段:節點的屬性與權限
由 16bit 構成,用10個字母表示。
- 第一個字符表示節點類型,由 4bit 構成,第一bit代表檔案,第二bit代表目錄,第三bit代表設備,第四bit代表命名管道:
- 「1000」,8,字符-表示該檔案是一個普通檔案
- 「1100」,12,字母s表示該檔案為sock檔案。與shell編程有關的檔案
- 「1010」,10,字母l表示該檔案是一個軟連結。字母「l」是link(連接)的縮寫,檔案內容放的是目的地的路徑
- 「0100」,4,字母d表示是一個目錄,字母「d」,是dirtectory(目錄)的縮寫
- 「0110」,6,字母b表示區塊設備(block),一般置於/dev目錄下,設備節點是普通檔案與程序探入硬體設備的入口,沒有檔案大小,只有一個主設備號和一個輔設備號。一次傳輸數據為一整塊的被稱為區塊設備,如硬碟、光碟等。最小數據傳輸單位為一個數據區塊(通常為512byte)
- 「0010」,2,字母c表示字符設備(character),一般置於/dev目錄下,一次傳輸一個byte的設備被稱為字符設備,如鍵盤、字符終端等,傳輸數據的最小單位為一個字節
- 「0001」,1,字母p(FIFO pipe)表示該檔案為命令管道。與shell編程有關的節點
- 連接檔案分為硬連接或符號連接兩種。
- 硬連接:多個檔名指向同一檔案。硬連接檔案大小完全相同,如有多個硬連接,所連接的檔案只是一個檔案大小。
同一個檔案所有的硬連接都是等價的,作業系統不區分硬連接創建的先後順序,若一個檔案存在兩個硬連接,那麼除去一個,檔案還可以通過另外一個連接來訪問該檔案,即使除去創建連接時使用的檔名,但只要還有一個硬連接存在,就可通過該連接訪問檔案。 - 符號連接(軟連接):建立一個獨立的檔案,這個檔案會讓數據的讀取指向它連接的檔案內容。類似windows的捷徑。
- 硬連接:多個檔名指向同一檔案。硬連接檔案大小完全相同,如有多個硬連接,所連接的檔案只是一個檔案大小。
- 第1字母後的9個字母表示該檔案或目錄的權限位。共 12bit 分成四段,每段 3bit 。
- 第一組 3bit 為特殊權限,對應到擁有者、群組、其他用戶的第三個字母,設置與對應字母如下:
- SUID SGID sticky 二進制 八進制 說明
- - - - 000 0 不設置特殊權限
- - - t 001 1 只設置sticky
- - s - 010 2 只設置SGID
- - s t 011 3 只設置SGID和sticky
- s - - 100 4 只設置SUID
- s - t 101 5 只設置SUID和sticky
- s s - 110 6 只設置SUID和SGID
- s s t 111 7 設置三種特殊權限
- 第二組 3bit 表示檔案擁有者的權限,r表示讀(Read,4)、w表示寫(Write,2)、x表示執行(eXecute,1)。
- 第三組 3bit 表示檔案所屬群組擁有的權限,r表示讀(Read,4)、w表示寫(Write,2)、x表示執行(eXecute,1)。
- 第四組 3bit 表示其他用戶擁有的權限,r表示讀(Read,4)、w表示寫(Write,2)、x表示執行(eXecute,1)。
- 第一組 3bit 為特殊權限,對應到擁有者、群組、其他用戶的第三個字母,設置與對應字母如下:
所以權限位可以有兩種表示法:
- 9字母表示法,用於節點列表時,如 rwxrwxrwt ,12bit整合成9個字母輸出
- 4數字表示法,用於指令參數或回傳,如 4666 ,12bit每3個bit表示成一個小於8的數字
特殊權限的具體作用
- sticky:區分寫入權限與刪檔權限,只對目錄有效,此目錄下的檔案或目錄只有擁有者及 root 才有權力刪除。「/tmp」一般為sticky,該目錄裡面雖然你可以建立與修改任何檔案,但是卻僅能刪除自己建立的檔案呢!除非你是 root !
- SUID與SGID的意義與作用:都是對一般用戶(others)不開放敏感檔案的讀取權限,但對指定的程式檔,允許一般用戶透過程式檔局部提升讀檔權限,讀取與該程式相關的敏感檔部分資訊。
- SUID:即 set user ID ,SUID對目錄沒有影響,檔案具有 SUID 時,若 others 具有可執行權限,那麼當 other 執行該程式時, other 將擁有該檔案的 owner 的權限!如:
-rw------- 1 root root 2423 Jun 25 14:29 /etc/shadow
-r-s--x--x 1 root root 13476 Aug 7 2001 /usr/bin/passwd
即利用此一機制,使一般使用者可以透過執行 passwd 修改 shadow 的內容,達到自己修改密碼的目的。 - SGID(檔案):即 set group ID ,檔案具有 SGID 時,若 others 具有可執行權限,那麼當 other 執行該程式時, other 將擁有該檔案的 group 的權限。如:
cr--r----- 1 root system 2, 1 May 25 1998 kmem
-r-xr-sr-x 1 bin system 59346 Apr 05 1998 ps
kmem是一個字符設備,裡面存儲了核心程序要訪問的數據,包括用戶的口令,所以這個文件不能給一般的用戶讀寫;但一般用戶想透過ps等程序要讀這個設備,而一般用戶不是root,所以不能訪問kmem。但大家注意了,bin和root都屬於system群組,而且ps設置了SGID,一般用戶執行ps,就會獲得system群組用戶的權限,而文件kmem的同群組用戶的權限是可讀,所以一般用戶執行ps讀就kmem沒問題了。
為什麼不把ps程序設置為root用戶的程序,然後設置SUID位,不也行嗎?這的確可以解決問題,但實際中為什麼不這樣做呢?因為SGID的風險比SUID小得多,所以出於系統安全的考慮,如果可能的話應該盡量用SGID代替SUID的程序。 - SGID(目錄):如果一個目錄設置了SGID,那麼如果任何一個用戶對這個目錄有寫入權限的話,他在這個目錄所建立的檔案的群組都會自動轉為父目錄 owner 所在的群組,而檔案的 owner 不變,還是屬於建立這個檔案的用戶。
- UNIX的內核對每位使用者制定了四個 ID :user id、group id、effective user id、effective group id,即uid,gid,euid,egid。內核是依據euid和egid來確定進程對資源的訪問權限。
用戶可以用id命令來查到自己的或其他用戶的uid,gid。
一個程式檔如果沒有設SUID或SGID位,則euid=uid,egid=gid;如果一個程式檔設了SUID(SUID的優先級比SGID高),則euid和egid變成被運行程式檔所有者的uid和gid;如果一個程式檔設了SGID,則egid變成被運行程式檔所有者的gid。 - 改變特殊權限也是用 chmod 指令:
- chmod u+s 檔案或目錄、chmod 4xxx:設SUID
- chmod g+s 檔案或目錄、chmod 2xxx:設SGID
- chmod o+t 檔案或目錄、chmod 1xxx:設sticky
- +換成-:消去特殊權限
第2字段:檔案硬連接數
-rw-r--r-- 1 root root 762 07-29 18:19 exit
如果一個節點不是目錄,此時這一字段表示這個檔案所具有的硬連接數
第2字段的值為1,說明檔案exit只有exit這一個檔案名。即只有一個指向該連接的硬連接。
如果使用ln,做一個指向該檔案的硬連接再查看該檔案,該檔案的第2字段就會變成2
[root@localhost ~]# ln exit aexit [root@localhost ~]# ls -l 總計 160 -rw-r--r-- 2 root root 762 07-29 18:19 aexit -rw-r--r-- 2 root root 762 07-29 18:19 exit
此時exit和aexit互為硬連接。同指向一個檔案,無論是修改哪一個檔案,另一個裡也做相應的變化,即同一檔案的不同檔案名。
互為硬連接的檔案具有相同的檔案節點。
[root@localhost ~]# ls -i aexit exit 162302 aexit 162302 exit
軟連接設置語法:
Ln –s 源檔案 目標連接檔案
# ln -s exit bexit # ls -l lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit -rw-r--r-- 1 root root 762 07-29 18:19 exit
注意:軟連接時檔案節點號不一樣;
[root@localhost ~]# ls -i bexit exit 161765 bexit 162302 exit
如果知道一個檔案有多個檔案名(連接檔案)如何查找他的其他檔案名的路徑?
使用ls -i 獲得其節點號,find查找。
[root@localhost ~]# ls -i /etc/sysconfig/network-scripts/ifcfg-eth0 452946 /etc/sysconfig/network-scripts/ifcfg-eth0 #節點號為 452946 [root@localhost ~]# find /etc -inum 452946 /etc/sysconfig/network-scripts/ifcfg-eth0
第2字段:連接佔用的節點數
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
該字段檔案佔用一個節點,屬於軟連接(符號連接)
如果是目錄,則第2字段表示該目錄所含子目錄的個數
新建空目錄,此目錄的第二字段就是2,表示該目錄下有兩個子目錄。
因為每一個目錄都有一個指向它本身的子目錄"." 和指向它上級目錄的子目錄"..",此預設子目錄是隱藏的。
每次在目錄下新建一個子目錄,該目錄第2字段的值就增1,但是新建一個普通檔案該字段值不增加。
第3字段:檔案(目錄)擁有者
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
該字段表示該檔案擁有者是誰。只有檔案的擁有者才具有改動檔案屬性的權利。root具有改動任何檔案屬性的權利。對於目錄,只有擁有該目錄的用戶,或者具有寫權限的用戶才有在目錄下創建檔案的權利。
如果某一用戶被刪除,而該用戶家目錄還存在,ls -l 查看該檔案將顯示一個代表用戶存在前ID號的數字。
創建用戶test,將其加入wang用戶組,su切換:
[root@localhost ~]# useradd test [root@localhost ~]# usermod -g wang test #創建用戶test,並將其加入到用戶組wang中 [root@localhost ~]# su test [test@localhost root]$ cd /home/test [test@localhost ~]$ touch testing [test@localhost ~]$ ls -l testing -rw-r--r-- 1 test wang 0 08-03 18:02 testing #最後用ls -l 看到第三字段的檔案擁有者為test [test@localhost ~]$ su root [root@localhost ~]# userdel test #刪除用戶test [root@localhost ~]# cd /home/test #進入test的家目錄,查看剛剛創建的檔案testing。 [root@localhost test]# ls -l 總計 4 -rw-r--r-- 1 504 wang 0 08-03 18:02 testing
第三字段變成數字,此數字是原用戶test的ID號。因為檔案系統對每個檔案記錄檔案所有者的ID,而非用戶名。
第4字段:檔案(目錄)擁有者所在的群組
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
一個用戶可以加入很多個群組,但是其中有一個是主群組,就是顯示在第4字段的名稱。
useradd -g指定該用戶所在的主群組,-G指定其他群組
Useradd –g 群組名 用戶名
第5字段:檔案所佔用的空間(以字節為單位)
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
第5字段表示檔案大小,如果是目錄,表示該目錄大小。注意是目錄本身大小,而非目錄及其下面的檔案的總大小。
第6字段:檔案(目錄)最近訪問(修改)時間
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
可通過touch修改創建時間:
# touch exit
把exit創建時間修改當前時間,檔案還有最後訪問時間,最後修改時間等屬性。
可以用ls其它參數顯示出來。
第7字段:檔案名
lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit
如果是符號連接,會有"->"符號,跟著它指向的檔案名