如何在Android 9上的框架和供应商应用程序之间共享系统属性的读写SELinux权限?
如何在Android 9上的框架和供应商应用程序之间共享信息的读写SELinux权限?我试图使用系统属性来指定配置和读取状态 我在构建时在属性中指定了一组NTP服务器,以便在框架请求时使用,属性类型如下如何在Android 9上的框架和供应商应用程序之间共享系统属性的读写SELinux权限?,android,selinux,system-properties,Android,Selinux,System Properties,如何在Android 9上的框架和供应商应用程序之间共享信息的读写SELinux权限?我试图使用系统属性来指定配置和读取状态 我在构建时在属性中指定了一组NTP服务器,以便在框架请求时使用,属性类型如下 "vendor.time.config.Server1 u:object_r:exported2_system_prop:s0" 供框架代码访问。这工作正常,NtpTrustedTime.java能够读取服务器名称并将状态写回系统属性。 我可以使用getprop验证属性值
"vendor.time.config.Server1 u:object_r:exported2_system_prop:s0"
供框架代码访问。这工作正常,NtpTrustedTime.java能够读取服务器名称并将状态写回系统属性。
我可以使用getprop验证属性值的更改
现在,我希望能够从另一个供应商系统管理应用程序读写这些属性集,它应该能够读取属性以获取时间状态,并且如果需要,还能够更改属性中指定的NTP服务器名称
此供应商应用程序无法读取/写入“exported2_system_prop”上下文,因此我为这些特定属性集创建了一个新类型(供应商时间_prop)。我还添加了以下权限,以允许框架和供应商应用程序进行访问
我尝试了以“vendor”和“persist.vendor”开头的属性,以检查默认名称权限是否有任何影响
已尝试的属性名称示例
vendor.time.config.Server1
vendor.time.status.timestat
OR
persist.vendor.time.config.Server1
persist.vendor.time.status.timestat
为供应商应用程序提供的规则
allow myvendor_app vendor_time_prop:file { getattr open read };
allow myvendor_app vendor_time_prop:property_service set
为框架提供的规则
#set_prop(system_server, vendor_time_prop); **<-- this is failing the neverallow rule and hence commented**
get_prop(system_server, vendor_time_prop);
#设置#道具(系统#服务器、供应商#时间#道具)**