SEAndroid简介
新书上市《深入解析Android 5.0系统》
以下内容节选自本书
SEAndroid是Security Enhancementsfor Android(安全增强型Android)的缩写,这是一个把SELinux移植到Android中的项目,目前Android上的SELinux和标准Linux中的SELinux还有一些区别。如果希望了解这个项目的更多细节,可以访问网站http://selinuxproject.org/page/SEAndroid。
SEAndroid的实现分成两大部分:
1)内核中的SELinux安全模块,位于目录kernel/security/selinux下。这个模块是SELinux运行的核心,执行各种策略的检查工作,前面已经介绍过了。
2)用户态工具,用来产生SELinux的策略文件。位于目录external/sepolicy下。这个目录中包括了系统中所有安全规程的定义文件。另外在external/libselinux目录下存放了libselinux库的源码,这个库文件提供了一些函数,用来帮助用户进程使用SELinux的功能。
在设备的根目录下有几个和SELinux相关的文件:
qfile_contexts:这个文件中保存的是系统中所有文件的安全上下文。
qproperty_contexts:这个文件保存的是系统中所有属性的安全上下文。
qseapp_contexts:定义了用户,seinfo和域之间的关联,用于确定用户进程的安全上下文。
qsepolicy:这是一个二进制文件,保存的是系统策略,系统初始化时会把它设置到内核中。
在/sys/fs/selinux目录下,有一个虚拟的SELinux的文件系统,这个目录下的文件是SELinux的内核和应用进行通信的接口。例如初始化内核需要的策略文件就是通过向load文件中写入策略数据完成的。/sys/fs/selinux目录的内容如下:
root@generic:/sys/fs/selinux # ls-l
-rw-rw-rw-rootroot0 1969-12-31 19:00 access
dr-xr-xr-xrootroot1969-12-31 19:00 avc
dr-xr-xr-xrootroot1969-12-31 19:00 booleans
-rw-r--r--rootroot0 1969-12-31 19:00 checkreqprot
dr-xr-xr-xrootroot1969-12-31 19:00 class
--w-------rootroot0 1969-12-31 19:00 commit_pending_bools
-rw-rw-rw-rootroot0 1969-12-31 19:00 context
-rw-rw-rw-rootroot0 1969-12-31 19:00 create
-r--r--r--rootroot0 1969-12-31 19:00 deny_unknown
--w-------rootroot0 1969-12-31 19:00 disable
-rw-r--r--systemsystem0 1969-12-31 19:00 enforce
dr-xr-xr-xrootroot1969-12-31 19:00 initial_contexts
-rw-------systemsystem0 1969-12-31 19:00 load
-rw-rw-rw-rootroot0 1969-12-31 19:00 member
-r--r--r--rootroot0 1969-12-31 19:00 mls
crw-rw-rw-rootroot1, 31969-12-31 19:00 null
-r--------rootroot0 1969-12-31 19:00 policy
dr-xr-xr-xrootroot1969-12-31 19:00 policy_capabilities
-r--r--r--rootroot0 1969-12-31 19:00 policyvers
-r--r--r--rootroot0 1969-12-31 19:00 reject_unknown
-rw-rw-rw-rootroot0 1969-12-31 19:00 relabel
-r--r--r--rootroot0 1969-12-31 19:00 status
-rw-rw-rw-rootroot0 1969-12-31 19:00 user
更多相关文章
- [置顶] Android开发之动态库调用
- android 文件上传的类--完整 可以直接被调用的
- Android分享笔记(4) Android的webview加载本地html、本apk内html
- [Android]attrs.xml文件中属性类型format值的格式
- AIDL介绍和实例讲解
- Android(安卓)NDK开发之Hello world篇
- Android探索之旅 | AIDL原理和实例讲解
- Android(安卓)NDK之JNI使用例子
- NPM 和webpack 的基础使用