UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

qmail-smtpdをdaemontoolsに登録する

qmail-smtpdをdaemontoolsに登録する


0.改訂履歴

  • 2006.08.13 新規作成
  • 2006.10.04 multilogの保存期間について追記

1.はじめに

 このドキュメントでは,qmail-smtpdをdaemontoolsのsvscan配下に設置して稼働管理を行うまでの手順を説明する. この作業を行うには,qmail,tcpserverががインストールされている必要がある.

 なお,使用しているOSは,RedHat Linux ES3.0である.

2.設定

  • サービスディレクトリのリンク元になるディレクトリを確認する.
[root@neptune root]# cd /var/qmail/supervise/
[root@neptune supervise]# ls
qmail
[root@neptune supervise]#
  • smtpd用のサブディレクトリを作成する.
[root@neptune supervise]# mkdir -p smtpd/log/main
[root@neptune supervise]# chmod +t smtpd
[root@neptune supervise]#
  • 作成したログディレクトリのオーナーを変更する.
[root@neptune supervise]# cd smtpd
[root@neptune smtpd]# chown -R qmails:qmail log
[root@neptune smtpd]# cd ..
[root@neptune supervise]#  
コピペ用
cd /var/qmail/supervise/
mkdir -p smtpd/log/main
chmod +t smtpd
cd smtpd
chown -R qmails:qmail log
cd ..
  • smtpdの起動スクリプトを作成する.
[root@neptune supervise]# cat smtpd/run
#!/bin/sh
exec env -  PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" ¥  
  /usr/local/bin/tcpserver -v -x ¥
  /etc/tcpserver/smtpd_rules.cdb -R -H -lo -u 712 -g 710 0 smtp ¥
  /var/qmail/bin/qmail-smtpd 2>&1  
[root@neptune supervise]# 
  • 今回稼働させるサーバでは,qmaildユーザのUIDが710,nofilesグループのGIDが710なので,サーバによってそれぞれ合わせて変更する.
  • 次に,ログ用のシェルを作成したモノを確認する.
[root@neptune supervise]# cat smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmails /usr/local/bin/multilog t s1000000 n200 /var/ser
vice/smtpd/log/main
[root@neptune supervise]# 
  • multilogでは,sオプションではログの最大バイトサイズ,nオプションは保存世代数を記録している.
  • プロセスが稼働しているか確認する.
  • 作成したシェルに実効権限を設定する.
[root@neptune supervise]# chmod ogu+x /var/qmail/supervise/smtpd/run 
[root@neptune supervise]# chmod ogu+x /var/qmail/supervise/smtpd/log/run 
[root@neptune supervise]#
コピペ用
chmod ogu+x /var/qmail/supervise/smtpd/run
chmod ogu+x /var/qmail/supervise/smtpd/log/run
  • 既にqmail-smtpdのプロセスが稼働していたら,killする.
[root@neptune supervise]# ps -ef | grep smtp
root     30376 30157  0 18:59 pts/2    00:00:00 grep smtp
[root@neptune supervise]# 
  • サービスディレクトリに移動する.
[root@neptune supervise]# cd /var/service/
[root@neptune service]#
  • svscanにsmtpdを起動させるために,シンボリックリンクを作成する.
[root@uranos3 service]# ls -la
total 8
drwxr-xr-x    2 root     root         4096 Aug 13 17:18 .
drwxr-xr-x   26 root     root         4096 Mar  3 16:59 ..
lrwxrwxrwx    1 root     root           26 Aug 13 17:18 pop3d -> /var/qmail/supervise/pop3d
lrwxrwxrwx    1 root     root           26 Mar  3 17:12 qmail -> /var/qmail/supervise/qmail
[root@uranos3 service]# ln -s /var/qmail/supervise/smtpd /var/service/smtpd
[root@uranos3 service]# ls -la
total 8
drwxr-xr-x    2 root     root         4096 Aug 13 17:27 .
drwxr-xr-x   26 root     root         4096 Mar  3 16:59 ..
lrwxrwxrwx    1 root     root           26 Aug 13 17:18 pop3d -> /var/qmail/supervise/pop3d
lrwxrwxrwx    1 root     root           26 Mar  3 17:12 qmail -> /var/qmail/supervise/qmail
lrwxrwxrwx    1 root     root           26 Aug 13 17:27 smtpd -> /var/qmail/supervise/smtpd
[root@uranos3 service]# 
  • 5秒以上待って,ステータスを確認する.
[root@neptune service]# /usr/local/bin/svstat /var/service/smtpd /var/service/smtpd/log
/var/service/smtpd: up (pid 9743) 104 seconds
[root@neptune service]#  
  • daemontoolsによって起動されていることが確認できた.
  • いつ見ても秒数が少ない場合は,起動&異常終了を繰り返していると思われるので,起動スクリプトやディレクトリアクセス権限などを確認する.


広告スペース
Google