3.3.2 系统启动时的策略
SELinux在系统启动时就起作用,所有的进程必须标识合适的域。系统启动时init进程在启动进程时标识进程和同步强制策略。有关init进程装载和同步策略过程,说明如下:
1.系统启动时在内核装载后,初始的进程指定为预定义的初始的SID kernel,在策略被装载前,初始的SID用于启动时的系统调用等。
2./sbin/init挂接文件系统/proc/,接着查找selinuxfs文件系统,如果它存在,表明内核中SELinux激活了。
3.如果init在内核中没找到SELinux,或者发现它通过selinux=0关闭SELinux,或者配置文件/etc/selinux/config定义了SELINUX=disabled,系统用无SELinux设置启动进程。如果当前SELinux的启动状态不同于配置文件/etc/selinux/config中状态,init进程在启动时的参数传递中将设置该文件,默认设置为permissive模式,直到策略被装载。配置文件或启动参数enforcing=1时,SELinux设置为enforcement模式。
4.如果内核中SELinux存在,将selinuxfs文件系统挂接到/selinux/。
5.内核检查/selinux/policyvers是否是支持的策略版本,init进程检查/etc/selinux/config看策略(如:targeted)是否激活,并装载$SELINUX_POLICY/policy策略文件。
如果二进制策略是内核不支持的版本,并且它是一个以前的旧版本,init进程尝试装载这个策略文件。这种机制提供了与旧策略版本的一个向后兼容性。
如果/etc/selinux/targeted/booleans中的设置不同于编译在策略文件中的设置,init进程修改已装载到内存中的策略。
6.到此策略已装载好,初始的SID映射到策略中定义在$SELINUX_SRC/initial_sid_contexts的安全上下文。在targeted策略中,新的域是user_u:system_r:unconfined_t。从现在开始,内核能从内核中的安全服务器动态获得安全上下文了。
7.接着,init再次执行它自己,以便它能转移到不同的域(如果策略文件定义了转移策略)。targeted策略没定义类型转移,init还是保持在unconfined_t域。
8.到这里后,init继续它的正常启动。
init进程重执行它自己的原因是为了与stricter策略控制相适应,重执行后,init转移到新的域,进程仅能在执行期间获得域,这意味着init进程是进入域的唯一入口点。
例如:如果策略指定init的域为init_t,需要将init的初始SID(如:kernel)转移到合适的域init_t,进程init需要在装载策略后重执行它自己。如果策略文件中有规则domain_auto_trans(kernel_t, init_exec_t, <target_domain_t>),则进程init重执行后转移到init_t域。这条规则表示kernel_t域执行init_exec_t类型的文件后,文件产生的新进程将指定域<target_domain_t>,而实际的<target_domain_t>为init_t。
| 回书目 上一节 下一节 |
|
· Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. |
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||