文章目录
- 一、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
以 /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 权限 , 可以写入 , 但是不能删除 ; 可以在其中创建文件 , 但是不能删除 , 一般用于 存储 / 缓存 相关的目录 ;
这是为了防止 有多个应用 使用该临时目录 , 如果允许应用删除其中的文件 , 就有可能会影响其它应用使用该文件 ;
代码语言:javascript复制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 等 ;
代码语言:javascript复制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 权限 , 就无法进入该目录 ;
代码语言:javascript复制drwx------ 4 shell shell 4096 2020-11-11 17:05:41.648336538 0800 com.android.shell