从特权应用授予 \system\etc 写入权限 [打开失败:EROFS]
Grant \system\etc write access from a priviligied app [open failed: EROFS]
我在编辑 \system\etc\
下的 libnfc-nxp.conf
文件时遇到问题,我收到以下错误。
/system/etc/libnfc-nxp.conf: open failed: EROFS (Read-only file system)
上下文:我可以访问 AOSP 并且可以修改 OS 上的所有内容。
我想开发一个可以修改这个文件的 Android 应用程序。此应用程序将在内部使用特定的 ENG OS 版本。
所以,我知道应用程序无法访问 /system/etc/。
为了授予此访问权限,我使用系统 sharedUserID 并将应用程序签名为 system_app。现在,我有一个特权应用程序
u:r:system_app:s0 system
默认情况下 /system/etc/libnfc-nxp.conf 权限是
-rw-r--r-- root root libnfc-nxp.conf
因此,我通过 adb 进行了测试,以使用 rw 重新挂载 /system 分区,对文件进行 chown 和 chmod
chown system:system libnfc-nxp.conf
chmod 666 libnfc-nxp.conf
我还有同样的问题..
因此,我希望更新 SElinux 以授予 system_app 对 \system\etc.
下的所有文件的 {open write} 访问权限
我在device/xxx/sepolicy
下修改了system_app.te
userdebug_or_eng(`
allow system_app sysfs:file rw_file_perms;
allow system_app system_file:file {create open read write getattr setattr };
')
我做了测试,还是有同样的问题。
我做了一轮我想到的可能的想法。你有什么建议吗?
它仍然是 SELinux 问题并且因为缺少某些东西..我不熟悉 SELinux?
欢迎任何帮助。
谢谢。
江铃汽车,
首先,你真的重装了/system/吗?如果没有,运行 这个命令看看是否有帮助(注意:这将在重启后重置):
adb shell mount -o remount,rw /system
这是允许访问 r/w 系统分区的关键。
如果您仍然遇到问题,请使用以下命令禁用 SE Linux 的强制模式:
adb shell setenforce 0
这应该让您获得一点通过。您应该在 Android Studio 中监控应用程序的调试,看看它是否确实需要其他权限。
我还没有解决访问问题。
最后,我改变了处理方式并更新了 NFC 服务以查看 /sdcard/ 文件夹(而不是 /system/etc/)上的 conf 文件。它避免了权限问题。
感谢您的帮助。
我在编辑 \system\etc\
下的 libnfc-nxp.conf
文件时遇到问题,我收到以下错误。
/system/etc/libnfc-nxp.conf: open failed: EROFS (Read-only file system)
上下文:我可以访问 AOSP 并且可以修改 OS 上的所有内容。 我想开发一个可以修改这个文件的 Android 应用程序。此应用程序将在内部使用特定的 ENG OS 版本。
所以,我知道应用程序无法访问 /system/etc/。 为了授予此访问权限,我使用系统 sharedUserID 并将应用程序签名为 system_app。现在,我有一个特权应用程序
u:r:system_app:s0 system
默认情况下 /system/etc/libnfc-nxp.conf 权限是
-rw-r--r-- root root libnfc-nxp.conf
因此,我通过 adb 进行了测试,以使用 rw 重新挂载 /system 分区,对文件进行 chown 和 chmod
chown system:system libnfc-nxp.conf
chmod 666 libnfc-nxp.conf
我还有同样的问题.. 因此,我希望更新 SElinux 以授予 system_app 对 \system\etc.
下的所有文件的 {open write} 访问权限我在device/xxx/sepolicy
下修改了system_app.te
userdebug_or_eng(`
allow system_app sysfs:file rw_file_perms;
allow system_app system_file:file {create open read write getattr setattr };
')
我做了测试,还是有同样的问题。 我做了一轮我想到的可能的想法。你有什么建议吗? 它仍然是 SELinux 问题并且因为缺少某些东西..我不熟悉 SELinux?
欢迎任何帮助。 谢谢。
江铃汽车,
首先,你真的重装了/system/吗?如果没有,运行 这个命令看看是否有帮助(注意:这将在重启后重置): adb shell mount -o remount,rw /system
这是允许访问 r/w 系统分区的关键。
如果您仍然遇到问题,请使用以下命令禁用 SE Linux 的强制模式: adb shell setenforce 0
这应该让您获得一点通过。您应该在 Android Studio 中监控应用程序的调试,看看它是否确实需要其他权限。
我还没有解决访问问题。 最后,我改变了处理方式并更新了 NFC 服务以查看 /sdcard/ 文件夹(而不是 /system/etc/)上的 conf 文件。它避免了权限问题。
感谢您的帮助。