- PR -

daemontoolでqmail-send/logが起動出来ません。

投稿者投稿内容
chikako
会議室デビュー日: 2004/06/01
投稿数: 11
投稿日時: 2004-06-26 15:38
よろしくお願い致します。

# cd /package
# mkdir -p /package
# chmod 1755 /package
# cd /package
# tar -zxvf ./daemontools-0.76.tar.gz
#mv ./daemontools-0.76.errno.patch.txt ./admin/
# cd admin
# patch -p0 <daemontools-0.76.errno.patch.txt
patching file daemontools-0.76/src/error.h
# cd daemontools-0.76
# package/install

としてRedHat9にインストールしました。


# ls -l / | grep command
drwxr-xr-x 2 root root 4096 6月 24 17:02 command/

# ls -l / | grep package
drwxr-xr-t 3 root root 4096 6月 24 16:59 package/

# ls -l /command
合計 0
lrwxrwxrwx 1 root root 41 6月 24 17:02 envdir -> /package/admin/daemontools/command/envdir*
lrwxrwxrwx 1 root root 44 6月 24 17:02 envuidgid -> /package/admin/daemontools/command/envuidgid*
lrwxrwxrwx 1 root root 41 6月 24 17:02 fghack -> /package/admin/daemontools/command/fghack*
lrwxrwxrwx 1 root root 43 6月 24 17:02 multilog -> /package/admin/daemontools/command/multilog*
lrwxrwxrwx 1 root root 43 6月 24 17:02 pgrphack -> /package/admin/daemontools/command/pgrphack*
lrwxrwxrwx 1 root root 48 6月 24 17:02 readproctitle -> /package/admin/daemontools/command/readproctitle*
lrwxrwxrwx 1 root root 42 6月 24 17:02 setlock -> /package/admin/daemontools/command/setlock*
lrwxrwxrwx 1 root root 44 6月 24 17:02 setuidgid -> /package/admin/daemontools/command/setuidgid*
lrwxrwxrwx 1 root root 44 6月 24 17:02 softlimit -> /package/admin/daemontools/command/softlimit*
lrwxrwxrwx 1 root root 44 6月 24 17:02 supervise -> /package/admin/daemontools/command/supervise*
lrwxrwxrwx 1 root root 38 6月 24 17:02 svc -> /package/admin/daemontools/command/svc*
lrwxrwxrwx 1 root root 39 6月 24 17:02 svok -> /package/admin/daemontools/command/svok*
lrwxrwxrwx 1 root root 41 6月 24 17:02 svscan -> /package/admin/daemontools/command/svscan*
lrwxrwxrwx 1 root root 45 6月 24 17:02 svscanboot -> /package/admin/daemontools/command/svscanboot*
lrwxrwxrwx 1 root root 41 6月 24 17:02 svstat -> /package/admin/daemontools/command/svstat*
lrwxrwxrwx 1 root root 41 6月 24 17:02 tai64n -> /package/admin/daemontools/command/tai64n*
lrwxrwxrwx 1 root root 46 6月 24 17:02 tai64nlocal -> /package/admin/daemontools/command/tai64nlocal*
# cat /package/admin/daemontools/command/svscanboot | grep -v ^$
#!/bin/sh
# WARNING: This file was auto-generated. Do not edit!
PATH=/command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
exec </dev/null
exec >/dev/null
exec 2>/dev/null
/command/svc -dx /var/service/* /var/service/*/log
env - PATH=$PATH svscan /var/service 2>&1 | \\
env - PATH=$PATH readproctitle service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................
# cat /etc/inittab | grep svscanboot
SV:123456:respawn:/command/svscanboot

# ls -l /var | grep service
drwxr-xr-x 2 root root 4096 6月 24 21:25 service/

# ls -l /var/service
合計 0
lrwxrwxrwx 1 root root 32 6月 24 17:20 qmail-pop3d -> /var/qmail/supervise/qmail-pop3d/
lrwxrwxrwx 1 root root 31 6月 24 17:16 qmail-send -> /var/qmail/supervise/qmail-send/
lrwxrwxrwx 1 root root 31 6月 24 17:20 qmail-smtpd -> /var/qmail/supervise/qmail-send/

# ls -l /var/qmail | grep supervise
drwxr-xr-x 5 root root 4096 6月 24 18:26 supervise/

# ls -l /var/qmail/supervise/
合計 12
drwxr-xr-t 4 root root 4096 6月 24 19:58 qmail-pop3d/
drwxr-xr-t 4 root root 4096 6月 26 14:25 qmail-send/
drwxr-xr-t 4 root root 4096 6月 26 14:09 qmail-smtpd/

