お世話になっております。 シェルスクリプトが上手く動作せず困っています。 行っている方法は、 Linux7.1J sendmail-8.11.2-14 procmail-3.21-0.71で ユーザ"XYZ"のホームディレクトリに.procmailrcファイルを置き、 XYZ宛てのメール受信時に条件が合えばシェルスクリプト"ABC"を 実行するようにしています。 メール受信時に条件が合い、シェルスクリプトを実行するところまでは 上手くできたのですが、実行するシェルスクリプトの中の一部分のみ 動作しません。 その部分とはユーザ"mono"に切り替え、さらにシェルスクリプトを実行する以下です。 su - mono -s /home/mono/mno.sh ---(1) ※ユーザ"mono"はパスワードなしです。 ((なお、mno.shの記述は scp /var/XYZ/123.txt abc.world.co.jp:/home/mono/123.txt ssh abc.world.co.jp sh /home/mono/mno2.sh です。 他のLinuxサーバabc.world.co.jpへsshでファイルをコピーし、 他のサーバのシェルスクリプトmno2.shを実行)) (1)の部分に対してエラーでは、 standard in must be a tty と表示されます。 他のサーバではこの記述通りで動作しました。 また、メール受信時にシェルスクリプト"ABC"を実行するユーザ"XYZ" で手動でシェルスクリプトを実行すると(1)の部分も動作します。 Webで調べたところ、同じような現象になっている例もありましたが 解決策がありません。 そしてエラーの意味がよくわかりません。 勝手な推測ですが、実行しているサーバではセキュリティが強いため パスワードなしとしている"mono"ユーザが原因ではないかと思います。 ですが、シェルスクリプトでパスワードも記述した形での"su"の実行は 可能かどうか分かりません。 申し訳ありませんが、何かよい策をお教えください。 |