我看到文件系统类型和文件类型在 AOSP 的/external/sepolicy/file.te 中声明。 但每种类型都代表或映射到评论中提到的特定目录。
链接:https://android.googlesource.com/platform/external/sepolicy/+/refs/heads/lollipop-release/file.te
示例1:
#Default type for anything under /system.
type system_file, file_type;
示例2:
#/data/data subdirectories - app sandboxes
type app_data_file, file_type, data_file_type;
这意味着我们正在声明一个类型 app_data_file
并将该类型关联到属性 file_type
和 data_file_type
注意:所有属性都在属性文件中声明。
链接:https://android.googlesource.com/platform/external/sepolicy/+/refs/heads/lollipop-release/attributes
前面提到,
system_file
类型适用于路径/system
,而app_data_file
则适用于/data/data
子目录。但是这些类型和路径在哪里显式映射或关联?如果它们没有映射到任何地方,那么操作系统如何知道system_file
用于/system
如果我必须创建一个新类型
my_app_type
并将其映射到目录/data/com.my_app/photos/
,我该如何实现?
最佳答案
这些正在被标记,例如。以及 device/manufacturer/device-name/sepolicy/file_contexts
和更多 file_contexts
文件(正如构建 AOSP 时所见)。请参阅Label new services and address denials以获得更详细的解释。
另请参阅RHEL documentation (从哪里来的),因为问题的第二部分很难回答;我想知道这是否是必需的,为什么?如果我正确理解该目录的用途,那么在 Android 上,这可能是 FileProvider
的工作。 ,将这些文件公开给其他应用程序。降低安全标准通常不是一个好主意,但还有另一种可用的方法,可以从已经允许的安全上下文进行访问。我的意思是,即使可以使用 ls -laZ 列出标签(类似于文件系统列表),安全上下文始终是访问发生的角度。 AndroidX Camera2Basic示例将演示我的意思(它是应用程序内部存储的 FileProvider
)。
关于android - SE Linux 中目录路径映射到标签的位置在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61203701/