![非 root 用户可以在 android 中设置哪些 xattrs 命名空间?](https://linux22.com/image/1490040/%E9%9D%9E%20root%20%E7%94%A8%E6%88%B7%E5%8F%AF%E4%BB%A5%E5%9C%A8%20android%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%E5%93%AA%E4%BA%9B%20xattrs%20%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%EF%BC%9F.png)
security.capabilities
我知道如果没有 uid 0 或 CAP_SETFCAP就无法设置属性。
然而,我无法找到允许的名称命名空间或不允许的名称命名空间的完整列表。
答案1
这记录在xattr(7)手册页:
扩展属性命名空间
[…] 目前,、、
security
和 扩展system
属性 类定义如下。将来可能会添加其他类。trusted
user
扩展安全属性
[…] 对安全属性的读写访问权限取决于安全模块为每个安全属性实施的策略。当未加载任何安全模块时,所有进程都具有对扩展安全属性的读取访问权限,而写入访问权限仅限于具有 CAP_SYS_ADMIN 功能的进程。
扩展系统属性
[…] 对系统属性的读写访问权限取决于内核中文件系统为每个系统属性实施的策略。
受信任的扩展属性
受信任的扩展属性仅对具有 CAP_SYS_ADMIN 功能的进程可见且可访问。此类中的属性用于在用户空间(即内核之外)实现机制,该机制将信息保存在普通进程不应访问的扩展属性中。
扩展用户属性
[…] 用户属性的访问权限由文件权限位定义:检索属性值需要读取权限,而更改属性值则需要写入权限。