根文件系统添加用户登入功能

    1:再启动文件系统的时候为什么没有出现用户登入界面

在文件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进行修改。

转载于:https://blog.51cto.com/11674570/2083532

原文地址:https://www.cnblogs.com/twodog/p/12137399.html