Linux 运维:CentOS/RHEL防火墙和selinux设置
如果你在Linux系统中设置了防火墙规则,但是发现每次重启系统后防火墙规则没有自动生效,可能是防火墙服务没有开机自启动的原因。在大多数Linux发行版中,防火墙服务默认是会开机自启动的,需要手动设置。
然而,也有一些特定的情况或发行版可能会禁用防火墙服务的开机自启动,这取决于系统管理员的配置和需求。
一、防火墙常用管理命令
1.1 CentOS/RHEL 7系统
1、firewalld 状态查看
systemctl status firewalld
2、关闭
systemctl stop firewalld
3、开启
systemctl start firewalld
4、禁止开机自启动
systemctl disabled firewalld
5、设置开机自启
systemctl enable firewalld
以上命令是用于在CentOS/RHEL 7系统中管理firewalld服务的。在CentOS/RHEL 7中,使用systemctl命令可以管理系统的服务。
在CentOS/RHEL 6中,防火墙服务的管理与CentOS/RHEL 7有所不同。 在CentOS/RHEL 6中,防火墙服务使用的是iptables而不是firewalld。
1.2 CentOS/RHEL 6系统
1、禁用iptables服务开机自启动
chkconfig iptables off
2、开机自动启动
chkconfig iptables on
3、查看防火墙状态
service iptables status
4、启动防火墙
service iptables start
5、停止防火墙
service iptables stop
6、重启防火墙
service iptables restart
6、保存
service iptables save
7、重新加载
service iptables reload
8、列出iptables服务在各个运行级别下的启动状态
chkconfig --list iptables
如下所示:
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
## 在这个示例中,iptables服务在运行级别2、3、4和5下是启用的(on),而在运行级别0、1和6下是禁用的(off)。
二、临时/永久关闭SELinux
查看SELinux(Security-Enhanced Linux)的当前执行模式。
SELinux是一种安全机制,用于强化Linux系统的安全性,通过强制访问控制(MAC)来限制进程的权限。
当你在终端中运行getenforce命令时,系统会返回当前SELinux的执行模式,可能的结果包括:
Enforcing:表示SELinux处于强制模式,严格执行安全策略。
Permissive:表示SELinux处于宽容模式,记录违反安全策略的行为但不阻止。
Disabled:表示SELinux已禁用,不执行安全策略。
2.1 临时更改SELinux的执行模式
1、将SELinux设置为强制模式(Enforcing):
setenforce 1
2、将SELinux设置为宽容模式(Permissive):
setenforce 0
这些更改是临时的,重新启动系统后将恢复为配置文件中定义的执行模式。如果需要永久更改SELinux的执行模式,应该修改配置文件中的设置并重新启动系统。
2.2 永久更改SELinux的执行模式
1、将SELinux设置为禁用(Disabled)状态:
vi /etc/selinux/config文件。找到SELINUX=行,并将其值更改为disabled,重新启动系统后更改生效。
2、将SELinux设置为强制模式(Enforcing):
SELINUX=行,并将其值更改为enforcing
3、将SELinux设置为宽容模式(Permissive):
SELINUX=行,并将其值更改为permissive
请注意,禁用SELinux可能会降低系统的安全性。