# ls -l /var/qmail/supervise/*/run
-rwxr--r-- 1 root root 263 6月 24 17:34 /var/qmail/supervise/qmail-pop3d/run*
-rwxr--r-- 1 root root 181 6月 26 14:24 /var/qmail/supervise/qmail-send/run*
-rwxr--r-- 1 root root 439 6月 24 17:31 /var/qmail/supervise/qmail-smtpd/run*

# ls -l /var/qmail/supervise/*/*
-rwxr--r-- 1 root root 263 6月 24 17:34 /var/qmail/supervise/qmail-pop3d/run*
-rwxr--r-- 1 root root 181 6月 26 14:24 /var/qmail/supervise/qmail-send/run*
-rwxr--r-- 1 root root 439 6月 24 17:31 /var/qmail/supervise/qmail-smtpd/run*
/var/qmail/supervise/qmail-pop3d/log:
合計 12
drwxr-xr-x 2 root root 4096 6月 24 20:37 main/
-rwxr--r-- 1 root root 120 6月 24 17:35 run*
-rw------- 1 root root 0 6月 24 20:37 status
drwx------ 2 root root 4096 6月 26 14:28 supervise/
/var/qmail/supervise/qmail-pop3d/supervise:
合計 4
prw------- 1 root root 0 6月 26 14:28 control|
-rw------- 1 root root 0 6月 24 20:37 lock
prw------- 1 root root 0 6月 24 20:37 ok|
-rw-r--r-- 1 root root 18 6月 26 14:28 status
/var/qmail/supervise/qmail-send/log:
合計 20
drwx------ 2 qmails qmail 4096 6月 24 17:33 main/
-rwxr--r-- 1 qmails qmail 147 6月 26 14:27 run*
-rw-r--r-- 1 root root 146 6月 24 17:34 run.org
-rw------- 1 qmails qmail 1001 6月 26 13:55 status
drwx------ 2 qmails qmail 4096 6月 26 14:49 supervise/
/var/qmail/supervise/qmail-send/supervise:
合計 4
prw------- 1 root root 0 6月 26 14:28 control|
-rw------- 1 root root 0 6月 24 20:37 lock
prw------- 1 root root 0 6月 24 20:37 ok|
-rw-r--r-- 1 root root 18 6月 26 14:29 status
/var/qmail/supervise/qmail-smtpd/log:
合計 16
drwx------ 2 qmaill root 4096 6月 24 20:50 main/
-rwxr--r-- 1 root root 363 6月 7 22:28 run*
-rw------- 1 qmaill root 0 6月 24 20:49 status
drwx------ 2 root root 4096 6月 24 20:01 supervise/
drwx------ 2 qmaill root 4096 6月 24 20:12 tcp/
/var/qmail/supervise/qmail-smtpd/supervise:
合計 0

# ls -l /var/qmail/supervise/*/*/*
-rwxr--r-- 1 root root 120 6月 24 17:35 /var/qmail/supervise/qmail-pop3d/log/run*
-rw------- 1 root root 0 6月 24 20:37 /var/qmail/supervise/qmail-pop3d/log/status
prw------- 1 root root 0 6月 26 14:28 /var/qmail/supervise/qmail-pop3d/supervise/control|
-rw------- 1 root root 0 6月 24 20:37 /var/qmail/supervise/qmail-pop3d/supervise/lock
prw------- 1 root root 0 6月 24 20:37 /var/qmail/supervise/qmail-pop3d/supervise/ok|
-rw-r--r-- 1 root root 18 6月 26 14:28 /var/qmail/supervise/qmail-pop3d/supervise/status
-rwxr--r-- 1 qmails qmail 147 6月 26 14:27 /var/qmail/supervise/qmail-send/log/run*
-rw-r--r-- 1 root root 146 6月 24 17:34 /var/qmail/supervise/qmail-send/log/run.org
-rw------- 1 qmails qmail 1001 6月 26 13:55 /var/qmail/supervise/qmail-send/log/status
prw------- 1 root root 0 6月 26 14:28 /var/qmail/supervise/qmail-send/supervise/control|
-rw------- 1 root root 0 6月 24 20:37 /var/qmail/supervise/qmail-send/supervise/lock
prw------- 1 root root 0 6月 24 20:37 /var/qmail/supervise/qmail-send/supervise/ok|
-rw-r--r-- 1 root root 18 6月 26 14:29 /var/qmail/supervise/qmail-send/supervise/status
-rwxr--r-- 1 root root 363 6月 7 22:28 /var/qmail/supervise/qmail-smtpd/log/run*
-rw------- 1 qmaill root 0 6月 24 20:49 /var/qmail/supervise/qmail-smtpd/log/status

