KernelSU 怎么给应用授权——默认拒绝模型与超级用户页操作
默认拒绝:没有弹窗的授权模型
从 Magisk 迁移过来的用户最先撞上的差异就在这里:KernelSU 不响应应用发起的 root 请求,默认行为一律拒绝。应用调用 su 时不会弹出「是否授权」的窗口——想给某个应用 root,必须由你自己打开管理器手动启用。
这个设计把授权的主动权完全收归用户:应用无法通过反复请求、伪装弹窗等方式「骗」到权限。
在超级用户页操作
打开管理器 → 超级用户页,会列出设备上申请过 root 的应用:
- 找到目标应用,拨动开关即可授予 / 撤销 root;
- 授权后应用调用
su时,内核按其 App Profile 决定实际权限大小(见 App Profile 总览); - 撤销授权同样在这里完成,即时生效。
每个应用旁还可以进入其 App Profile 详情,对 uid、capabilities 等做进一步限制。
授权模型的三条边界
- 对未授权应用完全隐形:没被授权的应用既无法执行 su,也察觉不到 su 的存在;
- 授权不等于全权:开启开关只是允许它「使用 su」,具体权限被 App Profile 收窄,比如只给 shell 级而不是 root 级;
- 内核强制执行:授权与限制都记录在内核里,不依赖应用自律,进程中途切换用户也逃不过。
与 Magisk 共存时的授权
如果设备同时保留了 Magisk(只改 ramdisk、KernelSU 改内核),两个 su 会同时存在。应用的请求行为取决于各自方案的策略,避免混乱的建议见 KernelSU 与 Magisk 兼容吗。