修改 priv_app.te, 增加selinux 权限:
allow priv_app system_data_file:file { open read create write unlink setattr };
修改后发现priv_app仍然被selinux限制。
原因是同目录下的 mls文件有如下限制:
mlsconstrain dir { write setattr rename add_name remove_name reparent rmdir }
(t2 == app_data_file or t2 == privapp_data_file or l1 eq l2 or t1 == mlstrustedsubject or t2 == mlstrustedobject);
因此只有 mlstrustedsubject 和 mlstrustedobject 或者 数据是 app_data 或者 privapp_data 并且selinux具备权限时才可以写,因此修改添加 or t2 = system_data_file 允许 /data/system目录写