/var/qmail/supervise/qmail-pop3d/log/main:
合計 4
-rw-r--r-- 1 root root 480 6月 26 14:28 current
-rw------- 1 root root 0 6月 24 20:37 lock
-rw-r--r-- 1 root root 0 6月 24 20:37 state

/var/qmail/supervise/qmail-pop3d/log/supervise:
合計 4
prw------- 1 root root 0 6月 26 14:28 control|
-rw------- 1 root root 0 6月 24 20:37 lock
prw------- 1 root root 0 6月 24 20:37 ok|
-rw-r--r-- 1 root root 18 6月 26 14:28 status

/var/qmail/supervise/qmail-send/log/main:
合計 84
-rwxr--r-- 1 qmaill nofiles 78461 6月 26 14:28 current*
-rw------- 1 qmaill nofiles 0 6月 24 17:33 lock
-rw-r--r-- 1 qmaill nofiles 0 6月 24 17:33 state

/var/qmail/supervise/qmail-send/log/supervise:
合計 4
prw------- 1 root root 0 6月 26 14:28 control|
-rw------- 1 root root 0 6月 24 17:12 lock
prw------- 1 root root 0 6月 24 17:12 ok|
-rw-r--r-- 1 root root 18 6月 26 14:50 status

/var/qmail/supervise/qmail-smtpd/log/main:
合計 0
-rw-r--r-- 1 qmaill root 0 6月 24 20:50 state

/var/qmail/supervise/qmail-smtpd/log/supervise:
合計 0

/var/qmail/supervise/qmail-smtpd/log/tcp:
合計 0

# cat /var/qmail/supervise/qmail-send/run
#!/bin/sh
#
# qmail: /var/qmail
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin

# Start daemons.
echo "Starting qmail(-send)."
exec qmail-start ./Maildir/

# cat /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin

echo 'qmail-smtpd starting.'
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
QMAILDUID=`/usr/bin/id -u qmaild`
QMAILDGID=`/usr/bin/id -g qmaild`
exec /usr/local/bin/tcpserver -x /etc/tcpserver/smtpd_rules.cdb -v -u $QMAILDUID -g $QMAILDGID \\
0 smtp /usr/local/bin/recordio /var/qmail/bin/qmail-smtpd 2>&1

# cat /var/qmail/supervise/qmail-pop3d/run
#!/bin/sh
HOSTNAME=rh9.dyndns.net
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
echo 'qmail-pop3d starting.'
exec /usr/local/bin/tcpserver -x /etc/tcpserver/pop3d_rules.cdb 0 \\
pop-3 /var/qmail/bin/qmail-popup $HOSTNAME /bin/checkpassword \\
/var/qmail/bin/qmail-pop3d Maildir 2>&1

# cat /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec env - PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin:/command" \\
setuidgid qmails multilog t ./main '-*' '+* status: *' =status

# cat /var/qmail/supervise/qmail-smtpd/log/run
#!/bin/sh
exec \\
setuidgid qmaill \\
multilog t \\
-'* * > *' \\
-'* * < *' \\
s200000 \\
./main \\
-'*' \\
+'* * < HELO *' \\
+'* * < EHLO *' \\
+'* * < MAIL *' \\
+'* * < RCPT *' \\
+'* * < DATA*' \\
+'* * < QUIT*' \\
+'* * < RSET*' \\
+'* * < NOOP*' \\
+'* * > 1*' \\
+'* * > 2*' \\
+'* * > 3*' \\
+'* * > 4*' \\
+'* * > 5*' \\
s200000 \\
./tcp \\
-'*' \\
+'* * status: *' \\
=status

# cat /var/qmail/supervise/qmail-pop3d/log/run
#!/bin/sh
exec env - PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" \\
multilog t ./main '-*' '+* status: *' =status


となっています。

# svc -dx /var/qmail/supervise/* /var/qmail/supervise/*/log
svc: warning: unable to control /var/qmail/supervise/qmail-smtpd: file does not exist
svc: warning: unable to control /var/qmail/supervise/qmail-smtpd/log: file does not exist

# svstat /var/service/* /var/service/*/log
/var/service/qmail-pop3d: up (pid 31939) 2976 seconds
/var/service/qmail-send: up (pid 32197) 2925 seconds
/var/service/qmail-smtpd: up (pid 32197) 2925 seconds
/var/service/qmail-pop3d/log: up (pid 31943) 2976 seconds
/var/service/qmail-send/log: up (pid 8334) 0 seconds
/var/service/qmail-smtpd/log: up (pid 8334) 0 seconds

