title

Top  >> Vine Linux Menu  >> ネットワーク/セキュリティ  >> デーモンの設定

デーモンの設定

 デーモンの起動/停止(手動)

 Linuxでは、システムが必要とするプロセスやサーバープロセスなどを、バックグラウンドで常駐さておきます。 このような常駐プログラムを、”デーモン=daemon”と呼びます。 これらのデーモンはバックグラウンドで待機していて、ユーザーからの要求に応じて処理を行います。 例えば、WebサーバーならばApacheをいうデーモンが常時待機していて、Webサイトの閲覧などの要求があった場合に処理を行うといった感じです。

 Vine Linuxをインストールした直後でも、いくつかのデーモンが起動しています。 ここで、自分の用途に必要のないデーモンを停止することにより、セキュリティを高めたり負荷を軽減したりする事ができます。 デーモンは以下のようなコマンドで起動/停止を行います。 ここでは、FTPデーモンであるproftpdの起動/停止を例に挙げます。

# /etc/rc.d/init.d/proftpd start
# ProFTPdを起動中:           [  OK  ]

 上記のように入力すると、起動メッセージが表示されます。 コマンド中の/etc/rc.d/init.d/ の部分は、デーモンが置かれているディレクトリのパスを示しています。 同様に、proftpdを停止したい場合には以下のように入力します。

# /etc/rc.d/init.d/proftpd stop
# ProFTPdを停止中:           [ OK ]

 また、デーモンを再起動する場合には次のように入力します。 デーモンに関わるファイル等を編集した場合には、設定を反映させるためにデーモンを再起動する必要があります。

# /etc/rc.d/init.d/proftpd restart
# ProFTPdを停止中:           [  OK  ]
# ProFTPdを起動中:           [  OK  ]

デーモンの名前が分からない場合や、デーモンのリストを見たい場合には、以下のようなコマンドで、リストが表示されます。
あるいは、/etc/rc.d/init.d/ と入力した時点でTab キーを押せば、シェルの補間機能でデーモンの一覧が表示されます。

# ls /etc/rc.d/init.d/
 acpid*    cpufreqd*              halt*      named*    portmap*     syslog*
 adsl*     crond*                 httpd*     netfs*    postfix*     vncserver*
 anacron*  cups*                  inet*      network*  proftpd*     xfs*
 apmd*     fam*                   iptables*  nfs*      random*      ypbind*
 atd*      functions*             keytable*  nfslock*  rawdevices*
 autofs*   functions.bootsplash*  killall*   nscd*     saslauthd*
 canna*    functions.noloadi18n*  kudzu*     ntpd*     single*
 ccpd*     gpm*                   murasaki*  pcmcia*   sshd*

起動中のデーモンを確認するには、次のようにps コマンドにオプションを付けて入力します。

# ps -aux

入力すると、起動しているサービスの一覧が表示されます。

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT    START   TIME COMMAND
root         1  0.0  0.3  1508  456 ?        S       Jul07   0:06 init
root         2  0.0  0.0     0    0 ?        SW      Jul07   0:00 keventd
root         3  0.0  0.0     0    0 ?        SW      Jul07   0:00 kapmd
root         4  0.0  0.0     0    0 ?        SWN     Jul07   0:00 ksoftirqd_CPU0
root         5  0.0  0.0     0    0 ?        SW      Jul07   0:01 kswapd
root         6  0.0  0.0     0    0 ?        SW      Jul07   0:00 bdflush
root         7  0.0  0.0     0    0 ?        SW      Jul07   0:00 kupdated
root         9  0.0  0.0     0    0 ?        SW      Jul07   0:00 mdrecoveryd
root         8  0.0  0.0     0    0 ?        SW      Jul07   0:00 khubd
root        17  0.0  0.0     0    0 ?        SW      Jul07   0:01 kjournald
root       207  0.0  0.0     0    0 ?        SW      Jul07   0:00 kjournald
root       539  0.0  0.4  1568  532 ?        S       Jul07   0:00 syslogd
root       545  0.0  0.3  1512  380 ?        S       Jul07   0:00 klogd
root       563  0.0  0.4  1528  508 ?        S       Jul07   0:05 cpufreqd
root       594  0.0  1.0  3292 1220 ?        S       Jul07   0:00 sshd
xfs        711  0.0  4.9  9176 5884 ?        S       Jul07   0:09 xfs
root       728  0.0  0.4  1876  588 ?        S       Jul07   0:00 cannaserver
root       744  0.0  0.3  1492  364 tty1     S       Jul07   0:00 mingetty
root       745  0.0  0.3  1492  364 tty2     S       Jul07   0:00 mingetty
root       746  0.0  0.3  1492  364 tty3     S       Jul07   0:00 mingetty
root       747  0.0  0.3  1492  364 tty4     S       Jul07   0:00 mingetty
root       748  0.0  0.3  1492  364 tty5     S       Jul07   0:00 mingetty
root       749  0.0  0.3  1492  364 tty6     S       Jul07   0:00 mingetty
root      1822  0.0  1.4  5880 1664 ?        S       11:03   0:00 sshd
root      1846  0.0  0.7  5056  932 pts/0    S       11:03   0:00 su
root      1847  0.0  1.1  5248 1380 pts/0    S       11:03   0:00 bash
root      1953  0.0  0.6  2732  732 pts/0    R       11:17   0:00 ps

