this is a extra element for clear the floated element
RedHat系统服务控制机制详解
  • 12/31
  • 2008
基础知识 | Linux 3120 次查看
  RedHat Linux 在存取控制服务上,除了 Firewall 方面可藉由 Netfilter 的机制,利用其程序工具 iptables 作系统服务的存取管理外,如要 deny 掉服务的存取,最简易的方式当然是把服务关闭,至于存取控制服务除 xinetd 的机制,外主要还是在于:利用现有的服务存取控制应用程序: 如 ntsysv、serviceconf、chkconfig 等掌控方式达成。

  ntsysv

  「ntsysv」为一 RedHat 开发的文字接口的应用程序,具有交互式的操作接口,外观乍看起来极像文字模式的安装画面,是用来设定每一个 runlevel 在系统激活时即欲加以激活的服务, 基本上其并非用来作服务的激活、停止及重新激活,如果你要作服务的激活、停止及重新激活,可下 service daemon stop(start or restart),例如: service ipchains restart ;是故其作的设定改变并不会立即生效,必须等到重新激活时始生效。

  [myimg]upload/ntsysv.png[/myimg]

  我们可以使用 ntsysv 来开启或关闭 xinetd 所管理的服务,也可以使用ntsysv来开启或关闭 /etc/rc.d目录架构下的服务。其语法如下(参考 man page):

  ntsysv [--level ] [--back]

  系统提示符号下输入:

  # ntsysv (命令后不加参数,代表在设定目前这一层的 runlevel)

  # ntsysv -levels 35 (命令后加数字,代表在设定目前 3及5的 runlevel)

  # ntsysv --back (指在操作接口中显示 "Back"按钮,而非 "Cancel" 按钮)

  serviceconf

  「serviceconf」为一 RedHat 开发的图形接口的应用程序,具有交互式的操作接口,可用来设定 runlevel 3,4,5 在系统激活时即欲加以激活的 SysV及 xinetd 服务。它允许你激活、停止及重新激活 SysV 服务和重新激活 xinetd 服务。

  在设定时需加注意者为:

  1. 如果针对属于 xinetd 的服务,例如 swat 作激活、停止及重新激活后,应一并将xinetd 重新激活。

  2. 在 serviceconf 中可以设定不同的 runlevel,所以在不同的 runlevel作服务的改设时,如欲立即生效,可在系统提示符号下输入 telinit 。

  激活 serviceconf 方式如后:

  1. 系统提示符号下输入serviceconf

  2. KDE 面板上的主要选单按钮 => Red Hat => System => Serviceconf

  3. GNOME面板上的主要选单按钮 => Programs => System => Serviceconf

  [myimg]upload/serviceconf.png[/myimg]

  chkconfig

  「chkconfig」也是一个用来激活、关闭、及查询不同 runlevel ( 0~6 )中的相关系统服务。所以其主要作用在于查询( --list )、激活或关闭 /etc/rc.d 或 xinetd 之服务。

  其语法如下(参考 man page):

  chkconfig --list

  chkconfig --list [服务名称]

  chkconfig --add 服务名称

  chkconfig --del 服务名称

  chkconfig [--level

  chkconfig [--level

  用法:

  1.查询不同 runlevel ( 0~6 )中的相关系统服务

  # chkconfig -list 会得到下述查询结果

  [root@pc80 root]# chkconfig --list

  syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  webmin 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off

  ipchains 0:off 1:off 2:on 3:on 4:on 5:off 6:off

  iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off

  xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

  autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off

  nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  rstatd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  rusersd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  postgresql 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  squid 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  tux 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  named 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  arpwatch 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  gated 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  linuxconf 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  xinetd based services:

  echo-udp: off

  echo: off

  rlogin: off

  rsh: off

  ntalk: off

  talk: off

  telnet: off

  wu-ftpd: on

  linuxconf-web: off

  imap: off

  imaps: off

  ipop2: off

  ipop3: off

  pop3s: off

  swat: off

  从上我们可看出在结构上值的注意之处:

  A. chkconfig -list 查询的相关系统服务主要在于查询 /etc/rc.d 目录下和 xinetd

  之服务。

  B.chkconfig -list 查询的形态为各个 runlevel ( 0~6 ),而激活或关闭服务分别以 on 及 off 表示。

  2. 激活或关闭 /etc/rc.d 或 xinetd 之服务

  [root@pc80 root]# chkconfig swat on

  [root@pc80 root]# chkconfig --list swat

  swat on

  3. 关闭特定 runlevel 中属于 /etc/rc.d 或 xinetd 之服务

  [root@pc80 root]# chkconfig --level 2345 iptables off

  [root@pc80 root]# chkconfig --list iptables

  iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  4. 激活特定 runlevel 中属于 /etc/rc.d 或 xinetd 之服务

  root@pc80 root]# chkconfig --level 2345 iptables on

  [root@pc80 root]# chkconfig --list iptables

  iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  5. 重设特定 runlevel 中属于 /etc/rc.d 或 xinetd 之服务默认值

  [root@pc80 root]# chkconfig --level 2345 iptables off

  [root@pc80 root]# chkconfig --list iptables

  iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  [root@pc80 root]# chkconfig --level 2345 iptables reset

  [root@pc80 root]# chkconfig --list iptables

  iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  此外,附带一提为查询 xinetd 和 /etc/rc.d 目录下有所不同,主要在于前者并无 runlevel 的查询结果:

  xinetd :

  [root@pc80 root]# chkconfig --list wu-ftpd

  wu-ftpd on

  /etc/rc.d 目录

  [root@pc80 root]# chkconfig --list iptables

  iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off