默认安装linux时,开启了很多的服务。但有许多服务是不需要的,为了系统的安全和稳定,可以结合自己的实际需要,关闭不用的服务。chkconfig命令主要用来启动、停止和查询系统服务的运行级别信息,chkconfig不是立即禁止或激活一个服务,它只是简单的改变了符号连接。

详细的信息可通过man来查看。下面是批量关闭一些服务的操作。


查看运行的服务

[root@zabbix ~]# chkconfig --list|grep "3:on"

使用chkconfig批量关闭服务_批量

下面是单独关闭ip6tables服务,off后面不填写,默认是关闭2.3.4.5

[root@zabbix ~]# chkconfig ip6tables off

[root@zabbix ~]# chkconfig --list ip6tables

使用chkconfig批量关闭服务_chkconfig_02

下面命令取第一列,也就是列出服务的名称

[root@zabbix ~]#chkconfig --list|grep "3:on"|awk '{print$1}'

使用chkconfig批量关闭服务_chkconfig_03 

通过上面的操作,我们已经会查看当前开启的服务有哪此。现在我们结合服务器的的需要来关闭不必要的服务

方法一,先把所有服务都关闭,然后只开想要的服务

1.1关闭所有的服务,把3on的全部关闭

[root@zdw ~]# for zdw in  `chkconfig --list|grep "3:on"|awk ' {print $1}' `;do chkconfig $zdw off;done

使用chkconfig批量关闭服务_批量_04

1.2只启动以下crond|network|sshd|rsyslog四个服务

[root@zdw ~]# for zdw in crond network sshd rsyslog;do chkconfig $zdw on;done

[root@zdw~]# chkconfig --list|grep"3:on"

使用chkconfig批量关闭服务_关闭服务_05

 

方法二,开启的服务,排除crond|network|sshd|rsyslog四个服务,其它全部关闭

2.1列出开启的以下四个服务

[root@zdw~]# chkconfig --list|grep"3:on"|awk '{print $1}'|grep -vE"crond|network|sshd|rsyslog"

使用chkconfig批量关闭服务_chkconfig_06

2.2排除crond|network|sshd|rsyslog四个服务,其它全部关闭

[root@zdw~]# for zdw in `chkconfig --list|grep "3:on"|awk'{print $1}'|grep -vE "crond|network|sshd|rsyslog"`;do chkconfig $zdwoff;done

[root@zdw~]# chkconfig --list|grep "3:on"

使用chkconfig批量关闭服务_关闭服务_07