という風に
/var/service/qmail-send/log
/var/service/qmail-smtpd/log
が起動出来ません。
多分、パーミッションが問題だと思うのですが
どこかおかしいでしょうか???
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2004-06-26 20:52
引用:

chikakoさんの書き込み (2004-06-26 15:38) より:
# ls -l /var/service
合計 0
lrwxrwxrwx 1 root root 32 6月 24 17:20 qmail-pop3d -> /var/qmail/supervise/qmail-pop3d/
lrwxrwxrwx 1 root root 31 6月 24 17:16 qmail-send -> /var/qmail/supervise/qmail-send/
lrwxrwxrwx 1 root root 31 6月 24 17:20 qmail-smtpd -> /var/qmail/supervise/qmail-send/



リンク先が重複しているのを直しましょう。
chikako
会議室デビュー日: 2004/06/01
投稿数: 11
投稿日時: 2004-06-27 01:02
有難うございます。

> リンク先が重複しているのを直しましょう。
お恥ずかしい限りです。気づきませんでした。

ここを直して

# svstat /var/service/* /var/service/*/log
/var/service/qmail-pop3d: up (pid 16967) 4293 seconds
/var/service/qmail-send: up (pid 32197) 37300 seconds, want down
/var/service/qmail-smtpd: up (pid 16971) 4293 seconds
/var/service/qmail-pop3d/log: up (pid 16969) 4293 seconds
/var/service/qmail-send/log: up (pid 27835) 0 seconds
/var/service/qmail-smtpd/log: up (pid 16974) 4293 seconds

となりました。でもqmail-send/logは上手く行きません。

/var/log/messagesには
Jun 27 00:47:09 rh9 6月 27 00:47:09 svscan: multilog: fatal: unable to lock directory ./main: access denied
Jun 27 00:47:10 rh9 6月 27 00:47:10 svscan: multilog: fatal: unable to lock directory ./main: access denied
Jun 27 00:47:11 rh9 6月 27 00:47:11 svscan: multilog: fatal: unable to lock directory ./main: access denied

となってしまいます。
下記のようになっていて何度も確認してパーミッション等は間違いないと思うのですが、、、

# ls -l /var/qmail/supervise/qmail-send/log
合計 20
drwxrwxrwx 2 qmails qmail 4096 6月 24 17:33 main/
-rwxr--r-- 1 qmails qmail 147 6月 26 14:27 run*
-rw-r--r-- 1 root root 146 6月 24 17:34 run.org
-rw------- 1 qmails qmail 1001 6月 26 13:55 status
drwx------ 2 qmails qmail 4096 6月 27 00:54 supervise/

# ls -l /var/qmail/supervise/qmail-send/log/main
合計 84
-rw-r--r-- 1 qmaill nofiles 78461 6月 26 14:28 current
-rw------- 1 qmaill nofiles 0 6月 24 17:33 lock
-rw-r--r-- 1 qmaill nofiles 0 6月 24 17:33 state

# ls -l /var/qmail/supervise/qmail-send/log/supervise
合計 4
prw------- 1 root root 0 6月 26 23:39 control|
-rw------- 1 root root 0 6月 24 17:12 lock
prw------- 1 root root 0 6月 24 17:12 ok|
-rw-r--r-- 1 root root 18 6月 27 00:54 status

# cat /var/qmail/supervise/qmail-send/run
#!/bin/sh
#
# qmail: /var/qmail
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
# Start daemons.
echo "Starting qmail(-send)."
exec qmail-start ./Maildir/

# cat /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec env - PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin:/command" \
setuidgid qmails multilog t ./main '-*' '+* status: *' =status
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2004-06-27 11:17
リンクの重複の際、
/var/qmail/supervise/qmail-send/log/main/*を作成したのは
qmail-smtpd の方だったのでこのファイルのオーナーは
qmaillユーザになっているようです。

しかし、シンボリックリンク修正後のqmail-sendの方では
qmailsユーザにて上記ファイルを作成しようとしているので
上書きは出来ないということか、mainのオーナー的にダメか。

qmailのソースを展開した際にconf-usersファイルがあります。
中を見てもらえば分かりますがlog用のユーザはqmaillです。
(@ITさんのdaemontoolsの記事を参考にしてもらおうと思ったらqmails使ってるし)

chikakoさんのログ作成ユーザはバラバラで
qmail-send → qmails
qmail-smtpd → qmaill
qmail-pop3d → root となっています。

qmailではわざわざ役割毎にユーザを作成しているのでqmaillを使うのが良いと思います。
ログ採取のrunファイル内でsetuidgid qmaillを使うってことです。
(qmail-pop3dもrootはちょっと...)

それに伴って見直すのはログをはく先のディレクトリのオーナーです。
ログディレクトリ(/var/qmail/supoervise/*/log)のオーナーは、
その直下にファイルを作るように設定しているなら
(例えばlog/status とか)qmaill:nofilesでmain下にすべて落とし込むなら
root:rootでもかまいません。もちろんmainやtcpはqmaill:nofilesです。

