Re: procmail
In article <YAS.04May8204443@kirk.is.tsukuba.ac.jp>,
yas@is.tsukuba.ac.jp writes:
> /var/spool/mail/$USER という0バイトのファイルを、ユーザ登録
> の時の全部作って置いておけばいいんじゃないですか。書込ませた
> くないなら、、/var/spool/mail/ の quota を 0 にしておくとか。
そうかquotaという手があったか。しかし問題もあって、
1) ユーザ登録の際にquotaのエントリと/var/spool/mail/$USERも作らねばな
らない。実は当該システムのユーザ登録は現在でも十分に面倒臭い(Windowsと共
用したりいろいろやっているため)ので、さらに複雑にするのははばかられる
2) /var/spool/mail/を独立パーティションへ引っ越さなければならない。ま
あ、こちらは、運用上何とかなりそう
といったところです。まあ、解決手段の候補には挙げてみます。
> /var/spool/mail/ というのが問題なら、各ユーザのホーム・ディ
> レクトリに飛ばす方法もあります。
>
> ln -s /home/$USER/mailbox /var/spool/mail/$USER
実は既に ln -s /dev/null /var/spool/mail/$USER なんかも試してみたんです
が、これをするとprocmailは、/var/spool/mail/$USERのモードがおかしいと判
断して修正を試み、/var/spool/mailに書き込めないために元記事と同じ問題を
引き起こしてしまうんです。この動作は設定レベルでは外せないみたい。
mknod /var/spool/mail/$USER c 1 3; chown $USER mail /var/spool/mail/$USER
というのも、解決法の候補として現在考えています。これは、procmailには文句
を言われません。
> procmail を Set-UID root にするのは、変です。.forward の時点
> でそのユーザの UID になっているわけですよね。それをまた root
> に戻すなんて。
いえ、ユーザの.procmailrcを見て動作する頃には特権を落として動作すれば
いいだけですよね。procmailはそうなっていると思います。procmailのドキュメ
ントには、mode 6755を推奨と書いてあります。今回はそうしたくないわけですが。
> 元の話とは関係ないですが、/var/spool/mail/ は、0 バイトのファ
> イルを作って、tmp みたに t ビットを立てておくのが安全です。
> 0 バイトのファイルを作っておかないと、誰かに先に作れたら、攻
> 撃された方のユーザはメールが受け取れなくなります。
それは、/var/spool/mailに誰でも書き込みできればの話ですよね。手元のシ
ステムの/var/spool/mailはroot:mail、0775です。普通はそんな感じだと思って
いるんですが。
nide@ics.nara-wu.ac.jp
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735