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 阅读(104) 评论(0) 编辑 收藏 举报