您的位置:首页 > 移动开发 > Android开发

Android安全机制(二)

2016-07-28 11:40 363 查看




Feature Phone(功能手机)使用单进程,所有应用以多线程方式展开。无法扩展。

Smart Phone(智能手机)每个应用运行在独立的进程。可扩展。



每个进程在黄色部分都映射到单独的物理内存空间,绝对不会override。红色部分是kernel。



进程边界安全围栏:某个进程crash,不会影响其他进程和系统的正常运行。

当然,如果是红色部分的kernel出现crash,系统也crash。

进程边界安全围栏:全局资源的不可访问性,A进程无法访问B进程的资源。

多用户的需求背景:

1.资源匮乏:比如很多人只能买得起一台计算机,只能大家一起用

2.中央处理:数据统一管理。



每个用户都有自己的工作目录。



把资源分别圈起来分配给每个用户,设置权限,可读、可写或者可执行。



Name是字符串,只是供看的,Identifier才是系统层面的标识,是int的值。

UID:User Identifier

GID:Group Identifier

用户的行为最终表现出来的是一系列进程的running,所以UID/GID其实是进程的UID/GID。



第二列是进程名称,一串int。不同的进程在第一列用不同的UID标识,root对应的int是0,即管理员身份。





以红框部分为例,最前面的d代表资源是文件目录direction。rwx代表UID是xmao的权限,r是read,w是write,x是executable。

r-x是GID是ximao但UID不是xmao的权限,这里只能读和执行,不能写。最后的r-x代表others,也就是UID和GID都不是ximao的情况下的权限,这里只能读和执行,不能写。





第一列是UID,第二列是User的Name(字符串),只是供我们看的,第三列是GID,第四列是Group的Name(字符串),只是供我们看的,第五列是PID,第六列是Process的Name(字符串),只是供我们看的。







chmod 664 :4+2+0=6,4+2+0=6,4+0+0=4,UID对应的权限就是rw- ,GID对应的权限是rw- , others对应的权限是r--。

chmod u-w : owner user,也就是UID对应的权限减去w,得到r--。

chmod g-w : GID对应的权限减去w,得到r--。

chmod a+x : 所有的都加上x,得到 r-xr-xr-x。



















GID和others不变,UID如果被修改为rws,s就代表setUID,前提是必须是可执行的,所以s肯定包含了x。

2248开辟了子进程passwd 2445, Real UID继承了2248的Real UID(xmao),而Effective UID提升为root。









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: