@@ -20,7 +20,7 @@ UID 为 0 的用户被称之为 root 用户,GID 为 0 的组被称之为 root
|
||||
此处的 UID 跟 Android 系统的多用户,或者说工作资料(Work Profile),不是一个概念。工作资料实际上是对 UID 进行分片实现的,比如 10000-19999 是主用户,110000-119999 是工作资料;他们中的任何一个普通应用都拥有自己独有的 UID。
|
||||
:::
|
||||
|
||||
每一个 App 可以有若干个组,GID 使其主要的组,通常与 UID 一致;其他的组被称之为补充组(groups)。某些权限是通过组控制的,比如网络访问,蓝牙等。
|
||||
每一个 App 可以有若干个组,GID 是其主要的组,通常与 UID 一致;其他的组被称之为补充组 (groups)。某些权限是通过组控制的,比如网络访问,蓝牙等。
|
||||
|
||||
例如,如果我们在 ADB shell 中执行 `id` 命令,会得到如下输出:
|
||||
|
||||
@@ -43,9 +43,9 @@ App Profile 仅仅是控制 root 应用使用 `su` 后的权限,它并非控
|
||||
|
||||
Capabilities 是 Linux 的一种分权机制。
|
||||
|
||||
传统的 UNIX 系统为了执行权限检查,将进程分为两类:特权进程(其有效用户 ID 为 0,称为超级用户或 root)和非特权进程(其有效 UID 为非零)。特权进程会绕过所有内核权限检查,而非特权进程则根据其凭据(通常是有效UID、有效GID和补充组列表)进行完整的权限检查。
|
||||
传统的 UNIX 系统为了执行权限检查,将进程分为两类:特权进程(其有效用户 ID 为 0,称为超级用户或 root)和非特权进程(其有效 UID 为非零)。特权进程会绕过所有内核权限检查,而非特权进程则根据其凭据(通常是有效 UID、有效 GID 和补充组列表)进行完整的权限检查。
|
||||
|
||||
从 Linux 2.2开始,Linux 将传统上与超级用户关联的特权分解为独立的单元,称为 Capabilities(有的也翻译为“权能”),它们可以独立启用和禁用。
|
||||
从 Linux 2.2 开始,Linux 将传统上与超级用户关联的特权分解为独立的单元,称为 Capabilities(有的也翻译为“权能”),它们可以独立启用和禁用。
|
||||
|
||||
每一个 Capability 代表一个或者一类权限。比如 `CAP_DAC_READ_SEARCH` 就代表是否有能力绕过文件读取权限检查和目录读取和执行权限检查。如果一个有效 UID 为 `0` 的用户(root 用户)没有 `CAP_DAC_READ_SEARCH` 或者更高 Capalities,这意味着即使它是 root 也不能随意读取文件。
|
||||
|
||||
@@ -110,8 +110,8 @@ KernelSU 提供了一种 systemless 的方式来修改系统分区,这是通
|
||||
|
||||
另外,KernelSU 管理器的设置界面还提供了一个“默认卸载模块”的开关,这个开关默认情况下是**开启**的,这意味着**如果不对 App 做额外的设置**,默认情况下 KernelSU 或者某些模块会对此 App 执行卸载操作。当然,如果你不喜欢这个设置或者这个设置会影响某些 App,可以有如下选择:
|
||||
|
||||
1. 保持“默认卸载模块”的开关,然后针对不需要“卸载模块”的 App 进行单独的设置,在 App Profile 中关闭“卸载模块”;(相当于“白名单“)。
|
||||
2. 关闭“默认卸载模块”的开关,然后针对需要“卸载模块”的 App 进行单独的设置,在 App Profile 中开启“卸载模块”;(相当于“黑名单“)。
|
||||
1. 保持“默认卸载模块”的开关,然后针对不需要“卸载模块”的 App 进行单独的设置,在 App Profile 中关闭“卸载模块”;(相当于“白名单”)。
|
||||
2. 关闭“默认卸载模块”的开关,然后针对需要“卸载模块”的 App 进行单独的设置,在 App Profile 中开启“卸载模块”;(相当于“黑名单”)。
|
||||
|
||||
:::info
|
||||
KernelSU 在 5.10 及以上内核上,内核会执行“卸载模块”的操作;但在 5.10 以下的设备上,这个开关仅仅是一个“配置项”,KernelSU 本身不会做任何动作,一些模块(如 Zygisksu 会通过这个模块决定是否需要卸载)
|
||||
|
||||
Reference in New Issue
Block a user