如何正确使用 su:BakaSU 权限管理、授权策略与 ADB Root 速查手册
【免费下载链接】BakaSUA KernelSU based root solution for Android项目地址https://gitcode.com/gh_mirrors/re/BakaSU点击查看免费下载BakaSU 是一款基于 KernelSU 的 Android 内核 Root 方案。本文带你快速掌握三件事su 命令的正确用法、管理器中的授权策略Allowlist / App Profile以及ADB Root 一键开启让新手也能安全、可控地使用 Root 权限。一、BakaSU 的 su 是如何工作的与传统 Root 不同BakaSU 并不在系统里放一个真正的su二进制文件而是由内核直接拦截当应用执行/system/bin/su时内核的 su 兼容层su compat拦截这次execve调用并将其重定向到用户空间的守护进程ksud位于/data/adb/ksu/bin/ksud通过 supercall 向内核请求提权内核在确认该应用已在允许列表allowlist后才会执行escape_with_root_profile()按你配置的Root Profile完成提权。相关源码su 拦截与重定向kernel/feature/sucompat.c提权请求处理KSU_IOCTL_GRANT_ROOTkernel/supercall/dispatch.csupercall 命令定义uapi/supercall.h 这意味着只有在管理器中授权过的应用su才能真正生效未授权应用即使调用了su内核也会直接拒绝。二、授权策略速查管理器中的三套机制1. 允许列表Allowlist——决定谁能 su应用首次请求 Root 时管理器会弹出授权弹窗可选择允许 / 本次允许 / 拒绝已授权列表持久化保存在/data/adb/ksu/.allowlist见 kernel/policy/allowlist.c在管理器的SuperUser超级用户页面可随时撤销或重新授权任意应用SuperUserPage.kt。2. App Profile——把 Root 关进笼子BakaSU 为每个应用维护一份权限档案App Profile核心是两组配置定义见 uapi/app_profile.h配置作用Root Profile该应用提权后的身份UID/GID、附加组、Capabilities、SELinux 域、命名空间以及是否禁止再次提权no_new_privsNon-Root Profile该应用未获授权时是否卸载模块umount_modules默认为是也就是说即使授予了 Root你也可以把某个应用的权限裁剪到最小防止它被恶意利用。配置界面在管理器的应用详情与 App Profile 页面AppProfile.kt、RootProfileConfig.kt。3. 多管理器支持BakaSU 内核可以搭配官方 KernelSU 管理器或 KOWSU 管理器使用授权体验一致见 docs/zh/README.md。三、su 命令常用选项速查su由ksud提供常用选项如下实现见 userspace/ksud/src/android/su.rs命令说明su进入 root shellsu -c 命令以 root 执行单条命令su -l以登录 shell 方式启动su -s /system/bin/sh指定要使用的 shellsu -p保留当前环境变量su -M强制在全局挂载命名空间下运行su -g 1000 / -G 1000,3003指定主组 / 附加组su -Z u:r:magisk:s0指定 SELinux 上下文su -W不使用 ksud 的文件描述符包装su --ksu-no-new-privs禁止该进程及其子进程再次提权示例su -c getprop ro.build.version.sdk # 单条命令 su -M # 需要看到模块挂载内容时使用四、ADB Root一键让 adb shell 变 rootBakaSU 内置 ADB Root 功能开启后adb shell直接获得 root无需再输入su。开启方式管理器 → 设置 → 内核功能 →ADB RootRun adbd daemon with root privileges开关代码见 SettingsPage.kt。工作原理内核的adb_root特性特性 ID 见 uapi/feature.h会在每次启动adbd守护进程时注入LD_PRELOAD/data/adb/ksu/lib/libadbroot.so并切换到 root 的 SELinux 上下文实现见 kernel/feature/adb_root.c。⚠️安全提醒官方字符串也明确提示——Do not enable this unless absolutely necessary见 strings.xml。仅在开发调试时开启日常使用请保持关闭避免降低设备安全性。五、常见问题排查提示su: not found或无响应确认管理器中已授权该应用且未处于拒绝状态su 成功但看不到模块内容未授权应用默认会卸载模块视图可尝试su -M排查权限被拒原因开启 Sulogsu 日志在管理器日志页查看每次授权的内核记录界面见 SulogScreen.kt内核侧见 kernel/sulog/特性总开关su 兼容层、模块卸载、Sulog、ADB Root、SELinux 隐藏等内核特性均可通过 supercall 开关统一枚举定义在 uapi/feature.h。六、关键路径一览内容路径su 兼容层内核kernel/feature/sucompat.c允许列表内核kernel/policy/allowlist.cADB Root内核kernel/feature/adb_root.c特性开关定义uapi/feature.hsu 命令实现用户空间userspace/ksud/src/android/su.rs管理器授权页面SuperUserPage.kt项目说明文档docs/zh/README.md按以上步骤操作你就能在 BakaSU 中既方便地使用su与 ADB Root又把 Root 权限稳稳地关在自己掌控的笼子里。赞分享【免费下载链接】BakaSUA KernelSU based root solution for Android项目地址https://gitcode.com/gh_mirrors/re/BakaSU点击查看免费下载相关推荐终极指南Facebook Python SDK权限管理——如何正确处理用户授权的完整教程终极指南Facebook Python SDK权限管理——如何正确处理用户授权的完整教程 Facebook Python SDK是一款强大的工具用于与Fac后端【亲测免费】 如何安装与使用Termux-ADB无需root权限的ADB快速上手指南如何安装与使用Termux ADB无需root权限的ADB快速上手指南 项目概述 Termux ADB 是一个专门为Termux环境设计的ADBAndroi开发工具MobileViTv2_075.cvnets_in1k实战教程从安装到部署的完整流程MobileViTv2_075.cvnets_in1k实战教程从安装到部署的完整流程 MobileViTv2_075.cvnets_in1k是一款基于Mobi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考