【问题标题】:Android privileged app gets permission denied when writing to sysfs in JNI在 JNI 中写入 sysfs 时,Android 特权应用程序的权限被拒绝
【发布时间】:2016-01-24 01:25:12
【问题描述】:

我遇到了一个问题,即我的系统应用程序(位于 /system/priv-app/)在尝试通过 JNI 打开 sysfs 节点时遇到“errno 13”。该节点归“system:system”所有。我可以看到应用程序本身使用系统 ID 运行,但我不明白为什么会遇到权限问题。

应用尝试访问的 sysfs 节点是 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

任何想法将不胜感激!谢谢。

【问题讨论】:

  • 您的应用程序作为系统应用程序运行。但它仍然需要 android manifest 文件的权限。
  • 谢谢,我已经添加了 WRITE_EXTERNAL_STORAGE 权限。我需要更多权限吗?
  • 能否请您添加日志以查看您的错误?

标签: android android-ndk java-native-interface


【解决方案1】:

看起来我们必须注意多个级别的权限。

  • Android 清单权限
  • Linux 文件系统权限
  • SELinux 政策

我有前两个,但是我错过了这个特定 sysfs 节点的 sepolicy。虽然这是我的自定义 ROM 独有的,不应该适用于大多数 Android 开发人员......

更多内容可以在这里阅读:https://source.android.com/security/selinux/

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2013-12-21
    • 1970-01-01
    • 2013-05-12
    • 2016-11-15
    • 2017-12-21
    • 1970-01-01
    • 2018-01-09
    • 2017-09-06
    相关资源
    最近更新 更多