>>2570 q19_77 > standard in must be a tty su は端末 (tty) からのパスワード入力を求めているのに、 端末がないよ、という意味です。 端末というのは、キーボードで入力ができて、文字が表示されるもの、 たとえば kterm がそれです。procmail 経由で実行されると端末が 割り当てられないので (キーボードもないし、出力する画面もない) エラーになっているわけです。 > 他のサーバではこの記述通りで動作しました。 本当ですか? どうして root でもないのに、パスワードなしで su で他ユーザになれるのですか? > su - mono -s /home/mono/mno.sh 気になる点は2つ。 なぜ -c でなく -s なのでしょうか? http://www.linux.or.jp/JM/html/GNU_sh-utils/man1/su.1.html によると、-s はシェルを実行するオプションですから、-s の場合端末が あることをチェックしているのかもしれません。 あるいは環境変数 TERM などがセットされているので、端末を見にいってしまう という可能性も考えられます。 ちなみに FreeBSD 4.4-RELEASE では、端末がない状態で (cron 経由) echo PASSWORD | su root -c /usr/bin/id でプログラムの実行ができました。 >>2571 ふくし > 場合によってはデータが抜けていることがあるので困ります。 そんなことはないと思いますが、perl のバージョンは何ですか? perl-5.005_03 ではそのような挙動を示しませんでした。 |