/var/qmail/supervise/qmail-send/log/main のmode 777 は、せめて755に。
てことは上書きできなかったのかな?
また、runファイルはオーナーroot:rootで。
この辺りはあくまで私見ですので正解ではありません。参考として下さい。

また、オーナーやパーミションの修正の際は動作していたプログラムが生成したもの
(main/* やsupervise丸ごととか log/statusとか)はすべて削除(もしくは退避)して下さい。
つまりは、自分最初にシンボリックリンクを張って起動した前の状態にした上で作業をすると
二次トラブルが減りますよ。(特定のファイルだけが作成されない。全部ダメなど)

あと蛇足ですがtcpserverのオプションについてもう少し調べてみてはいかかですか?
(-Hとか-Rとか-lあたり)よくIDENTやら逆引きやらでハマル方がいますので。
ここの過去スレッドにもあったと思います。

理解されているのでしたらこれは無視して下さい。

では乱文失礼しました。
chikako
会議室デビュー日: 2004/06/01
投稿数: 11
投稿日時: 2004-06-27 14:38
有難うございます。

> qmailのソースを展開した際にconf-usersファイルがあります。
> 中を見てもらえば分かりますがlog用のユーザはqmaillです。
# cat /home/user01/mypackage/qmail-1.03/conf-users
alias
qmaild
qmaill
root
qmailp
qmailq
qmailr
qmails

となっていました。


> chikakoさんのログ作成ユーザはバラバラで
> qmail-send → qmails
> qmail-smtpd → qmaill
> qmail-pop3d → root となっています。
ん?
# ls -l /var/qmail/supervise/
合計 12
drwxr-xr-t 4 root root 4096 6月 24 19:58 qmail-pop3d/
drwxr-xr-t 4 root root 4096 6月 26 14:25 qmail-send/
drwxr-xr-t 4 root root 4096 6月 26 14:09 qmail-smtpd/
となっていますが。

> qmailではわざわざ役割毎にユーザを作成しているのでqmaillを使うのが良いと思い
> ます。
> ログ採取のrunファイル内でsetuidgid qmaillを使うってことです。
# cat /var/qmail/supervise/qmail-smtpd/log/run | grep setuidgid
setuidgid qmaill \
# cat /var/qmail/supervise/qmail-send/log/run | grep setuidgid
setuidgid qmails multilog t ./main '-*' '+* status: *' =status

と今現在なっていますから

# cat /var/qmail/supervise/qmail-send/log/run | grep setuidgid
setuidgid qmaill multilog t ./main '-*' '+* status: *' =status

に書き換えよという事ですかね。試しに

# cat /var/qmail/supervise/qmail-send/log/run | grep setuidgid
setuidgid qmaill multilog t ./main '-*' '+* status: *' =status

# ls -l /var/qmail/supervise/qmail-send/log/:
drwxrwxrwx 2 qmaill nofiles 4096 6月 24 17:33 main/
-rwxr--r-- 1 root root 147 6月 27 13:47 run*
-rw-r--r-- 1 root root 146 6月 24 17:34 run.org
-rw------- 1 root root 1001 6月 26 13:55 status
drwx------ 2 root root 4096 6月 27 13:59 supervise/

にしても相変わらずqmail-send/logだけ起動出来ずにいます。

> (qmail-pop3dもrootはちょっと...)
早速、qmaill.nofilesにしました。

> それに伴って見直すのはログをはく先のディレクトリのオーナーです。
> ログディレクトリ(/var/qmail/supoervise/*/log)のオーナーは、
> その直下にファイルを作るように設定しているなら
> (例えばlog/status とか)qmaill:nofilesでmain下にすべて落とし込むなら
> root:rootでもかまいません。
セキュリティの為にroot.rootではなく、qmaill:nofilesの方がいいんですよね。

