android 权限 DAC MAC
#if DAC(Discretionary Access Control) -- 自主访问控制
一、DAC(Discretionary Access Control) -- 自主访问控制
基于uid的访问权限控制
主体:uid/gid标记的进程
客体:uid/gid标记的文件
1)文件权限上下文
文件属性 user group 大小 修改时间 文件名
-rw-r--r-- root root 3567 1970-01-01 08:00 property_co
drwx------ root root 2014-06-04 04:50 root
drwxr-x--- root root 1970-01-01 08:00 sbin
lrwxrwxrwx root root 2014-04-03 03:40 sdcard -> /ed/legacy
-rw-r--r-- root root 7299 1970-01-01 08:00 seapp_context
文件类型
p 管道文件
d 目录文件
l 符号连接文件
- 普通文件
s socket文件
c 字符设备文件
b 块设备文件
d|rwx|r-x|--- /*除文件类型以外,每三个字符代表一种用户权限。前三位(所有者)中间
(所在组)后三位(其他组)。没有权限的用"-"表示
用8进制表示所以是三位二进制数。r-x == 101 == 5; rwx == 111 == 7*/
-----------------------------------
-rwsr-sr-t //s t
s位:如果设置s,那么s替换x位
SUID/SGID):在程序执行(exec)之后作为EUID的副本,用于进程切换自己的EUID时使用
SGID和SUID的存在意义在于,当一个非特权进程可以通过执行设置了SGID和SUID标志的程序,来获得特定权限。//加入hacker的进程H执行了这个文件,H进程既有root权限
例如su,当它没有设置SGID和SUID标志位的时候,实际上它是不能创建一个具有root权限的shell进程的。
t位:替换x位
sticky -- 用于文件夹,里面的文件只有创建者和拥有者可以删除。其他的id可以修改不能删
设置方法:
chmod 4775 filename // -rwsr-xr-x filename , 4是suid,2是sgid,1是sticky
android系统
-rwsr-sr-x root root u:object_r:su_exec:s0 su
-rwxr-s--- root inet u:object_r:system_file:s0 netcfg
linux
-rwsr-xr-x 2 root ro
#if DAC(Discretionary Access Control) -- 自主访问控制
一、DAC(Discretionary Access Control) -- 自主访问控制
基于uid的访问权限控制
主体:uid/gid标记的进程
客体:uid/gid标记的文件
1)文件权限上下文
文件属性 user group 大小 修改时间 文件名
-rw-r--r-- root root 3567 1970-01-01 08:00 property_co
drwx------ root root 2014-06-04 04:50 root
drwxr-x--- root root 1970-01-01 08:00 sbin
lrwxrwxrwx root root 2014-04-03 03:40 sdcard -> /ed/legacy
-rw-r--r-- root root 7299 1970-01-01 08:00 seapp_context
文件类型
p 管道文件
d 目录文件
l 符号连接文件
- 普通文件
s socket文件
c 字符设备文件
b 块设备文件
d|rwx|r-x|--- /*除文件类型以外,每三个字符代表一种用户权限。前三位(所有者)中间
(所在组)后三位(其他组)。没有权限的用"-"表示
用8进制表示所以是三位二进制数。r-x == 101 == 5; rwx == 111 == 7*/
-----------------------------------
-rwsr-sr-t //s t
s位:如果设置s,那么s替换x位
SUID/SGID):在程序执行(exec)之后作为EUID的副本,用于进程切换自己的EUID时使用
SGID和SUID的存在意义在于,当一个非特权进程可以通过执行设置了SGID和SUID标志的程序,来获得特定权限。//加入hacker的进程H执行了这个文件,H进程既有root权限
例如su,当它没有设置SGID和SUID标志位的时候,实际上它是不能创建一个具有root权限的shell进程的。
t位:替换x位
sticky -- 用于文件夹,里面的文件只有创建者和拥有者可以删除。其他的id可以修改不能删
设置方法:
chmod 4775 filename // -rwsr-xr-x filename , 4是suid,2是sgid,1是sticky
android系统
-rwsr-sr-x root root u:object_r:su_exec:s0 su
-rwxr-s--- root inet u:object_r:system_file:s0 netcfg
linux
-rwsr-xr-x 2 root ro