root 添加登录密码(基于buildroot)

通过以前这篇文章 Linux启动后自动登录root进入控制台 - f1engmin11 - 博客园 (cnblogs.com) 我们可以知道,Linux启动后,是否自动登录 root 用户,可以通过修改 /etc/inittab 文件的 respawn 动作来实现。

下面记录一下如何 添加 root 登录密码:

1. 首先 /etc/inittab 文件设置为 root 非自动登录模式

... ...
console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL
... ...

2. 在buildroot 目录下 make menuconfig, 修改 以下两个宏

BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD="mypassword"

重新编译buildroot,就可以了。

3. root用户无密码时,/etc/shadow 文件

root::::::::
daemon:*:::::::
bin:*:::::::
sys:*:::::::
sync:*:::::::
mail:*:::::::
www-data:*:::::::
operator:*:::::::
nobody:*:::::::

4.  root用户有密码时,/etc/shadow 文件

root:$5$3UUCwzTH$fxx.KcjDjRH3H5E4kJxrTbLcgYPxx.TbcWSqxhH6fQwCfu2xx:::::::
daemon:*:::::::
bin:*:::::::
sys:*:::::::
sync:*:::::::
mail:*:::::::
www-data:*:::::::
operator:*:::::::
nobody:*:::::::

 

实例:

君正x2000 darwin 开发板增加root登录密码方法:

1. 首先增加对应的宏

BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD="mypassword"
BR2_PACKAGE_HOST_MKPASSWD=y

2. 在 buildroot/buildroot_patch/rootfs_config/tools/set_login_tty.mk 文件修改,就是设置  /etc/inittab 文件

ifeq ($(APP_br_root_login_keep_buildroot),y)
define SYSTEM_CONFIG_SET_LOGIN
    sed -i '/# GENERIC_SERIAL$$/s~^.*#~$(APP_br_root_login_tty_port)console::respawn:/sbin/getty -L  console 0 vt100 #~' \
        $(TARGET_DIR)/etc/inittab
endef
endif

3. 使用IConfigTool工具使能 APP_br_root_login_keep_buildroot ,重新编译sdk,就实现了添加root密码登录的功能了。

其他基于buildroot的文件系统,应该也是通过上述方法添加root密码登录。

posted on 2024-09-04 16:03  f1engmin11  阅读(165)  评论(0编辑  收藏  举报

导航