Android 逆向Android 系统中文件的用户和分组 ( 文件所有者与分组 | /sdcard/ 的文件分组 | /data/ 目录分析 | 用户类型 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 逆向Android 系统中文件的用户和分组 ( 文件所有者与分组 | /sdcard/ 的文件分组 | /data/ 目录分析 | 用户类型 )相关的知识,希望对你有一定的参考价值。





一、文件所有者与分组



使用 ls -l 命令 , 查看 android 系统根目录 , 下图的红色矩形框中的内容就是 文件 / 目录 对应的 所有者 和 分组 ;

如 : dr-xr-xr-x 123 root root 0 1973-11-21 15:33 acct , 第一个 root 是 文件的所有者 , 第二个 root 文件的分组 ;

Android 中的 root 用户相当于 Windows 中的管理员账户 , Linux 中的 root 用户 ;

drwxr-xr-x 11 root system 240 1973-11-21 15:33 mnt 表示该 mnt 文件是 root 用户所有 , 但是文件分组是 system ;


完整的命令行输出 :

Microsoft Windows [版本 10.0.19041.1288]
(c) Microsoft Corporation。保留所有权利。

C:\\Users\\octop>adb shell
* daemon not running; starting now at tcp:5037
* daemon started successfully
walleye:/ $ su
walleye:/ # ls -l
total 2244
dr-xr-xr-x 123 root   root         0 1973-11-21 15:33 acct
lrw-r--r--   1 root   root        11 2009-01-01 16:00 bin -> /system/bin
lrw-r--r--   1 root   root        50 2009-01-01 16:00 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
lrw-r--r--   1 root   root        11 2009-01-01 16:00 cache -> /data/cache
lrw-r--r--   1 root   root        13 2009-01-01 16:00 charger -> /sbin/charger
drwxr-xr-x   4 root   root         0 1970-01-01 08:00 config
lrw-r--r--   1 root   root        17 2009-01-01 16:00 d -> /sys/kernel/debug
drwxrwx--x  42 system system    4096 2020-11-11 17:10 data
lrw-------   1 root   root        23 2009-01-01 16:00 default.prop -> system/etc/prop.default
drwxr-xr-x  16 root   root      3940 2021-10-18 08:53 dev
lrw-r--r--   1 root   root        15 2009-01-01 16:00 dsp -> /vendor/lib/dsp
lrw-r--r--   1 root   root        11 2009-01-01 16:00 etc -> /system/etc
dr-xr-x---   3 system system   16384 1970-01-01 08:00 firmware
-rwxr-x---   1 root   shell  2146424 2009-01-01 16:00 init
-rwxr-x---   1 root   shell     1109 2009-01-01 16:00 init.environ.rc
-rwxr-x---   1 root   shell    29264 2009-01-01 16:00 init.rc
-rwxr-x---   1 root   shell     7690 2009-01-01 16:00 init.usb.configfs.rc
-rwxr-x---   1 root   shell     5646 2009-01-01 16:00 init.usb.rc
-rwxr-x---   1 root   shell      511 2009-01-01 16:00 init.zygote32.rc
-rwxr-x---   1 root   shell      875 2009-01-01 16:00 init.zygote64_32.rc
drwx------   2 root   root     16384 2009-01-01 16:00 lost+found
drwxr-xr-x  11 root   system     240 1973-11-21 15:33 mnt
drwxr-xr-x   2 root   root      4096 2009-01-01 16:00 odm
drwxr-xr-x   2 root   root      4096 2009-01-01 16:00 oem
drwxrwx--x  13 root   system    4096 1970-09-17 20:14 persist
drwxr-xr-x   2 root   root      4096 2009-01-01 16:00 postinstall
dr-xr-xr-x 784 root   root         0 1970-01-01 08:00 proc
lrw-r--r--   1 root   root        15 2009-01-01 16:00 product -> /system/product
drwxr-xr-x   3 root   root      4096 2009-01-01 16:00 res
drwxr-xr-x   3 root   root       280 1973-11-21 15:32 sbin
lrw-r--r--   1 root   root        21 2009-01-01 16:00 sdcard -> /storage/self/primary
drwxr-xr-x   4 root   root        80 2021-10-18 08:53 storage
dr-xr-xr-x  13 root   root         0 1973-11-21 15:32 sys
drwxr-xr-x  15 root   root      4096 2009-01-01 16:00 system
-rw-r--r--   1 root   root      5272 2009-01-01 16:00 ueventd.rc
drwxr-xr-x  16 root   root      4096 2009-01-01 16:00 vendor
walleye:/ #





二、/sdcard/ 的文件分组



还有一种常见的分组 , 就是 /sdcard/ 下的文件分组 , 如

drwxrwx--x  6 root sdcard_rw      4096 2021-08-09 10:15 Android

该分组下的文件 , 只有读写软件 , 没有执行权限 ;

在 /sdcard/ 下的文件无法执行 , 必须将其拷贝到其它位置执行 , 如 /data/ 目录 , /data/ 目录中是 system 分组 , 可以执行程序 ;

/sdcard/ 下的文件即使使用 chmod 777 filename 命令 , 也无法为 /sdcard/ 下的目录赋予执行权限 ;





三、/data/ 目录分析



分析 /data/ 目录下的文件 ,

/data/adb/ 目录 , 其权限是 drwx------ , 只能由 root 用户访问 , 其它用户没有访问权限 ;

drwx------   6 root     root      4096 2020-11-11 17:11 adb

/data/data/ 目录 , 其权限为 drwxrwx--x , 应用用户是具有 rwx 权限的 , 应用有访问该目录的权限 ;

drwxrwx--x 242 system   system   20480 2021-10-21 11:16 data





四、用户类型



root 用户的权限最高 , 其次是 system 用户 , 然后是应用用户 ;

每个应用都会创建一个对应的 应用用户 , 如 : cn.abcpiano.pianist 包名的应用 , 创建了一个 u0_a147 用户 ;

drwx------ 15 u0_a147        u0_a147        4096 2021-08-31 16:47 cn.abcpiano.pianist

部分命令行输出 :

walleye:/data/data # ls -l
total 1920
drwx------  4 system         system         4096 2020-11-11 17:05 android
drwx------  4 u0_a4          u0_a4          4096 2020-11-11 17:05 android.auto_generated_rro__
drwxr-x--x  4 u0_a131        u0_a131        4096 2020-11-11 17:05 android.autoinstalls.config.google.nexus
drwx------ 15 u0_a147        u0_a147        4096 2021-08-31 16:47 cn.abcpiano.pianist
drwx------  7 u0_a760        u0_a760        4096 2021-10-12 18:12 cn.qymusic.midi
drwx------ 24 u0_a590        u0_a590        4096 2021-10-18 08:53 cn.wps.moffice_eng
drwx------  8 u0_a583        u0_a583        4096 2021-06-29 15:27 cn.zkhw.midi.drum
drwx------  6 u0_a145        u0_a145        4096 2021-08-09 10:15 com.VisualMusicDesign.SeeMusic
drwx------  4 u0_a40         u0_a40         4096 2020-11-11 17:05 com.android.backupconfirm
drwxr-x--- 23 u0_a143        u0_a143        4096 2021-10-18 08:53 com.android.bankabc
drwx------  4 u0_a118        u0_a118        4096 2020-11-11 17:05 com.android.bips
drwx------  4 bluetooth      bluetooth      4096 2020-11-11 17:05 com.android.bluetooth
drwx------  4 u0_a130        u0_a130        4096 2020-11-11 17:05 com.android.bluetoothmidiservice
drwx------  4 u0_a91         u0_a91         4096 2020-11-11 17:05 com.android.bookmarkprovider
drwx------  4 u0_a15         u0_a15         4096 2020-11-11 17:05 com.android.calllogbackup
drwx------  4 u0_a87         u0_a87         4096 2020-11-11 17:05 com.android.captiveportallogin
drwx------  4 u0_a96         u0_a96         4096 2020-11-11 17:05 com.android.carrierdefaultapp
drwx------  4 u0_a24         u0_a24         4096 2020-11-11 17:05 com.android.cellbroadcastreceiver
drwx------  4 u0_a97         u0_a97         4096 2020-11-11 17:05 com.android.certinstaller
drwx------ 13 u0_a108        u0_a108        4096 2021-10-18 08:53 com.android.chrome
drwx------  4 u0_a124        u0_a124        4096 2020-11-11 17:05 com.android.companiondevicemanager
drwx------  4 u0_a68         u0_a68         4096 2020-11-11 17:05 com.android.connectivity.metrics
drwx------  4 u0_a77         u0_a77         4096 2020-11-11 17:05 com.android.cts.ctsshim
drwx------  4 u0_a10         u0_a10         4096 2020-11-11 17:05 com.android.cts.priv.ctsshim
drwx------  4 u0_a65         u0_a65         4096 2020-11-11 17:05 com.android.defcontainer
drwx------  6 u0_a17         u0_a17         4096 2020-11-11 18:06 com.android.documentsui
drwx------  4 u0_a98         u0_a98         4096 2020-11-11 17:05 com.android.dreams.basic
drwx------  4 u0_a115        u0_a115        4096 2020-11-11 17:05 com.android.egg
drwx------  4 u0_a50         u0_a50         4096 2020-11-11 17:05 com.android.emergency
drwx------  4 u0_a63         u0_a63         4096 2020-11-11 17:05 com.android.externalstorage
drwx------  4 u0_a88         u0_a88         4096 2020-11-11 17:05 com.android.facelock
drwx------  5 u0_a27         u0_a27         4096 2020-11-11 17:06 com.android.hotwordenrollment.okgoogle
drwx------  5 u0_a57         u0_a57         4096 2020-11-11 17:06 com.android.hotwordenrollment.tgoogle
drwx------  5 u0_a26         u0_a26         4096 2020-11-11 17:06 com.android.hotwordenrollment.xgoogle
drwxr-x--x  7 u0_a70         u0_a70         4096 2021-06-02 18:48 com.android.htmlviewer
drwx------  4 system         system         4096 2020-11-11 17:05 com.android.inputdevices
drwx------  4 u0_a1          u0_a1          4096 2020-11-11 17:05 com.android.internal.display.cutout.emulation.corner
drwx------  4 u0_a3          u0_a3          4096 2020-11-11 17:05 com.android.internal.display.cutout.emulation.double
drwx------  4 u0_a2          u0_a2          4096 2020-11-11 17:05 com.android.internal.display.cutout.emulation.tall
drwx------  5 system         system         4096 2020-11-11 17:15 com.android.keychain
drwx------  4 system         system         4096 2020-11-11 17:05 com.android.location.fused
drwx------  5 u0_a42         u0_a42         4096 2020-11-11 17:05 com.android.managedprovisioning
drwx------  5 radio          radio          4096 2020-11-18 14:57 com.android.mms.service
drwx------  5 u0_a36         u0_a36         4096 2020-11-11 17:07 com.android.mtp
drwx------  5 u0_a66         u0_a66         4096 2021-05-13 23:41 com.android.musicfx
drwx------  6 nfc            nfc            4096 2020-11-11 17:05 com.android.nfc
drwxr-x--x  4 u0_a44         u0_a44         4096 2021-10-18 08:53 com.android.omadm.service

以上是关于Android 逆向Android 系统中文件的用户和分组 ( 文件所有者与分组 | /sdcard/ 的文件分组 | /data/ 目录分析 | 用户类型 )的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向修改 Android 系统文件 ( 重新挂载文件分区 | 在 /system/lib/ 只读目录下创建文件 | 修改 Android 系统文件的意义 )

Android 逆向修改 Android 系统文件 ( 重新挂载文件分区 | 在 /system/lib/ 只读目录下创建文件 | 修改 Android 系统文件的意义 )

Android 逆向Android 逆向基本概念 ( 软件运行时内存结构 | 文件与内存之间的联系 )

Android 逆向Android 系统文件分析 ( Android 系统 root 环境准备 | 查看 Android 根目录信息 )

Android 逆向Android 系统文件分析 ( Android 系统 root 环境准备 | 查看 Android 根目录信息 )

Android 逆向修改 Android 系统文件 ( ro 只读文件系统 | 系统文件格式 | rootfs | tmpfs | devpts | sysfs |proc | /system )(代