红联Linux门户
Linux帮助

RedHat系统服务控制机制详解

发布时间:2006-04-04 00:41:20来源:红联作者:西西
RedHat Linux 在存取控制服务上,除了 Firewall 方面可藉由 Netfilter 的机制,利用其程序工具 iptables 作系统服务的存取管理外,如要 deny 掉服务的存取,最简易的方式当然是把服务关闭,至于存取控制服务除 xinetd 的机制,外主要还是在于:利用现有的服务存取控制应用程序: 如 ntsysv、serviceconf、chkconfig 等掌控方式达成。

ntsysv

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




我们可以使用 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




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
文章评论

共有 0 条评论