3. SELinux 使用
3.1. 在Ubuntu上安装SELinux模块,并查看SELinux安装情况;
我之前上课安装好了,就直接放一张history了
3.2. 修改SELinux配置文件将SELinux置于enforcing状态,重启Ubuntu,并记录启动故障信息;
修改SELinux配置文件将SELinux置于enforcing状态。
将/etc/selinux/config的SELINUX的值改为enforcing
修改完之后保存,并且重启电脑
现在已经无法启动了,显示如下界面
重启电脑按ESC键,进入GRUB菜单,选择Ubuntu 按e进入编辑模式 在linux那一行末尾加上selinux=0禁用selinux,然后按ctrl+X重启进入系统
重启之后这个selinux服务都关闭了,所以无法通过setenforce切换模式和通过getenforce查看状况,但是可以修改/etc/selinux/config为permissive然后重启,
重启之后可以使用setenforce 0切换 以及使用 getenforce 查看状态为Permissive
3.3. 查看用户、文件、进程的上下文,并对其中某一用户、文件和进程的上下文进行较为详细的说明。
使用 semanage login -l 命令。该命令列出系统中的所有用户和他们的SELinux登录上下文。
查看文件的SELinux上下文,可以使用 ls -Z 命令。
查看进程的SELinux上下文,可以使用 ps -eZ 命令
3.4. 详细说明某一用户、文件和进程的上下文
查看用户root的上下文
- user_u: 用户标识符
- unconfined_u: SELinux用户类型,这表示该用户没有被SELinux策略约束。
- s0-s0:c0.c1023: 范围级别,表示用户的最低和最高安全级别。
查看 文件/home/ypy/Desktop/print.c的上下文:
- system_u: 用户标识符
- object_r: 角色标识符,表示这是一个对象角色。
- user_home_t: 类型标识符,表示这是一个用户的一个普通文件类型。
- s0: 安全级别,表示该文件的安全级别。
查看 apache2 进程的上下文:
- system_u: 用户标识符
- system_r: 角色标识符,表示这是一个系统角色。
- httpd_t: 类型标识符,表示这是一个HTTP守护进程类型。
- s0: 安全级别,表示该进程的安全级别。