PIDというのは、プロセスIDです。PID594を見るとCOMMANDのところにsshdとあります。 これは、sshdがプロセスID594で起動している事を表しています。 また、デーモンによっては、複数のプロセスが起動しているものもあります。


このページのTop へ

 ntsysv によるデーモンの起動/停止

 デーモンの起動/停止は上記のように手動で行えますが、システムの起動と同時にデーモンを起動することもできます。 システムの起動時に特定のデーモンが起動しないようにしておけば、電源を入れるたびにコマンドでデーモンを起動/停止させる手間が省けます。 頻繁に使うデーモンは起動時に開始されるように設定しておく方が楽です。 このように、デーモンの起動をシステムの起動時に行うように設定するツールとして、”ntsysv”があります。 ルート権限で、次のようなコマンドで実行できます。

# ntsysv

入力すると、設定用の画面が表示されます。

ntsysv

 上下とTabキーでカーソルを移動し、スペースキーで”*”のチェックをします。 空欄に”*”が入っているデーモンは、システムの起動と同時に実行される設定になります。 デーモンの設定を行った後は、設定を反映させるためにシステムを再起動する必要があります。

ただし、このntsysv で編集したデーモンの設定は、そのランレベルでしか反映されません。 ランレベルを変更した場合には、ntsysv で再設定しなおすか、設定ファイルを直接編集します。 これは、次のようにデーモンが管理されているからです。

 Vine Linuxにおいて、起動時に実行されるデーモンは、/etc/rc.d/ ディレクトリ以下に収められていて、各ランレベル毎に管理されています。 従って、システム起動時に実行されるデーモンは、ランレベル毎に設定が異なるので注意が必要です。

# ls /etc/rc.d/

とコマンドを入力すれば、

 init.d/  rc.local*    rc0.d/  rc2.d/  rc4.d/  rc6.d/
 rc*      rc.sysinit*  rc1.d/  rc3.d/  rc5.d/

と表示されます。
このrc0.d/〜rc6.d/のディレクトリに起動時に実行するスクリプトが格納されています。 例えば、自分のランレベルが3の場合には、/etc/rc.d/rc3.d/ に設定が保存されています。 以下のようなコマンドで、デーモンの一覧が表示されます。 他のランレベルの場合には、rc3.d の所を適宜置き換えたください。

# ls /etc/rc.d/rc3.d/

 K01adsl@       K30postfix@     K74ntpd@     K96pcmcia@    S75keytable@
 K05anacron@    K35vncserver@   K75netfs@    K99murasaki@  S85httpd@
 K05atd@        K44rawdevices@  K80random@   S08iptables@  S90fam@
 K05saslauthd@  K45named@       K82autofs@   S10network@   S90xfs@
 K10cups@       K50inet@        K83ypbind@   S12syslog@    S92canna@
 K15gpm@        K60crond@       K86nfslock@  S27cpufreqd@  S99local@
 K15proftpd@    K74apmd@        K87portmap@  S44acpid@
 K20nfs@        K74nscd@        K95kudzu@    S55sshd@

ここで、各デーモンの名前の前に”K”や”S”のアルファベッドが付いています。 このアルファベッドが、システム起動時にデーモンを起動させるか否かの設定を表します。 ”S”なら起動、”K”なら起動しないといった事を意味します。 この部分をvi エディタ等で”S”を”K”にするなどと編集する事ができます。

