码迷,mamicode.com
首页 > 其他好文 > 详细

chkconfig命令详解

时间:2016-03-16 19:37:59      阅读:2410      评论:0      收藏:0      [点我收藏+]

标签:命令   chkconfig   

一、功能说明

      chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。

     注意:它不是直接对服务进行启动或停止,只是设置下一次启动时的操作。也只是简单的更改了符号链接。

二、语法格式

       chkconfig [选项] [参数]

                      chkconfig [选项] [参数] [on/off/reset]

三、常用选项

      --add:添加服务给chkconfig管理

      --del:删除chkconfig列表里面某个服务

       --list:列出chkconfig管理的服务列表

      --level:设置级别(启动级别)

参数

       服务的名称

实例

 列出当前的开机启动的服务

[root@lixin init.d]# chkconfig--list
abrt-ccpp     0:off  1:off   2:off   3:off  4:off   5:off   6:off
abrtd         0:off  1:off   2:off   3:off  4:off   5:off   6:off
acpid         0:off  1:off   2:off   3:off  4:off   5:off   6:off
atd           0:off  1:off   2:off   3:off  4:off   5:off   6:off
auditd        0:off  1:off   2:off   3:off  4:off   5:off   6:off
cpuspeed      0:off  1:on    2:off   3:off  4:off   5:off   6:off
crond         0:off  1:off   2:on    3:on   4:on    5:on    6:off
haldaemon     0:off  1:off   2:off   3:off  4:off   5:off   6:off
ip6tables     0:off  1:off   2:off   3:off  4:off   5:off   6:off
iptables      0:off  1:off   2:off   3:off  4:off   5:off   6:off
irqbalance    0:off  1:off   2:off   3:off  4:off   5:off   6:off
kdump         0:off  1:off   2:off   3:off  4:off   5:off   6:off
lvm2-monitor  0:off  1:on    2:off   3:off  4:off   5:off   6:off
mdmonitor     0:off  1:off   2:off   3:off  4:off   5:off   6:off
messagebus    0:off  1:off   2:off   3:off  4:off   5:off   6:off
netconsole    0:off  1:off   2:off   3:off  4:off   5:off   6:off
netfs         0:off  1:off   2:off   3:off  4:off   5:off   6:off
network       0:off  1:off   2:on    3:on   4:on    5:on    6:off
nfs-rdma      0:off  1:off   2:off   3:off  4:off   5:off   6:off
sysstat       0:off  1:on    2:on    3:on   4:on    5:on    6:off
udev-post     0:off  1:on    2:off   3:off  4:off   5:off   6:off
[root@lixin init.d]#


六、扩展

1)    添加服务

 

[root@lixin init.d]# chkconfig--add lixin


注意:需要把启动脚本放在/etc/init.d下才可以使用chkconfig管理,并且由于chkconfig管理需要服务的启动脚本必须拥有指定格式才可以,所以我们添加的自启动服务,需要在文件头添加固定的格式

[root@lixin init.d]# headiptables

#!/bin/sh

#

# iptables      Start iptables firewall

#

# chkconfig: 2345 08 92     //定义启动级别,以及start和kill顺序

# description:  Starts,stops and saves iptables firewall

#                   //定义文件描述符

#

[root@lixin init.d]#

固定格式为:#chkconfig 234508 92

          #description:xxxxxx

其中chkconfig 2345 0892,分别表示启动级别、启动顺序、关闭顺序。

启动级别分为7中:

  • 0级别:表示关机

  • 1级别:表示单用户,一般用来做root密码修改等

  • 2级别:多用户但不包含NFS服务

  • 3级别:完整的多用户模式(命令行模式)

  • 4级别:保留未使用

  • 5级别:表示图形界面

  • 6级别:表示重启

  • 这些级别在/etc/inittab中有明确定义。

 

开机关闭顺序,是我们手工指定的,指定的时候最好去/etc/rc.d/rc3.d下查看,一般避免和其他服务重复数字,并且尽量保持在100以内。

 

  小结:我们执行chkconfig –level 3sshd on 时,它会在对应级别的启动目录下,产生一个以S开头的软连接用来指定这个服务的位置(在/etc/init.d/下)。如果 off掉,它会把之前的文件删掉,产生一个以K开头的软连接文件指定服务的位置。(KKillS,Start

2)    精简开机启动服务

由于系统完毕后,基本所有的服务在2345级别都是打开的状态,为了优化服务,我们一般会选择性的开启那些我们必须的服务,规避一下安全隐患。

  • sshd服务:用来提供用户登录的服务。

  • crond服务:用来执行计划(定时)任务。

  • network服务:用来提供网络服务。

  • rsyslog服务:用来打印系统日志信息的服务。

  • sysstat服务:是一个软件包,包含监测系统性能及效率的一组工具包含:

    • iostat:提供CPU的使用率等数据

    • mpstat:提供单个或多个处理器的数据

    • sar:收集、报告存储系统的活跃信息

 

建议新系统只开启上述5个服务

3)    批量开关服务

