使用Busybox制作根檔案系統時,/etc目錄非常重要,它包含了嵌入式Linux啟動所需的配置檔案及腳本.由于init程序,或者說linuxrc程式會解析inittab檔案,是以就從/etc/inittab檔案開始說起.
(1)檔案/etc/inittab
該檔案是init程序需要解析的檔案,它的每個條目都是一個腳本或可執行程式,詳見部落格"inittab檔案".
|
(2)檔案/etc/init.d/rcS
該檔案的功能主要有兩個,一個是将不同的檔案系統挂載到根檔案系統下的某個目錄内;二是建立kernel所需的目錄,這些目錄都是kernel運作過程中所必須的.
|
(3)檔案/etc/fstab
在檔案/etc/init.d/rcS中執行mount –a時,就會按照檔案/etc/fstab内容挂載相應的檔案系統.
|
<1>fstab檔案的格式:
device Mount Point filesystem parameters dump fsck
proc /proc proc defaults 0 0
<2>檔案/etc/fstab就是使用mount将裝置載入到系統的某個載入點所需執行的指令内容,将這些内容都寫到/etc/fstab裡,使得系統一啟動就主動載入.
<3>參數dump的值表示是否允許使用dump指令進行系統備份.dump指令會根據對/etc/fstab的設定值,去選擇是否要将該分區進行備份.0表示不要dump備份,1或2表示要進行dump備份.
<4>參數fsck的值表示是否允許以fsck檢驗分區内的檔案系統是否完整.其中,根檔案系統必須進行檢驗,其它檔案系統可以不需要檢驗.0表示不要檢驗,1或2表示要進行檢驗.
(4)檔案/etc/passwd
當使用者以telnet或ssh登入主機時,系統會出現一login畫面來輸入賬号,此時輸入賬号和密碼後,Linux會執行以下動作:
<1>先找/etc/passwd内是否有該賬号,如果有,則将該賬号與對應的UID(user ID)和GID(Group ID)讀出,并将該賬号的家目錄與shell設定也一起讀出.
<2>核對密碼表,此時Linux會進入/etc/shadow中查找對應的賬号與UID,然後核對已輸入的密碼與裡面的密碼是否一緻.
<3>若一切相符,就進入shell控制階段.
下面就來分别簡述這兩個檔案的含義.
<1>/etc/passwd
|
該檔案的構造如上所示,每一行都表示一個賬号,有幾行就表示系統中有幾個賬号.注意,裡面的很多賬号都是系統必須使用的,稱作系統賬号.在每個Linux系統中都會有第一行,就是root系統管理者行,每行有7個部分,用":"隔開.
1、賬号名稱:root表示預設的系統管理者的賬号名稱.
2、密碼:x表示密碼已經移動到shadow這個加密後的檔案中了.
3、UID:當UID=0時,表示root
4、GID:與/etc/group有關,用于規範使用者組.
5、使用者資訊說明欄:用于解釋該賬号的意義.
6、家目錄:使用者的家目錄.root使用者的家目錄就是/root.
7、Shell:預設使用/bin/bash來執行指令. <2>/etc/shadow
|
該檔案屬于加密檔案,每個賬号的密碼均在該檔案中,這裡不再贅述. (5)/etc/profle
|