デーモンの設定を行った後は、設定を反映させるためにシステムを再起動する必要があります。


このページのTop へ

 chkconfig によるデーモンの起動/停止

 起動サービスの管理は、ntsysvで行える事は先に示した通りですが、ntsysvでは起動中のランレベルにおける設定しか行えません。 他のランレベルにおけるサービスの設定を行うには、ファイルを編集する他にも”chkconfig”というコマンドがあります。 このchkconfigでは、すべてのランレベルにおけるサービスを一覧を表示しながら設定できる便利なコマンドです。

chkconfigの使用法とオプションは以下のようになっています。

chkconfig のオプション
コマンド 意味
chkconfig -h chkconfigのヘルプを表示する
chkconfig --list サービスの一覧を表示する
chkconfig --list |grep <on | off> サービスの一覧をグループを指定して表示する
chkconfig --level <ランレベル> <サービス名> <on | off > サービスの起動/停止を追加する

例えば、以下のようにしてサービスの一覧を表示できます。

# chkconfig --list

acpid		0:off	1:off	2:off	3:off	4:off	5:off	6:off
adsl		0:off	1:off	2:off	3:off	4:off	5:off	6:off
anacron		0:off	1:off	2:off	3:off	4:off	5:off	6:off
apmd		0:off	1:off	2:off	3:on	4:off	5:on	6:off
atd		0:off	1:off	2:off	3:off	4:off	5:off	6:off
autofs		0:on	1:on	2:on	3:on	4:on	5:on	6:on
canna		0:off	1:off	2:off	3:off	4:off	5:on	6:off
・
・
・

このように、--list オプションですべてのランレベルと起動デーモンの一覧が表示されます。 また、次のようなコマンドでランレベルに対応したデーモンのon/off を変更できます。 次のコマンドでは、ランレベル3と5のadsl デーモンがon になります。

# chkconfig --level 35 adsl on

デーモンの設定を行った後は、設定を反映させるためにシステムを再起動する必要があります。


このページのTop へ

 デーモンリスト

 Vine Linux3.1に収録されているデーモンのリストを簡単にまとめました。 不要なデーモンはできるだけ起動させず、自分の環境に必要なデーモンだけを起動するように設定を行うことが望ましいと思います。 尚、設定例はあくまで設定例です。 実際の設定は自分の使用目的に合わせて調整します。

デーモンリスト
デーモン名 役割 設定例 備考
acpid 電源管理を行う ACPI対応のマザーボードが必要
adsl PPPoEで接続する ADSLなどでルータを経由しない場合は必要
anacron タスクスケジューラ
apmd APMのユーティリティ ノートPC以外は不要
atd 指定時刻にコマンドを実行する
autofs ファイルシステムの自動マウント/アンマウント CDなどを自動でマウントしたい場合は必要
canna 日本語入力システム 日本語入力を使用しない場合は不要
cpufreqd CPUを管理する
crond 指定時刻にデーモンを実行するスケジューラ
cups 印刷システム 印刷する場合に必要
fam ファイルシステムを監視する
gpm コンソール用のマウスドライバ
httpd Webサーバーのサービスを提供する Webサーバーの公開するに必要
inet スーパーサーバー
iptables パケットフィルタ
keytable キーボードの設定を変更するプログラム
kudzu ハードウェアをPC起動時に検出する ハードウェアを頻繁に変更する場合に必要
murasaki USBやIEEE1394などのマウント/アンマウント USBメモリ自動マウントする場合に必要
named DNSサーバー DNSサーバーを公開する場合に必要
netfs ネットワークファイルをマウントする
network 起動時にネットワーク接続を有効にする
nfs NFSサーバー
nfslock NFSサーバーのファイルロックデーモン
nscd ネームサービスのファイル情報をキャッシュする
ntpd NTPを利用して時刻の同期をとる
pcmcia PCカードのドライバを読み込む
portmap RPC接続を管理する
postfix メール転送サーバー
proftpd FTPサーバー FTPサービスを提供する場合に必要
random 乱数発生プログラム
rawdevoces RAWデバイスのマウント
rsync リモートホスト上のファイルと同期をとる
saslauthd sasl認証
sshd SSHサーバー SSHサービスの提供に必要
syslog システムログを管理する
xfs Xフォントサーバー X を使用しない場合には不要
ypbind NISクライアント

このページのTop へ