chkconfig服务

相当于windows安全辅助工具,开机启动项的一个管理服务。

软件安装完成之后不是都有开机启动服务,有的需要自己添加,还可以查看删除。

1.开机启动服务查询

   chkconfig --list

当我们使用 chkconfig --list的时候 都会又  123456 这样的级别. 当某个级别是 on
他就会开机启动,当他是off 的时候他就不会开机自启动. 那么这是什么原因呢?他的
原理是什么?
 
查看chkconfig的结果:
 
思考 为什么 我们设置了3级别 on 他就会开机自启动呢?
     还记得开机自动的级别吗? 我们默认使用的什么级别呢?
       我们默认启动的是  /etc/rc.d/rc3.d/  这里面的所有的脚本 
 
拿 sshd 为例子: 我们看看开机启动的 rc3.d 中的脚本
 
我们现在看到的是: 这个文件 其实是一个软连接文件 他指向了  /etc/init.d/sshd 的实体文件. 但是奇怪的是他的名字是 S55sshd  而不是 sshd,好了,我们现在关闭他开机自启动,再看一下:
 
看清楚们?同志们,这货来了个变身术..他不再是S55了 而是变成了 k25sshd
 
是不是很惊喜,是不死和很意外??  那么这是为什么呢?
其实 这一切都只是源文件在作怪:
我们来编辑这个文件看看里面是什么情况:
 
我们来主要看这一块, 看清楚没? 有一个 55 和25  是不是和刚才的 k25  s55 很像?
解释:  这里的 2345 是启动级别  
系统一旦识别到是 3 级别下启动了 sshd服务 就自动在 /etc/init.d/sshd 中生成了一个叫 S55sshd 的文件, 一旦停止 他就会立即删除 S55sshd文件,然后再生成一个K25sshd的文件... 他们无论启动或者停止  他们始终指向原来的脚本. 那么这里的意思你懂了吗?
 
1.当我们在脚本中设置了一个程序为开机自动启动的时,他就会在 /etc/init.d/的目录中 添加了一个 软连接指向源文件.
2. 当我们关闭了一个程序的开机启动后,他就会在/etc/init.d/的目录中添加一个软连接指向源文件.
 
在我们明白了这个原理的时候,我们做以下操作  不适用chkconfig 就让他on或者off
 
来查看现在sshd 的状态是什么?
[root@oldboyedu-sh01 ~]# chkconfig --list | grep sshd
sshd 0:off   1:off   2:on    3:on   4:on   5:on   6:off
 
可以看出目前sshd的3级别是on,那么我们现在做如下操作:
删除掉这个文件,我们自己重新 做个快捷方式到 sshd
[root@oldboyedu-sh01 ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/K25sshd
那么 现在我们重新再看sshd服务的状态
 
他变成了 off 了? 惊不惊喜?意不意外?? 那么现在你明白了他的原理了吗?
 
原理:
任何文件需要进行开机启动,那么就相当于在 /etc/rc.d/rc3.d/ 中 设置一个
软连接指向实体文件,他们的启动是 S开头   不启动是K开头. 开启和关闭
全部由文件 控制.   
 
不信我们就查看sshd 配置文件:
 
 
这里 :
2345  表示 级别
55 表示开启
25 表示关闭
 
我们想创建一个文件开机启动 一样可以如此配置:
#!/bin/bash
# chkconfig: 2345 55 25
# description: SSH is a protocol for secure remote shell access. 
随后使用 chkconfig --add  [文件名]   添加到i系统的开机启动中
这样以后我们就可以做到 系统级 开机自启动了, 你明白了吗?
 

# 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)
  # 1 - 单用户模式
  # 2 - 多用户,没有 NFS
  # 3 - 完全多用户模式(标准的运行级)
  # 4 – 系统保留的
  # 5 - X11 (x window)
  # 6 - 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )

chkconfig命令说明:

[root@mail ~]# chkconfig
chkconfig 版本 1.3.30.1 - 版权 (C) 1997-2000 Red Hat, Inc.
在 GNU 公共许可的条款下,本软件可以被自由发行。

用法:    chkconfig --list [name]
         chkconfig --add <name>
         chkconfig --del <name>
         chkconfig [--level <levels>] <name> <on|off|reset|resetpriorities>
[root@mail ~]# chkconfig --list
NetworkManager  0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
acpid           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
anacron         0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
apmd            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
atd             0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
auditd          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
autofs          0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
avahi-daemon    0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭
avahi-dnsconfd  0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
bluetooth       0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
capi            0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
conman          0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
cpuspeed        0:关闭  1:启用  2:启用  3:启用  4:启用  5:启用  6:关闭

例如设置named开机启动

[root@mail ~]#chkconfig named on

查看是否执行成功:

[root@mail ~]#chkconfig --list named

named           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

猜你喜欢

转载自www.cnblogs.com/fpcbk/p/12466758.html
今日推荐