跳到主要内容

Password - 增加登录密码

ADB权限功能

该功能主要用于权限管理,只有经过公私钥认证后才能进行adb通信。

1.配置ADB

使用前需要make menuconfig选中对应功能:

Allwinner  --->
USB --->
<*> adb................................................... adb for Tina Linux
<*> adbd_auth_service........................ adb auth service for Tina Linux

配置ADB

默认开机就会使能该功能,执行adb命令时会进行公私钥校验。

2.公钥的安装

默认允许安装所有公钥,可以通过修改
platform/allwinner/usb/adbd/auth/aw_adb_auth_service.c
取消下面注释
/*aw_adbd_install_pubkey_detector(publickey_detector); */
然后在publickey_detector函数中判断是否安装公钥,返回false则不安装

公钥的安装路径:/mnt/UDISK/adb_keys

如果/mnt/UDISK/adb_keys下面没有对应的公钥,并且不允许安装新公钥,这时候adb功能就不能使用。

3.注意事项

(1)Windows下面公私钥的路径:

%USERPROFILE%\.android\adbkey       // 私钥
%USERPROFILE%\.android\adbkey.pub // 公钥

(2)Ubuntu下面公私钥的路径:

用户目录/.android/adbkey            // 私钥
用户目录/.android/adbkey.pub // 公钥

串口登录设置密码

配置busybox启用密码登录功能

make menuconfig选择

Base system —>
<*> busybox ……
[*] Customize busybox option
Login/Password Management Utilities —>
[*] login

生成密码文件

make menuconfig选择

Base system —>
<*> busybox ……
[*] Customize busybox option
Login/Password Management Utilities —>
[*] passwd

passwd软件包仅仅为了生成密码文件,生成完毕后就可以取消勾选这个软件。

启动系统,使用passwd命令配置密码,例如这里配置密码为 tina

使用passwd命令配置密码

此时会生成两个文件

  • /etc/shadow

shadow文件内容

  • /etc/passwd

passwd文件内容

将密码文件拷贝到SDK 内,放置到对应板级的 openwrt/target/v821/v821-xxx/busybox-init-base-files/etc 文件夹内,例如 perf2 板级放置在 openwrt/target/v821/v821-perf2/busybox-init-base-files/etc 文件夹下。

放置密码文件

3.修改启动脚本

到 openwrt/package/allwinner/system/busybox-init-base-files/files/etc/inittab 下找到 inittab 源文件

inittab 源文件

复制到对应板级目录下的 busybox-init-base-files/etc 内,这里以perf2板级为例,复制到 openwrt/target/v821/v821-perf2/busybox-init-base-files/etc/inittab

复制到对应板级目录

4.编辑 inittab 文件,将

/dev/console::respawn:-/bin/sh

修改为

/dev/console::respawn:-/bin/login

编辑inittab文件

5.测试功能

编译上电后,默认会进入输入密码的界面,此时需要输入用户名 root 密码 tina 进入控制台

密码测试功能