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。
相关文章推荐
- android 版本更新之JAR的应用
- Android:MD5工具类及单例Toast(小白进)
- Android使用ViewPager实现自动轮播
- Android Gredient
- Android.mk语法详解
- Android简易录音器——实现录音和播放功能
- 带背景显示文字,自动换行的MultipleTextView
- android 跨进程通讯(主要AIDL)的学习心得
- Android闹钟设置的解决方案
- Can't make static reference to non-static method ( Android getApplicationContext() )
- AndroidStudio下的点击事件不响应
- 分析Android-Universal-Image-Loader的缓存处理机制
- Android Studio 每次启动都默认打开项目--解决方法
- Android中关于图片压缩的小结
- AndroidStudio 开启lambda支持
- Android ListView 单条刷新方法实践及原理解析
- 图解Android Studio 2.0安装步骤
- android 实现类似知乎 上推隐藏头尾 下拉出现头尾的Demo
- android实现点击屏幕其他地方popupwindow消失
- Android焦点控制