小艾同学

全志平台Tina系统量产前adb shell设密码的方法

全志平台Tina系统量产前adb shell设密码的方法
【适用范围】

全志平台Tina系统

 

【问题现象】

通常产品量产后都想要以安全方式封闭adb shell,不允许用户或其他开发者使用,因此需要以安全方式禁用。

 

【修改方式】

这里提供一种以加密码的方式禁用adb shell的方法。

找到管理权限与密码的shadow文件
在Tina1.0 上:/package/base-file/files/etc/shadow

在Tina2.0 上:除此外,还需要修改target/方案名/base-file/etc/shadow

在shadow文件中,通常第一行:
root::0:0:99999:7:::

在root:后即密码字段,默认为空,即默认有root权限而无须密码

创建密码:
使用软件包 makepasswd

命令如下:makepasswd --clearfrom=- --crypt-md5 <<< YourPass(注意等号后还有一个-)

其中YourPass为自定义的密码

将生成的哈希值密码(注意非明文)复制到root: 后,保存文件
修改adb_shell文件,tina1.0 在package/softwinner/adb下,tina 2.0在package/allwinner/adb下,将脚本中三处/bin/sh 改为/bin/login
在/package/base-file/files/etc/init.d/done中,添加/etc/init.d/adbd stop命令,以使开机时默认禁止adb服务。
执行make menuconfig,在base-system--->busybox----> customize busybox option ---->Login/Password Management Utilities ----> (*)login 选择编译
重新编译,执行adb shell,需要登录账号root及密码。进入后执行root权限。
 

【其他方式】

除此之外,有几个必备命令,在小机中中执行:

/etc/init.d/adbd enable     使能adb服务

/etc/init.d/adbd disable    禁用adb服务

/etc/init.d/adbd start        启动adb服务

/etc/init.d/adbd stop       停止adb服务

这几个命令可以自由搭配使用来满足客户想要以常见的方式禁用adb如:

不同组合按键设置密码开关adb服务

带屏产品通过屏幕开关adb服务

云平台验证开关adb服务

来源:https://www.cnblogs.com/zhangshenghui/p/11418726.html