SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

421 fopen(‘users/assign’) failed (#5.7.10) Permission denied

状況

Pleskで管理しているメールサーバーにて発生。

SMTPサーバー、POPサーバーは起動している。外部から接続もできる。メールの送受信にだけ問題が発生している。

外部からメールを送信してもメールが届かない。ログには「Jun 23 00:02:17 relaylock: /var/qmail/bin/relaylock: mail from xxx.xxx.xxx.xxx:12345 (mail.example.jp)」が残っている。外からのメールをすべて受け付けていないようだ。

外部からSMTP接続して、同じドメインにメールを送ろうとすると、エラー「421 fopen('users/assign') failed (#5.7.10) Permission denied」が出て送信できない。

外部へ送信はできる。

内部から内部へは送信できて、メールボックスに配送され、外からPOPで取り出せた。

対応方法

次の各ファイルのパーミッションを確認する。次の2ファイルに setuid 属性、suidビットが設定されていない場合、それが原因。

<正しい状態>

~# ls -l /var/qmail/bin/smtp_auth
-r-sr-xr-x 1 root root 15172 Jun  8 12:48 /var/qmail/bin/smtp_auth
~# ls -l /var/qmail/plugins/chkrcptto
-r-sr-xr-x 1 root root 15788 Jun  8 12:48 /var/qmail/plugins/chkrcptto

<ダメな状態>

~# ls -l /var/qmail/bin/smtp_auth
-r-xr-xr-x 1 root root 15172 Jun  8 12:48 /var/qmail/bin/smtp_auth
~# ls -l /var/qmail/plugins/chkrcptto
-r-xr-xr-x 1 root root 15788 Jun  8 12:48 /var/qmail/plugins/chkrcptto

<修正するコマンド>
setuid属性をセットすると解決する。

~# chmod u+s /var/qmail/bin/smtp_auth
~# chmod u+s /var/qmail/plugins/chkrcptto

なお、users/assign のパーミッションはこれで正しい。

~# ls -ld /var/qmail/users/assign
-rw------- 1 root root 738 Sep 24 16:53 /var/qmail/users/assign

結局なんだったのか

Plesk製造元Parallelsのサポートサイトに情報があった。

http://kb.parallels.com/en/5619

詳細はやはり不明。「PleskのUpgradeのときに発生するかも」という程度のことしかわからなかった。

関連するメモ

コメント