ROOT用户添加密码登录
路径:overlay下 jw/etc/inittab文件
::respawn:-/bin/sh
#注释掉
#::respawn:-/bin/sh
#ttyFIQ0::respawn:/sbin/getty -L ttyFIQ0 0 vt100
#启用
ttyFIQ0::respawn:/sbin/getty -L ttyFIQ0 0 vt100
-
ttyFIQ0:当前Rockchip调试串口。 -
0:保持Bootloader/Kernel已经设置的波特率。 -
getty:显示登录提示,然后调用/bin/login。 -
登录成功后才启动用户shell。
修改后串口会显示类似:(JW Board V1 login)来自:/etc/hostname
JW Board V1 login:
Password:
当前root密码已经设置,/etc/shadow 中的默认密码实际是:
用户名:root
密码:rockchip
因为BusyBox启用了 CONFIG_FEATURE_SECURETTY,建议同时创建:
/etc/securetty文件写入
ttyFIQ0
表示允许root从这个串口登录。
普通用户添加串口登录
- 修改
etc/passwd
jw:x:1000:1000:JW User:/home/jw:/bin/sh
用户名 : 密码位置 : UID : GID : 说明 : 用户目录 : 登录Shell
jw : x :1000 : 1000: JW User :/home/jw:/bin/sh
- 修改
/etc/group
jw:x:1000:
- 生成jw的密码
- 在SDK编译主机上执行:
openssl passwd -1 -salt "$(openssl rand -hex 4)"
-
- 输入准备设置的密码,会输出类似:
$1$xxxxxxxx$xxxxxxxxxxxxxxxxxxxxxx
-
- 在
etc/shadow中添加:不是明文密码。
- 在
jw:$1$a1b2c3d4$xxxxxxxxxxxxxxxxxxxxxx:10933:0:99999:7:::
-
- 设置权限
chmod 600 /etc/shadow
- 创建用户目录
mkdir -p /home/jw
chown 1000:1000 /home/jw
chmod 750 /home/jw
- 禁止root从串口登录
/etc/inittab 中禁止直接启动root shell:
#::respawn:-/bin/sh
ttyFIQ0::respawn:/sbin/getty -L ttyFIQ0 0 vt100
/etc/securetty
不要在里面添加 ttyFIQ0。这样 BusyBox login 会拒绝 root 从这个串口登录,但允许 jw 登录。