方法1:因为所有服务默认是开启的,所以我们只需要关闭不需要的服务。

[root@lixin rc3.d]# chkconfig 
abrt-ccpp      0:off  1:off   2:on    3:on   4:on    5:on    6:off
smartd        0:off  1:off   2:on    3:on   4:on    5:on    6:off
sshd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
svnserve       0:off  1:off   2:on    3:on   4:on    5:on    6:off
sysstat        0:off  1:on    2:on    3:on   4:on    5:on    6:off
udev-post      0:off  1:on    2:on    3:on   4:on    5:on    6:off
……
[root@lixin rc3.d]#
[root@lixin rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat"
abrt-ccpp      0:off  1:off   2:on    3:on   4:on    5:on    6:off
restorecond    0:off  1:off   2:on    3:on   4:on    5:on    6:off
rngd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
saslauthd      0:off  1:off   2:on    3:on   4:on    5:on    6:off
smartd         0:off  1:off   2:on    3:on   4:on    5:on    6:off
svnserve       0:off  1:off   2:on    3:on   4:on    5:on    6:off
udev-post      0:off  1:on    2:on    3:on   4:on    5:on    6:off
……    //筛选出除sshd,crond,network,sysstat,rsyslog以外的服务
[root@lixin rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat" | awk ‘{print $1}‘
lvm2-monitor
mdmonitor
messagebus
netconsole
netfs
nfs-rdma
ntpd
ntpdate
postfix
psacct
quota_nld
……   //利用awk用空格分隔把服务的名称取出
[root@lixin rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat" | awk ‘{print"chkconfig",$1,"off"}‘
chkconfig restorecond off
chkconfig rngd off
chkconfig saslauthd off
chkconfig smartd off
chkconfig svnserve off
chkconfig udev-post off
……      //利用awk的print参数拼出命令
[root@lixin rc3.d]# chkconfig |grep -Ev "sshd|crond|network|rsyslog|sysstat" | awk ‘{print"chkconfig",$1,"off"}‘ |bash  //交给bash来执行
[root@lixin rc3.d]# [root@lixinrc3.d]# chkconfig |grep -E ‘crond|sshd|network|rsyslog|sysstat‘
crond         0:off  1:off   2:on    3:on   4:on    5:on    6:off
network       0:off  1:off   2:on    3:on   4:on    5:on    6:off
rsyslog       0:off  1:off   2:on    3:on   4:on    5:on    6:off
sshd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
sysstat       0:off  1:on    2:on    3:on   4:on    5:on    6:off
[root@lixin rc3.d]#


 

方法二:首先关闭所有服务,然后只开启我们需要的五个服务

[root@lixin rc3.d]# chkconfig |awk ‘{print $1}‘
abrt-ccpp
abrtd
acpid
atd
sshd
svnserve
sysstat
……      //用awk过滤出服务名称
[root@lixin rc3.d]# chkconfig |awk ‘{print "chkconfig",$1,"off"}‘
chkconfig postfix off
chkconfig psacct off
chkconfig quota_nld off
chkconfig rdisc off
chkconfig rdma off
chkconfig restorecond off
chkconfig rngd off
……      //使用awk的print参数拼出命令
 [root@lixin rc3.d]# chkconfig | awk ‘{print"chkconfig",$1,"off"}‘| bash       //关闭所有服务
 [root@lixin rc3.d]# chkconfig 
abrt-ccpp     0:off  1:off   2:off   3:off  4:off   5:off   6:off
abrtd         0:off  1:off   2:off   3:off  4:off   5:off   6:off
acpid         0:off   1:off  2:off   3:off   4:off  5:off   6:off
atd           0:off  1:off   2:off   3:off  4:off   5:off   6:off
auditd        0:off  1:off   2:off   3:off  4:off   5:off   6:off
messagebus     0:off  1:off   2:off   3:off  4:off   5:off   6:off
netconsole     0:off  1:off   2:off   3:off  4:off   5:off   6:off
netfs         0:off  1:off   2:off   3:off  4:off   5:off   6:off
……
[root@lixin rc3.d]# chkconfig--list|egrep "crond|sshd|network|rsyslog|sysstat"|awk ‘{print"chkconfig",$1,"on"}‘|bash     //开启五个服务
[root@lixin rc3.d]# chkconfig|grep -E ‘crond|sshd|network|rsyslog|sysstat‘  //验证
crond         0:off  1:off   2:on    3:on   4:on    5:on    6:off
network       0:off  1:off   2:on    3:on   4:on    5:on    6:off
rsyslog       0:off   1:off  2:on    3:on    4:on   5:on    6:off
sshd          0:off  1:off   2:on    3:on   4:on    5:on    6:off
sysstat       0:off  1:on    2:on    3:on   4:on    5:on    6:off
[root@lixin rc3.d]#



本文出自 “你的黑夜” 博客,请务必保留此出处http://lixin15.blog.51cto.com/3845983/1751681

chkconfig命令详解

标签:命令   chkconfig   

原文地址:http://lixin15.blog.51cto.com/3845983/1751681

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!