一.SELinux的类型
- targeted : redhat默认使用,只是对一些比较敏感的进程做了SELinux限制。即部分使用SELinux。
- strict : 全部受SELinux限制。这种很麻烦,不太好控制。
- mils : 主要是军方使用,是更为严格的全面SELinux 。
二.SELinux的状态
SELinux:Security Entenced Linux
.SELiux有两种状态:1.enforcing 2.permissive
enforcing:强制实行SELinux规则。
permissive:只是警告违反SELinux规则但并不阻止。
三.查看现在系统SELinux状态
- getenforce
getenforce显示是disabled,表示SELinux还没有开启,若要开启就要改动它的配置文件/etc/sysconfig/selinux或/etc/selinux/config,将SELinux=enforcing或permissive,都将表示开机启用。
2.setenforce
setenforce 0:表示permissive状态。
setenforce 1:表示enforcing状态。
- 如果要这些设置长久有效,需要改动配置文件/etc/selinux/config。
vim /etc/selinux/config
- 如果想要用图形换界面设置,使用命令:system-config-selinux.
- 如果你想在开机时就改动对selinux的配置,可以在启动时改动按E改动grub文件:
在kernel 后添加 selinux=o(禁用selinux)或selinux=1(启用selinux)
如果你已经知道selinux的配置文件设置的是启用selinux,你只是想改变它的状态:
kernel 后添加:
enforce=1(enfocing状态)
enforce=0(permissive状态)
四.SELiunx的应用。
- SELinnux实现是基于ext3的扩展属性exttr,查看文件的扩展属性使用命令:lsattr.
2.查看文件的跟多selinux属性
文件的扩展属性在selinux中叫做label(标签),label和policy(策略)组成了selinux的安全上下文context。
ls –z (可以查文件或目录的label)
注:冒号将label分成了三段:第一段是属主,这个属主不同于Linux中的属主,是selinux特有的属主;第二段是role,是subject或object;第三段是domian或type,所属的域。
ls --context (查看安全上下文)
ls --scontext (只查看安全上下文)
ls --lcontext (显示更多的属性信息)
3.更改label
chcon
-t :该类型
-R:recursive,递归。
-u:改变用户
chcon -t
--reference
chcon --reference a.selinux b.selinux :以a为准更改b的label
restorecon :恢复默认标签
这些默认标签设置在/etc/selinux/targeted/contexts/files下的file_contexts.homedirs中
vim /file_contexts.homedirs
4.进程的标签
ps -auxz
注:unconfiined:表示没有label,它不受SELlinux控制。因为我们的RedHat默认选的是targets。
5..用户的安全上下文
id 用户名
6.policy
策略就是一条条的规则(role)。其中一些是二进制的(布尔型)
,这样的方式可以让规则立即生效,而不需要重启系统。
getsebool -a (查看所有能用布尔型调整的)
更改某个服务的布尔值
命令格式: getsebool 服务名 on|0ff
on:开启 off:关闭
也可以用数值
1:开启 0:关闭
注:这样的更改都是临时有效地,重启系统后就没了。想要更改长久有效,则在执行命令是加 -p选项。
五.图形化更改
system-config-selinux
注:这样的图形修改如SELinux和防火墙的设置都会因为默认的设置而将图形化的设置屏蔽了,所以并不建议在这两个方向上使用图形化的设置。
转载于:https://blog.51cto.com/rhlinux/364784