【Android 逆向】Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )

简介: 【Android 逆向】Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )

文章目录

一、Linux 权限简介

二、系统权限 / 用户权限 / 匿名用户权限

1、系统权限

2、用户权限

3、匿名用户权限





一、Linux 权限简介


Linux 是基于文件的系统 , 内存 , 设备 , 各种机制等 , 一切皆文件 ;


Linux 中的每个文件都有自己的权限 ;


使用 ls -ll 命令查看根目录 :


walleye:/ # ls -ll
total 2244
dr-xr-xr-x 123 root   root         0 1973-11-21 15:33:00.183333401 +0800 acct
lrw-r--r--   1 root   root        11 2009-01-01 16:00:00.000000000 +0800 bin -> /system/bin
lrw-r--r--   1 root   root        50 2009-01-01 16:00:00.000000000 +0800 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
lrw-r--r--   1 root   root        11 2009-01-01 16:00:00.000000000 +0800 cache -> /data/cache
lrw-r--r--   1 root   root        13 2009-01-01 16:00:00.000000000 +0800 charger -> /sbin/charger
drwxr-xr-x   4 root   root         0 1970-01-01 08:00:00.773333409 +0800 config
lrw-r--r--   1 root   root        17 2009-01-01 16:00:00.000000000 +0800 d -> /sys/kernel/debug
drwxrwx--x  42 system system    4096 2020-11-11 17:10:38.215000671 +0800 data
lrw-------   1 root   root        23 2009-01-01 16:00:00.000000000 +0800 default.prop -> system/etc/prop.default
drwxr-xr-x  16 root   root      3940 2021-10-18 08:53:14.180333478 +0800 dev
lrw-r--r--   1 root   root        15 2009-01-01 16:00:00.000000000 +0800 dsp -> /vendor/lib/dsp
lrw-r--r--   1 root   root        11 2009-01-01 16:00:00.000000000 +0800 etc -> /system/etc
dr-xr-x---   3 system system   16384 1970-01-01 08:00:00.000000000 +0800 firmware
-rwxr-x---   1 root   shell  2146424 2009-01-01 16:00:00.000000000 +0800 init
-rwxr-x---   1 root   shell     1109 2009-01-01 16:00:00.000000000 +0800 init.environ.rc
-rwxr-x---   1 root   shell    29264 2009-01-01 16:00:00.000000000 +0800 init.rc
-rwxr-x---   1 root   shell     7690 2009-01-01 16:00:00.000000000 +0800 init.usb.configfs.rc
-rwxr-x---   1 root   shell     5646 2009-01-01 16:00:00.000000000 +0800 init.usb.rc
-rwxr-x---   1 root   shell      511 2009-01-01 16:00:00.000000000 +0800 init.zygote32.rc
-rwxr-x---   1 root   shell      875 2009-01-01 16:00:00.000000000 +0800 init.zygote64_32.rc
drwx------   2 root   root     16384 2009-01-01 16:00:00.000000000 +0800 lost+found
drwxr-xr-x  11 root   system     240 1973-11-21 15:33:00.513333434 +0800 mnt
drwxr-xr-x   2 root   root      4096 2009-01-01 16:00:00.000000000 +0800 odm
drwxr-xr-x   2 root   root      4096 2009-01-01 16:00:00.000000000 +0800 oem
drwxrwx--x  13 root   system    4096 1970-09-17 20:14:24.463333429 +0800 persist
drwxr-xr-x   2 root   root      4096 2009-01-01 16:00:00.000000000 +0800 postinstall
dr-xr-xr-x 773 root   root         0 1970-01-01 08:00:00.000000000 +0800 proc
lrw-r--r--   1 root   root        15 2009-01-01 16:00:00.000000000 +0800 product -> /system/product
drwxr-xr-x   3 root   root      4096 2009-01-01 16:00:00.000000000 +0800 res
drwxr-xr-x   3 root   root       280 1973-11-21 15:32:59.846666701 +0800 sbin
lrw-r--r--   1 root   root        21 2009-01-01 16:00:00.000000000 +0800 sdcard -> /storage/self/primary
drwxr-xr-x   4 root   root        80 2021-10-18 08:53:19.350333993 +0800 storage
dr-xr-xr-x  13 root   root         0 1973-11-21 15:32:59.926666709 +0800 sys
drwxr-xr-x  15 root   root      4096 2009-01-01 16:00:00.000000000 +0800 system
-rw-r--r--   1 root   root      5272 2009-01-01 16:00:00.000000000 +0800 ueventd.rc
drwxr-xr-x  16 root   root      4096 2009-01-01 16:00:00.000000000 +0800 vendor


image.png

image.png


以 /data/ 目录为例 : drwxrwx--x 表示该目录的权限 ,


r 表示 " 读 " ,

w 表示 " 写 " ,

x 表示 " 执行 " ,

g 表示 " 更改组 " ,

s 表示 " 更改用户 " ,

t 表示 " 粘滞 " ;

drwxrwx--x  42 system system    4096 2020-11-11 17:10:38.215000671 +0800 data


