第 7章サービスの管理

Turbolinux 11 Server で提供するサービスを管理することは、システム管理者にとって最も基本的で重要なことです。サービスは Turbolinux 11 Server が起動する過程で /etc/rc スクリプトにより開始されることは、第1章 で解説しましたが、不要なサービスを意味もなく提供すると、それだけシステムへの負荷がかかります。また、インターネットに接続される環境ではセキュリティにも配慮してサービスを不用意に起動すべきではありません。この章では、システム全体から見たサービスの基本的な管理方法について解説します。

7.1. 制御スクリプトによるサービスの起動と停止

システム起動時に開始されるサービスは、Turbolinux 11 Server インストール時の「サービスの設定」で決定されます。多くの場合、インストーラがデフォルトで用意しているセキュアレベルを選択し、起動するサービスを設定していることでしょう。Turbolinux 11 Server の起動後に、サービスを起動/停止するには、turboservice というサービス設定ツールを使用できます。このツールを利用すれば簡単にサービスの起動/停止やシステム起動時に開始するサービスを設定することができます。turboservice については、項7.3 で解説します。また、もう 1 つの方法として、/etc/init.d/ ディレクトリに格納されているスクリプトを直接実行して、サービスの状態を制御することもできます。ここでは、これらのスクリプトで、サービスを起動/停止する方法を紹介します。ls コマンドで/etc/init.d/ ディレクトリを確認すると、以下のように数多くのスクリプトが存在します。

$ ls /etc/init.d/
ConsoleKit*      fuse*        mediatomb*   pptpd*         spamass-milter*
UpdateCheck*     gpm*         memcached*   proftpd*       spamassassin*
acpid*           halt*        messagebus*  qdiskd*        speedfreqd*
adsl*            httpd*       mysqld*      radiusd*       squid*
alsasound*       ip6tables*   named*       random*        sshd*
atd*             ipmi*        netfs*       rawdevices*    supermount*
auditd*          iptables*    netplugd*    rdisc*         synctime*
bgpd*            jexec*       network*     ripd*          syslog-ng*
clusterserverd*  kadmin*      nfs*         ripngd*        tuneidehd*
cman*            kdump*       nfslock*     rpcbind*       udev*
cmcd*            keytable*    nscd*        rpcgssd*       unicon-mini*
crond*           killall*     ntpd*        rpcidmapd*     vmware-tools*
cups*            kparam*      openais*     rpcsvcgssd*    winbind*
dc_client*       kprop*       openvpn*     saslauthd*     xinetd*
dc_server*       krb524*      ospf6d*      scsi_reserve*  ypbind*
dhcpd*           krb5kdc*     ospfd*       sid-milter*    yppasswdd*
dk-milter*       ldap*        pcmcia*      single*        ypserv*
dkim-milter*     lm_sensors*  portmap*     smb*           ypxfrd*
dracd*           mailman*     postfix*     snmpd*         zebra*
functions*       mdmonitor*   postgresql*  snmptrapd*

サービスを制御するには、これらのスクリプトにオプションを付けて実行します。指定可能なオプションは、サービスにより多少の違いはありますが、一般的に以下のオプションが指定できます(詳細はスクリプトの内容を確認してください)。

表 7-1. サービス制御スクリプトのオプション

オプション操作
start開始
stop停止
restart再起動
status状況確認

例えば、SSH サーバーを制御するためのスクリプトは、/etc/init.d/sshd です。SSH サーバーの現在の状態を確認するには root ユーザーで次のように実行します。

# /etc/init.d/sshd status
sshd is stopped

SSH サーバーが停止していることが分かります。開始(start)するには、次のように実行します。

# /etc/init.d/sshd start
Starting sshd:                                                            OK

停止(stop)するには、次のように実行します。

# /etc/init.d/sshd stop
Shutting down sshd:                                                       OK

再起動(restart)するには、次のように実行します。

# /etc/init.d/sshd restart
Shutting down sshd:
Starting sshd:                                                            OK

このように、これらのオプションを付けてスクリプトを実行することで、各サービスを開始/停止することができます。ただし、Turbolinux 11 Server を再起動すると、サービスは /etc/rc スクリプトにより開始されますので、これらのスクリプトで開始または停止したサービスの状態は保持されません。Turbolinux 11 Server の起動時に開始するサービスを設定するには、chkconfig コマンドを使用します。(項7.2参照)。