我有一个带有一些C代码的Android应用程序,它使用link(2)系统调用来创建指向现有文件的硬链接.当我在Android 5.0.2上执行应用程序时,应用程序的这一部分可以运行.当我在Android-M设备上执行完全相同的应用程序时,link()系统调用返回-1"权限被拒绝".
我在日志中注意到这样的消息:
09-02 17:10:34.222 5291 5291 W ona.crackerjack: type=1400 audit(0.0:59): avc: denied { link } for name="fixed28" dev="mmcblk0p28" ino=82829 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=lnk_file permissive=0
Run Code Online (Sandbox Code Playgroud)
此消息显示在我的应用程序的日志消息附近,即link()返回-1"权限被拒绝",有时更早,有时更晚.
创建一个被认为不安全的硬链接?我注意到"scontext = u:r:untrusted_app".有没有办法使应用程序受信任,如果是这样,是否会让link()系统调用工作?