# ls -l /var/qmail/supervise/*/log/
/var/qmail/supervise/qmail-pop3d/log/:
合計 12
drwxr-xr-x 2 qmaill nofiles 4096 6月 24 20:37 main/
-rwxr--r-- 1 root root 120 6月 24 17:35 run*
-rw------- 1 root root 0 6月 24 20:37 status
drwx------ 2 root root 4096 6月 27 13:52 supervise/
/var/qmail/supervise/qmail-send/log/:
合計 20
drwxrwxrwx 2 qmails qmail 4096 6月 24 17:33 main/
-rwxr--r-- 1 root root 147 6月 27 13:47 run*
-rw-r--r-- 1 root root 146 6月 24 17:34 run.org
-rw------- 1 root root 1001 6月 26 13:55 status
drwx------ 2 root root 4096 6月 27 13:59 supervise/
/var/qmail/supervise/qmail-smtpd/log/:
合計 20
drwxrwxrwx 2 qmaill nofiles 4096 6月 26 23:30 main/
-rwxr--r-- 1 root root 363 6月 7 22:28 run*
-rw------- 1 qmaill root 1001 6月 27 13:52 status
drwx------ 2 root root 4096 6月 27 13:52 supervise/
drwx------ 2 qmaill root 4096 6月 26 23:30 tcp/

でいいんですよね。

> もちろんmainやtcpはqmaill:nofilesです。
上記でいいんですよ。

> /var/qmail/supervise/qmail-send/log/main のmode 777 は、せめて755に。
エラー「./main: access denied 」が出てたので777にしちゃいました。
755に戻しました。

> てことは上書きできなかったのかな?
777にした状態でも「./main: access denied 」になりました。

> また、runファイルはオーナーroot:rootで。
> この辺りはあくまで私見ですので正解ではありません。参考として下さい。
全てのrunファイルはroot.rootにしてあります。

