如果你对windows非常熟悉的话,相信你肯定配置过开机启动的服务,有些服务我们日常用不到则要把它停掉,一来可以节省资源,二来可以减少安全隐患。在linux上同样也有相关的工具来管理系统的服务。
1. ntsysv服务配置工具
用来配置哪些服务开启或者关闭,有点类似图形界面,不过是使用键盘来控制的。如果没有这个命令请使用 yum install -y ntsysv
安装它。安装好后,直接运行命令 ntsysv
回车后弹出一个配置界面:
按键盘的上下方向键可以调节红色光标,按空格可以选择开启或者不开启,如果前面的中括号内显示有 *
则表示开启否则不开启。通过这个工具也可以看到目前系统中所有的服务。 建议除 “crond, iptables, network, sshd, syslog, irqbalance, sendmail, microcode_ctl” 外其他服务全部停掉。选择好后,按 “tab” 键选择 “确定”, 然后回车,需要重启机器才能生效 。
2. chkconfig服务管理工具
Linux系统所有的预设服务可以查看/etc/init.d/目录得到:
|
|
其实这就是系统所有的预设服务了。为什么这样讲,因为系统预设服务都是可以通过这样的命令实现 service 服务名 start|stop|restart
这里的服务名就是/etc/init.d/目录下的这些文件了。除了可以使用 service crond start
启动crond外,还可以使用 /etc/init.d/crond start
来启动。
言归正传,我们可以使用 chkconfig –list 列出所有的服务以及每个级别是否开启:
|
|
这里的级别(0,1,2,3,4,5,6)就是 /etc/inittab 里面的那几个启动级别了,0、1、6运行级别被系统保留:其中0作为shutdown动作,1作为重启至单用户模式,6为重启;在一般的Linux系统实现中,都使用了2、3、4、5几个级别,在CentOS系统中,2表示无NFS支持的多用户模式,3表示完全多用户模式(也是最常用的级别),4保留给用户自定义,5表示图形登录方式。我们可以使用grep命令把我们想要看的服务过滤出来:
|
|
现在我们只是看到了各服务在每个级别下是否开启,那么如何去更改哪个级别下是否开启呢?
|
|
用 –level 指定级别,后面是服务名,然后是 off 或者 on ,–level 后还可以跟多个级别:
|
|
另外还可以省略级别,默认是针对2,3,4,5级别操作:
|
|
chkconfig 还有一个功能就是可以把某个服务加入到系统服务,即可以使用 service 服务名 start
这样的形式,并且可以在 chkconfig --list
中查找到。当然也能删除掉。
|
|
这个功能常用在把自定义的启动脚本加入到系统服务当中。