- su命令
- superuser.apk或supersu.apk
- sh命令(通常原系统自带)
- busybox(可选,拓展原系统的命令,原系统自带的命令较少)
- 当前电视的system.img镜像文件
其实较简单,就是将sh、su、busybox复制到/system/bin或/system/xbin目录下,然后安装superuser.apk到手机,授权应用程序的超级用户请求。
命令:sudo mount -t ext4 -rw system.img sys
命令:sudo chmod 6755 xbin/su xbin/busybox
重要说明 :
明明它们是可执行属性,为什么要修改成6755 ?如果不修改,在运行su命令时就会出现“su: must be suid to work properly”的错误。
在应用app运行时会弹出“超级用户请求”,如运行re、终端模拟器等,点击“允许”vcs
运行superuser或supersu应用时出现
大致原因:su与superuser版本不一致或者superuser与android内核版本不一致
这个是运行su命令时出现的
原因:su命令设置不当造成的
解决:修改su的属性为6755,chmod 6755 xbin/su
6755属性:中的6是SUID、SGID、SBIT权限的体现,SUID=4,SGID=2,SBIT=1,授权方法除了数字外,还可用SUID: u±s ,SGID: g±s,SBIT: o±t
SUID : set uid (所有者)
- 对可执行程序有效
- 使普通账号在使用这些命令时暂时获得其拥有者的权限,典型的有su 、passwd
SGID : set gid (所在群组)
- 作用于目录或可执行文件
- 在执行过程中,调用者会暂时获得该文件的所属组权限
SBIT : Sticky Bit
- 对目录有效
- 当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。
获取system.img :
通常从升级包中提取出来,提取方法可参考: