Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android 9上的框架和供应商应用程序之间共享系统属性的读写SELinux权限?_Android_Selinux_System Properties - Fatal编程技术网

如何在Android 9上的框架和供应商应用程序之间共享系统属性的读写SELinux权限?

如何在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验证属性值

如何在Android 9上的框架和供应商应用程序之间共享信息的读写SELinux权限?我试图使用系统属性来指定配置和读取状态

我在构建时在属性中指定了一组NTP服务器,以便在框架请求时使用,属性类型如下

"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);
#设置#道具(系统#服务器、供应商#时间#道具)**