一但 kernel 完成載入後,kernel 就將控制權交給使用者層的命令 init,通常放置在 /sbin/init, 或是 loader 的環境變數 init_path 所指定的位置。
這個程序將會確定系統將要使用的檔案系統是存在的,如果不存在, 那麼 fsck 就不能正常的被執行去修復磁碟機, 接著 init 將把系統切換成 單人模式, 系統管理者就可以在這時候直接處理這錯誤。
要進入這個模式可以經由 自動 reboot 啟動程序 ,或是在開機階段設置 -s 參數,或者設定 boot_single 的變數給 loader。
或在 多人模式 之下,執行 shutdown, 不加 reboot (-r) 或 halt (-h) 參數,也可以進入 單人模式。
如果系統主控台 console 在 /etc/ttys 之中是設定成 insecure 的, 那麼在進入 單人模式 時,系統就會要求輸入 root 的密碼。
Example 5-3. 在 /etc/ttys 中設定一個 console 為 insecure
# name getty type status comments # # This entry needed for asking password when init goes to single-user mode # If you want to be asked for password, change "secure" to "insecure" here console none unknown off insecure
Note: 一個 insecure 的 console 代表你認定你的 console 的安全等級是 insecure 的, 並且想確定有人想進入單人模式時都要輸入 root 的密碼才行,請注意,insecure 不代表你的 console 是 inscure 的, 而是,如果你要多一點的安全防護,請選擇 insecure,而不是 secure。
如果 init 無誤地找到了你的檔案系統, 或結束了 單人模式, 系統就會進入多人模式,並開始系統的資源配置。
開始系統資源配置時,系統將先執行預設的配置檔 /etc/defaults/rc.conf, 和系統的詳細配置 /etc/rc.conf,接著依照 /etc/fstab 來掛載檔案系統, 再啟動網路服務,和其他的系統監控程式 (daemon),最後,執行部份程式的起始 script 檔。
rc(8) 是個參考資源設定系統的好地方,同理,直接查閱 那些 scripts 也是個好方法。