在檔案inittab中,::respawn:-/bin/sh被執行時,直接進入了指令行,是以不會顯示使用者登入界面,是以添加使用者登入界面需要在這裡做文章。
2:busybox如何實作使用者登入
我們知道busybox是很多可執行程式的集合,busybox中也內建了使用者登入的指令,分别是/bin/login和/sbin/gettty
3:添加使用者登入界面
結合前面所述隻需要将::respawn:-/bin/sh改為::respawn:-/bin/login或者::respawn:-/sbin/getty即可。
4:進一步完善
重新加載檔案系統可以發現,系統出現了使用者登入的界面,但是無法登入,原因是,我們通過修改inittab檔案,在系統啟動時調用了使用者登入程式,但是我們并沒有設定使用者名和使用者密碼。
在linux中,使用者名由/etc/passwd檔案進行管理,使用者密碼由etc/shadow進行管理,這兩個檔案的格式可自行百度,這裡不再進行叙述。是以我們隻需要将ubuntu中/etc/passwd和/etc/shadow兩個檔案拷貝到根檔案系統中的/etc目錄下即可,當然需要對着相應的格式進行修改。
在busybox隻有root使用者,是以可以删除passwd中的普通使用者資訊,同時還得修改root使用者登入時進入的目錄,同時删除shadow中對應root使用者的登入密碼,root使用者的密碼可以在登入後使用passwd root進行修改。
本文轉自 菜鳥養成記 51CTO部落格,原文連結:http://blog.51cto.com/11674570/2083532