postfix で受信したメールを aliases でpipeを繋いで外部コマンドを起動しています。
本番のplesk Onyx 環境では popuser からプロクラムが起動しているようで、
一度 sudo でユーザーを切り替えてからの実行を考えています。
ですが、
| sudo sh -c "echo \"test\" > test.txt"
このようなテストを実施した場合、
temporary failure. Command output: /bin/sh: /usr/bin/sudo: Permission denied 4.2.1 Message can not be delivered at this time
とのPermissionエラーで sudo そのものが弾かれているようでして。
単純にsudoをなくして実行した場合は、
| echo "test" > test.txt
問題なく text.txt が popuser で作成されました。
visudoで、以下の権限を付与しています。
#Defaults requiretty コメントアウト #以下を追記 popuser ALL=(ALL) NOPASSWD: /bin/sh popuser ALL=(ALL) NOPASSWD: /bin/echo
直接、popuserにログイン後に同一コマンドの実行は問題なく動いているのは確認とれました。
| sudo sh -c "echo \"test\" > test.txt"
他の centos6 での環境では問題なかったのですが、
plesk(centos7)の環境に移設してから発生していまして、固有の設定がなにかしらあるのではと考えています。
このsudoを実現する為の知恵(もしくはユーザーを切り替えるためのアイデアなど)
お知恵をお借りできれば幸いです。
SELinuxは有効。popuser からの sudo コマンドの実行は問題なく行えます。
==================================
度々の追記です。
教えていただいた、SELinuxを無効にしてみたところメッセージに変化がありました。
temporary failure. Command output: sudo: no tty present and no askpass program specified 4.2.1 Message can not be delivered at this time
どうも関連性は高そうです。
とはいえ、visudoから、以下の設定を試してみたところ
Defaults visiblepw
以下の通り、PWを求められるようになりました。
temporary failure. Command output: [sudo] password for popuser: Sorry, try again. [sudo] password for popuser: Sorry, try again. [sudo] password for popuser: Sorry, try again. sudo: 3 incorrect password attempts 4.2.1 Message can not be delivered at this time
試行錯誤しておりますが、未だ問題解決には至っておりません。
回答2件
あなたの回答
tips
プレビュー