> また、オーナーやパーミションの修正の際は動作していたプログラムが生成したもの
> (main/* やsupervise丸ごととか log/statusとか)はすべて削除(もしくは退避)して
> 下さい。
> つまりは、自分最初にシンボリックリンクを張って起動した前の状態にした上で作業
> をすると
> 二次トラブルが減りますよ。(特定のファイルだけが作成されない。全部ダメなど)
了解致しました。


とりあえず、今は下記のようになっていますが相変わらず
qmail-send/logだけ起動出来ずにいます。

# ls -l /var/qmail/supervise/*/
/var/qmail/supervise/qmail-pop3d/:
合計 12
drwxr-xr-x 4 qmaill nofiles 4096 6月 24 20:37 log/
-rwxr--r-- 1 root root 286 6月 26 15:08 run*
drwx------ 2 root root 4096 6月 27 13:52 supervise/
/var/qmail/supervise/qmail-send/:
合計 12
drwxr-xr-x 4 qmaill nofiles 4096 6月 27 13:48 log/
-rwxr--r-- 1 root root 181 6月 26 14:24 run*
drwx------ 2 root root 4096 6月 27 13:52 supervise/
/var/qmail/supervise/qmail-smtpd/:
合計 12
drwxr-xr-x 5 qmaill nofiles 4096 6月 24 20:42 log/
-rwxr--r-- 1 root root 439 6月 24 17:31 run*
drwx------ 2 root root 4096 6月 27 13:52 supervise/

# ls -l /var/qmail/supervise/*/log
/var/qmail/supervise/qmail-pop3d/log:
合計 12
drwxr-xr-x 2 qmaill nofiles 4096 6月 24 20:37 main/
-rwxr--r-- 1 root root 120 6月 24 17:35 run*
-rw------- 1 root root 0 6月 24 20:37 status
drwx------ 2 root root 4096 6月 27 13:52 supervise/
/var/qmail/supervise/qmail-send/log:
合計 20
drwxr-xr-x 2 qmails qmail 4096 6月 24 17:33 main/
-rwxr--r-- 1 root root 147 6月 27 13:47 run*
-rw-r--r-- 1 root root 146 6月 24 17:34 run.org
-rw------- 1 root root 1001 6月 26 13:55 status
drwx------ 2 root root 4096 6月 27 14:25 supervise/
/var/qmail/supervise/qmail-smtpd/log:
合計 20
drwxr-xr-x 2 qmaill nofiles 4096 6月 26 23:30 main/
-rwxr--r-- 1 root root 363 6月 7 22:28 run*
-rw------- 1 qmaill root 1001 6月 27 13:52 status
drwx------ 2 root root 4096 6月 27 13:52 supervise/
drwx------ 2 qmaill root 4096 6月 26 23:30 tcp/

# cat /var/qmail/supervise/qmail-smtpd/log/run | grep setuidgid
setuidgid qmaill \

# cat /var/qmail/supervise/qmail-send/log/run | grep setuidgid
setuidgid qmails multilog t ./main '-*' '+* status: *' =status
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2004-06-27 20:49
引用:

ん?
# ls -l /var/qmail/supervise/
合計 12
drwxr-xr-t 4 root root 4096 6月 24 19:58 qmail-pop3d/
drwxr-xr-t 4 root root 4096 6月 26 14:25 qmail-send/
drwxr-xr-t 4 root root 4096 6月 26 14:09 qmail-smtpd/
となっていますが。



ディレクトリのオーナーのことではありません。
multilogを呼び出す時のsetuidgidした先のユーザのことです。

引用:

# ls -l /var/qmail/supervise/qmail-send/log/:
drwxrwxrwx 2 qmaill nofiles 4096 6月 24 17:33 main/
-rwxr--r-- 1 root root 147 6月 27 13:47 run*
-rw-r--r-- 1 root root 146 6月 24 17:34 run.org
-rw------- 1 root root 1001 6月 26 13:55 status
drwx------ 2 root root 4096 6月 27 13:59 supervise/
にしても相変わらずqmail-send/logだけ起動出来ずにいます。


この時main内のファイルのオーナーはどうなっていましたか?
それとも作成されていませんでしたか?

引用:

全てのrunファイルはroot.rootにしてあります。


/var/qmail/supervise/qmail-send/log:
合計 20
drwx------ 2 qmails qmail 4096 6月 24 17:33 main/
-rwxr--r-- 1 qmails qmail 147 6月 26 14:27 run*
-rw-r--r-- 1 root root 146 6月 24 17:34 run.org
-rw------- 1 qmails qmail 1001 6月 26 13:55 status
drwx------ 2 qmails qmail 4096 6月 26 14:49 supervise/

とあったので書いたまでです。

引用:

とりあえず、今は下記のようになっていますが相変わらず
qmail-send/logだけ起動出来ずにいます。

# ls -l /var/qmail/supervise/*/
/var/qmail/supervise/qmail-send/:
drwxr-xr-x 4 qmaill nofiles 4096 6月 27 13:48 log/

# ls -l /var/qmail/supervise/*/log
/var/qmail/supervise/qmail-send/log:
drwxr-xr-x 2 qmails qmail 4096 6月 24 17:33 main/



logディレクトリとmainディレクトリのオーナーがバラバラですが
/var/qmail/supervise/qmail-send/log/runの内容(setuidgid先)に合わせてるべきでは?
chikako
会議室デビュー日: 2004/06/01
投稿数: 11
投稿日時: 2004-06-28 01:07
お手数お掛けしています。m(_ _)m

>> となっていますが。
> ディレクトリのオーナーのことではありません。
> multilogを呼び出す時のsetuidgidした先のユーザのことです。
# head /var/qmail/supervise/*/log/run
==> ../qmail-pop3d/log/run <==
#!/bin/sh
exec env - PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" \
multilog t ./main '-*' '+* status: *' =status
==> ../qmail-send/log/run <==
#!/bin/sh
exec env - PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin:/command" \
setuidgid qmails multilog t ./main '-*' '+* status: *' =status
==> ../qmail-smtpd/log/run <==
#!/bin/sh
exec \
setuidgid qmaill \
multilog t \
-'* * > *' \
-'* * < *' \
s200000 \
./main \
-'*' \
+'* * < HELO *' \

でしたね。


>># ls -l /var/qmail/supervise/qmail-send/log/:
>> drwxrwxrwx 2 qmaill nofiles 4096 6月 24 17:33 main/
>> -rwxr--r-- 1 root root 147 6月 27 13:47 run*
>> -rw-r--r-- 1 root root 146 6月 24 17:34 run.org
>> -rw------- 1 root root 1001 6月 26 13:55 status
>> drwx------ 2 root root 4096 6月 27 13:59 supervise/
>> にしても相変わらずqmail-send/logだけ起動出来ずにいます。
> この時main内のファイルのオーナーはどうなっていましたか?
# ls -l /var/qmail/supervise/qmail-send/log/main
合計 84
-rw-r--r-- 1 qmails qmail 78461 6月 26 14:28 current
-rw------- 1 qmails qmail 0 6月 24 17:33 lock
-rw-r--r-- 1 qmails qmail 0 6月 24 17:33 state

となっています。

> それとも作成されていませんでしたか?
lock、stateは私自身で作成したと記憶しています。
# touch /var/qmail/supervise/qmail-send/log/main/lock
# touch /var/qmail/supervise/qmail-send/log/main/state
# chown qmails.qmail /var/qmail/supervise/qmail-send/log/main/lock
# chown qmails.qmail /var/qmail/supervise/qmail-send/log/main/state
# chmod 600 /var/qmail/supervise/qmail-send/log/main/lock
# chmod 644 /var/qmail/supervise/qmail-send/log/main/state

currentは自動生成されたようです。

>> とりあえず、今は下記のようになっていますが相変わらず
>> qmail-send/logだけ起動出来ずにいます。
>>
>> # ls -l /var/qmail/supervise/*/
>> /var/qmail/supervise/qmail-send/:
>> drwxr-xr-x 4 qmaill nofiles 4096 6月 27 13:48 log/
>>
>> # ls -l /var/qmail/supervise/*/log
>> /var/qmail/supervise/qmail-send/log:
>> drwxr-xr-x 2 qmails qmail 4096 6月 24 17:33 main/
> logディレクトリとmainディレクトリのオーナーがバラバラですが
> /var/qmail/supervise/qmail-send/log/runの内容(setuidgid先)に合わせてるべきで
> は?
了解致しました。
# ls -l /var/qmail/supervise/
合計 12
drwxr-xr-t 4 root root 4096 6月 26 15:09 qmail-pop3d/
drwxr-xr-t 4 root root 4096 6月 26 23:38 qmail-send/
drwxr-xr-t 4 root root 4096 6月 26 14:09 qmail-smtpd/

# ls -l /var/qmail/supervise/qmail-send/
合計 12
drwxr-xr-x 4 qmails qmail 4096 6月 27 13:48 log/
-rwxr--r-- 1 root root 181 6月 26 14:24 run*
drwx------ 2 root root 4096 6月 28 00:52 supervise/

# ls -l /var/qmail/supervise/qmail-send/log/
合計 20
drwxr-xr-x 2 qmails qmail 4096 6月 28 00:41 main/
-rwxr--r-- 1 root root 147 6月 27 13:47 run*
-rw-r--r-- 1 qmails qmail 146 6月 24 17:34 run.org
-rw------- 1 qmails qmail 1001 6月 26 13:55 status
drwx------ 2 root root 4096 6月 28 00:47 supervise/

# ls -l /var/qmail/supervise/qmail-send/log/main
合計 176
-rw-r--r-- 1 qmails qmail 78461 6月 26 14:28 @4000000040deeaaa17429124.u
-rw-r--r-- 1 qmails qmail 89460 6月 28 00:53 current
-rw------- 1 qmails qmail 0 6月 24 17:33 lock
-rw-r--r-- 1 qmails qmail 0 6月 28 00:41 state

# ls -l /var/qmail/supervise/qmail-send/log/supervise
合計 4
prw------- 1 root root 0 6月 28 00:46 control|
-rw------- 1 root root 0 6月 24 17:12 lock
prw------- 1 root root 0 6月 24 17:12 ok|
-rw-r--r-- 1 root root 18 6月 28 00:47 status

という風にしました。
/var/qmail/supervise/qmail-send/log/main/@4000000040deeaaa17429124.u
が生成されて、
qmail-send/logは起動されました。\(^o^)/

でもでも今度は
qmail-sendが起動されなくなってしまいました。

# svstat /var/service/* /var/service/*/log
/var/service/qmail-pop3d: up (pid 8475) 4 seconds
/var/service/qmail-send: up (pid 8501) 0 seconds
/var/service/qmail-smtpd: up (pid 8479) 3 seconds
/var/service/qmail-pop3d/log: up (pid 8477) 3 seconds
/var/service/qmail-send/log: up (pid 8487) 3 seconds
/var/service/qmail-smtpd/log: up (pid 8481) 3 seconds

うーん、原因は何なのでしょうか?
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2004-06-28 10:33
ログにはなにか出力されていませんか?

また、
# ps -ax | grep qmail の結果はどうなっていますか?

qmail-send, qmail-lspawn, qmail-rspawn, qmail-clean はサービスしていますか?

svstatは、/var/qmail/supervise/qmail-send/superviseの情報を
参照するはずだったと思うのでその辺りおかしなところはありませんか?

もし不審な点があるなら

# cd /var/service/qmail-send
# rm -f /var/service/qmail-send
# svc -dx . log
# rm -rf supervise
# ln -s /var/qmail/supervise/qmail-send /var/service

とやってみてもいいかもしれません。

スキルアップ/キャリアアップ(JOB@IT)