Android挂载system文件夹读写权限

admin 2023年8月8日00:54:36评论228 views字数 5149阅读17分9秒阅读模式

Android系统中,system文件夹一般都是只读属性,无论是root用户还是普通权限用户,在Android安全研究或开发过程中,如果想要访问和修改system文件夹下的内容的话就需要获取system文件夹的写属性,因为Android版本的变化和Android各厂商机型的差异以及Android安全的不断升级,所以在不同版本、不同机型下system文件夹修改读写属性的方式也有较大的区别。

1.Android8.0以下

(1).获取system分区的全名

adb shellmount

Android7.1.2

Android挂载system文件夹读写权限

cancro:/ # mountrootfs on / type rootfs (ro,seclabel,relatime)tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,size=1465856k,nr_inodes=150784,mode=755)devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)proc on /proc type proc (rw,relatime,gid=3009,hidepid=2)sysfs on /sys type sysfs (rw,seclabel,relatime)selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)debugfs on /sys/kernel/debug type debugfs (rw,seclabel,relatime)none on /acct type cgroup (rw,relatime,cpuacct)tmpfs on /mnt type tmpfs (rw,seclabel,relatime,size=1465856k,nr_inodes=150784,mode=755,gid=1000)none on /config type configfs (rw,relatime)none on /dev/cpuctl type cgroup (rw,relatime,cpu)none on /dev/bfqio type cgroup (rw,relatime,bfqio)/dev/block/mmcblk0p23 on /system type ext4 (ro,seclabel,relatime,data=ordered)/dev/block/mmcblk0p24 on /cache type ext4 (rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,data=ordered)/dev/block/mmcblk0p25 on /data type ext4 (rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,data=ordered)/dev/block/mmcblk0p21 on /persist type ext4 (rw,seclabel,nosuid,nodev,relatime,data=ordered)/dev/block/mmcblk0p22 on /firmware type vfat (ro,context=u:object_r:firmware_file:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro)tmpfs on /storage type tmpfs (rw,seclabel,relatime,size=1465856k,nr_inodes=150784,mode=755,gid=1000)/data/media on /mnt/runtime/default/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser)/data/media on /storage/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser)/data/media on /mnt/runtime/read/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser)/data/media on /mnt/runtime/write/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser)
/dev/block/mmcblk0p23 on /system type ext4 (ro,seclabel,relatime,data=ordered)

可以看得出/system的权限是ro,即是read only

Android挂载system文件夹读写权限

(2).根据名称重新挂载

mount -o rw,remount -t ext4 /system

Android挂载system文件夹读写权限

/dev/block/mmcblk0p23 on /system type ext4 (rw,seclabel,relatime,data=ordered)

可以看到/system拥有rw的权限

当/system目录为RW权限后,就可以随意删除或者替换系统应用

(3).完全重新挂载整个系统

adb rootadb disable-verityadb remount

(4).如果要改回到ro权限,可以执行,如下命令

Android挂载system文件夹读写权限

2.Android8.0以上

Android8.0以上通过以上mount命令,会发现找不到/system代表的节点和拥有的权限信息,这是因为Android8.0之后谷歌加入了A/B system的特性,system分区跟ramdisk分区打包在一起,因此系统起来之后也就不存在system分区了,而是直接把system镜像挂载到/根目录上。所以/proc/mounts文件中没有包含/system的权限信息,此时如果使用上面的命令:

mount -o remount,rw /system

Android挂载system文件夹读写权限

Android8.1.0

Android挂载system文件夹读写权限

Android挂载system文件夹读写权限

Android挂载system文件夹读写权限

shamu:/ $ mountrootfs on / type rootfs (ro,seclabel)tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,size=1508708k,nr_inodes=147903,mode=755)devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)proc on /proc type proc (rw,relatime,gid=3009,hidepid=2)sysfs on /sys type sysfs (rw,seclabel,relatime)selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)/dev/block/mmcblk0p41 on /system type ext4 (ro,seclabel,relatime,data=ordered)none on /acct type cgroup (rw,relatime,cpuacct)none on /dev/memcg type cgroup (rw,relatime,memory)debugfs on /sys/kernel/debug type debugfs (rw,seclabel,relatime)tmpfs on /mnt type tmpfs (rw,seclabel,relatime,size=1508708k,nr_inodes=147903,mode=755,gid=1000)none on /config type configfs (rw,relatime)none on /dev/cpuctl type cgroup (rw,relatime,cpu)none on /dev/cpuset type cgroup (rw,relatime,cpuset,noprefix,release_agent=/sbin/cpuset_release_agent)pstore on /sys/fs/pstore type pstore (rw,seclabel,relatime)none on /dev/bfqio type cgroup (rw,relatime,bfqio)/dev/block/mmcblk0p38 on /cache type ext4 (rw,seclabel,nosuid,nodev,noatime,data=ordered)/dev/block/mmcblk0p1 on /firmware type ext4 (ro,context=u:object_r:firmware_file:s0,relatime,data=ordered)/dev/block/mmcblk0p26 on /persist type ext4 (rw,seclabel,nosuid,nodev,noatime,data=ordered)/dev/block/mmcblk0p21 on /fsg type ext4 (ro,context=u:object_r:fsg_file:s0,nosuid,nodev,relatime)adb on /dev/usb-ffs/adb type functionfs (rw,relatime)tmpfs on /storage type tmpfs (rw,seclabel,relatime,size=1508708k,nr_inodes=147903,mode=755,gid=1000)/dev/block/mmcblk0p42 on /data type ext4 (rw,seclabel,nosuid,nodev,noatime,nobarrier,noauto_da_alloc,data=ordered)/data/media on /mnt/runtime/default/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid)/data/media on /storage/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid)/data/media on /mnt/runtime/read/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=23,derive_gid)/data/media on /mnt/runtime/write/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=7,derive_gid)

Android10

Android挂载system文件夹读写权限

Android挂载system文件夹读写权限

Android挂载system文件夹读写权限

重新挂载/system分区会报错

mount: '/system' not in /proc/mounts

临时挂载上/system文件夹 ,重启后失效

mount -o remount -o rw /

Android挂载system文件夹读写权限

Android挂载system文件夹读写权限

Android挂载system文件夹读写权限

其实为什么root用户会出现/system文件夹无权限写的情况的话,主要原因是/system所属的用户组不是root,而是system用户组,所以需要重新挂载。

当然上面方法不能挂载/system目录的话而且提示“’/dev/root’ is read-only”的话,那么是因为你的设备开启了avb,此时就只能通过下面的方式完全重新挂载整个系统:

adb rootadb disable-verityadb remount

如果adb disable-verity提示需要解锁OEM的话,那么还需要先解锁OEM:

adb reboot fastbootfastboot oem unlockfastboot reboot

提示解锁成功后,重新执行命令就不会报错!

原文始发于微信公众号(哆啦安全):Android挂stem文件夹读写权限

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月8日00:54:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Android挂载system文件夹读写权限http://cn-sec.com/archives/1939602.html

发表评论

匿名网友 填写信息