其中 " 粘滞 " 只针对目录 , 其含义是 当前的操作用户 不是该文件的 创建者 或 所有者 , 只能写入 , 不能删除 ; misc 目录就有 t 权限 , 可以写入 , 但是不能删除 ; 可以在其中创建文件 , 但是不能删除 , 一般用于 存储 / 缓存 相关的目录 ;


这是为了防止 有多个应用 使用该临时目录 , 如果允许应用删除其中的文件 , 就有可能会影响其它应用使用该文件 ;


drwxrwx--t  50 system   misc      4096 2020-11-11 17:05 misc






二、系统权限 / 用户权限 / 匿名用户权限



1、系统权限


下面 /data/ 目录的权限中 , drwxrwx--x 中 第一组 rwx 表示 root 用户所具有的权限 , 可以 读 / 写 / 执行 ;


drwxrwx--x 中第二组 rwx 表示 用户权限 , 可以 读 / 写 / 执行 ;


drwxrwx--x  42 system system    4096 2020-11-11 17:10:38.215000671 +0800 data


2、用户权限


drwxrwx--x 中第二组 rwx 表示 用户权限 , 可以 读 / 写 / 执行 ;


Android 系统的用户权限 就是每个应用的权限 , 进入 /data/data/ 目录 , 以 u 开头的目录 , 就是应用用户对应的目录 , 如 : u0_a4 , u0_a131 , u0_a147 等 ;


walleye:/ # cd /data/data/
walleye:/data/data # ls -ll
total 1920
drwx------  4 system         system         4096 2020-11-11 17:05:41.495003189 +0800 android
drwx------  4 u0_a4          u0_a4          4096 2020-11-11 17:05:41.441669851 +0800 android.auto_generated_rro__
drwxr-x--x  4 u0_a131        u0_a131        4096 2020-11-11 17:05:41.468336520 +0800 android.autoinstalls.config.google.nexus
drwx------ 15 u0_a147        u0_a147        4096 2021-08-31 16:47:03.596389058 +0800 cn.abcpiano.pianist
drwx------  7 u0_a760        u0_a760        4096 2021-10-12 18:12:51.826717797 +0800 cn.qymusic.midi
drwx------ 24 u0_a590        u0_a590        4096 2021-10-18 08:53:28.450334899 +0800 cn.wps.moffice_eng
drwx------  8 u0_a583        u0_a583        4096 2021-06-29 15:27:07.893120768 +0800 cn.zkhw.midi.drum
drwx------  6 u0_a145        u0_a145        4096 2021-08-09 10:15:33.247352133 +0800 com.VisualMusicDesign.SeeMusic
drwx------  4 u0_a40         u0_a40         4096 2020-11-11 17:05:41.505003190 +0800 com.android.backupconfirm
drwxr-x--- 23 u0_a143        u0_a143        4096 2021-10-18 08:53:28.313668219 +0800 com.android.bankabc
drwx------  4 u0_a118        u0_a118        4096 2020-11-11 17:05:41.545003194 +0800 com.android.bips
drwx------  4 bluetooth      bluetooth      4096 2020-11-11 17:05:41.668336540 +0800 com.android.bluetooth
drwx------  4 u0_a130        u0_a130        4096 2020-11-11 17:05:41.661669873 +0800 com.android.bluetoothmidiservice
drwx------  4 u0_a91         u0_a91         4096 2020-11-11 17:05:41.625003202 +0800 com.android.bookmarkprovider
drwx------  4 u0_a15         u0_a15         4096 2020-11-11 17:05:41.588336532 +0800 com.android.calllogbackup





3、匿名用户权限


drwxrwx--x 中第三组 --x 表示 匿名用户权限 , 又叫通用权限 , 只能执行 ;


shell 就是这类匿名用户 , 这也是为什么 , 我们进入 adb shell 后 , 如果不获取 root 权限 , 基本只能在 sd 卡目录操作 , 无法进入其它目录的原因 , 没有 r 权限 , 就无法进入该目录 ;


drwx------  4 shell          shell          4096 2020-11-11 17:05:41.648336538 +0800 com.android.shell


目录
相关文章
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
27天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
14 0
|
1月前
|
存储 Linux 数据安全/隐私保护
Linux文件权限及用户管理
Linux文件权限及用户管理
15 0
|
1月前
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解Linux文件权限
【Linux】深入理解Linux文件权限
35 0
|
29天前
|
安全 Ubuntu Shell
Linux之用户权限和文件权限详解
Linux之用户权限和文件权限详解
|
3天前
|
存储 Java API
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
34 1
|
3天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
18 0
|
3天前
|
存储 缓存 安全
Android系统 应用存储路径与权限
Android系统 应用存储路径与权限
6 0
Android系统 应用存储路径与权限
|
3天前
|
存储 开发工具 Android开发
Android系统 权限组管理和兼容性
Android系统 权限组管理和兼容性
14 0
|
3天前
|
存储 安全 Android开发
Android系统 自定义系统和应用权限
Android系统 自定义系统和应用权限
18 0