`

Android 设置/system/bin/cmd的权限遇到的问题

阅读更多

Android开发的过程中,需要添加一些系统服务,而这些服务需要特殊的权限SUID。

关键点

  • 文件权限信息是保存在文件系统中的特殊位置的,不同文件系统间传输文件,可能导致权限信息的丢失
  • 而像SUID这样的仅限信息,在相同文件系统cp时就不会携带

设置文件权限的方法在Android系统中有两种:

  • init.rc阶段, 系统每次启动运行时处理
  • 打包阶段: 含有文件系统的img文件,OTA升级包

下面分别分析两种方法:

init.rc阶段

  • 方法:通过在init.rc文件中添加相关处理操作
  • 问题:操作时需要确保操作区域文件系统是可读写状态,而这其中涉及到mount操作。操作时,需要注意针对上下文处理,并保证最终切换到RO状态(对开机性能有影响)。另外不同设备的文件系统与设备路径可能不同,需要通过具体场景分析

打包阶段

该阶段是Android系统特有的方案,会在整体编译过程中生成img文件,然后系统在生成OTA包时,通过反射img文件中的文件权限信息,在update-script中添加相应的权限设置操作。

这种方法是一种静态优化策略,如果能够保证系统的烧机输出,是可以采用该方案的。

分享到:
评论

相关推荐

    如何修复“Windows/System32/Config/System中文件丢失或损坏”故障

    如何修复“Windows/System32/Config/System中文件丢失或损坏”故障 如何修复“Windows/System32/Config/System中文件丢失或损坏”故障 此类错误通常说明计算机因为注册表的原因不能启动,下列操作应该能够修正以上...

    ADB源码(android / platform / system / core)

    adb源码官网:https://android.googlesource.com/platform/system/core/可在以上链接获取adb源码集成到项目中。若下载失败可以下载上面的附件。

    XP系统系统盘Windows/system32/config/System文件丢失或损坏修复

    XP系统系统(C)盘Windows/system32/config/System文件丢失或损坏时替换修复。

    SuperSU-v2.8.2.zip

    adb -e push /Users/mac02/Downloads/SuperSU-v2.79-201612051815/x64/su /system/bin/su 修改su 文件权限 adb shell su root cd /system/bin chmod 06755 su su --install su --daemon& setenforce 0 打开SuperSu,...

    android/platform/system/core源代码(c++)

    用git clone https://android.googlesource.com/platform/system/core命令下载的android源码,由于NDK中没有包含,使用时需要自己配置一下

    安卓电视盒子ttl获取root权限教程及工具

    cp /mnt/sda/sda1/system/xbin/su /system/bin mount -o remount,rw /system;chmod 0755 /system/app/kinguser.apk mount -o remount,rw /system;chmod 0755 /system/etc/install-recovery.sh mount -o remount,rw ...

    直接复制busybox到system/bin下

    直接将busybox文件复制到system下的bin文件夹就行了,无需安装!

    无 adb disable-verity 命令的adb应用程序

    此adb中无adb disable-verity命令,如果在cmd中输入以上命令会报 /system/bin/sh: disable-verity: not found 的错误。具体可看本人的文章 ”/system/bin/sh: disable-verity: not found 的解决方案“ 【使用方式】...

    解决android studio中使用monitor工具无法打开data文件夹问题

    关于/system/bin/sh: su: not found的解决办法 D:\Sdk\platform-tools>adb shell generic_x86:/ $ su /system/bin/sh: su: not found 原因是 Android Studio带(Google Play)的模拟器无法获得root权限安装 该换成为...

    SystemAppMover, Android 应用 将其他应用程序从/system/app 文件夹移动到文件夹.zip

    SystemAppMover, Android 应用 将其他应用程序从/system/app 文件夹移动到文件夹 SystemAppMover需要 root 使用你自己的风险 !这里应用将应用程序从/system/app 文件夹移动到文件夹,使它的成为系统应用程序或者...

    Android13 下拉菜单栏中添加快捷截图按钮.patch

    Android 13 原生系统下拉状态栏中是没有快捷截图按钮,现在需要添加快捷截图功能。...add: vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/tiles/ScreenShotTile.java

    windows xp系统system文件

    windows/system32/config/system文件丢失或损坏,当windows xp系统system文件损坏或丢失,造成我们无法正常启动windows xp系统,我们可以用PE进入系统,把文件放到对应的位置windows/system32/config/system,再重新...

    Android代码-悬浮窗权限兼容库

    特殊权限(Special Permissions)兼容库,悬浮窗权限(SYSTEM_ALERT_WINDOW)与系统设置修改权限(WRITE_SETTINGS) Android 6.0以前只要在manifest中申请了权限就是默认开启的 Android 6.0 需要在manifest中申请并且通过...

    android系统root用到的su

    + device/qcom/msm8909/mysu/su:/system/bin/su \ + device/qcom/msm8909/mysu/daemonsu:/system/xbin/daemonsu \ + device/qcom/msm8909/mysu/chattr:/system/xbin/chattr \ + device/qcom/msm8909/mysu/chattr....

    navigationbar.zip

    frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java frameworks/base/packages/SystemUI/src/...

    ADB源码_platform_system_core-master.zip

    ADB源码_platform_system_core-master.zip

    unyaffs-modified

    cat /home/jamly/system/bin/sh >/home/jamly/system/bin/su cat /home/jamly/system/bin/sh >/home/jamly/system/xbin/su chmod 4755 /home/jamly/system/bin/su chmod 4755 /home/jamly/system/xbin/su 信息...

    SDK文件下缺少emulator-2

    11:43 Emulator: [5984]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at D:\AndroidSDK\emulator\lib64\qt\lib 11:43 Emulator: Could not launch 'D:\AndroidSDK\emulator/qemu/...

    mingw64.zip

    PATH : /usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_...

Global site tag (gtag.js) - Google Analytics