質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

2回答

2385閲覧

postfix(PLESK環境)から外部コマンド(sudo)の起動について

dsk777

総合スコア34

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2017/02/20 02:55

編集2017/02/20 04:35

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

試行錯誤しておりますが、未だ問題解決には至っておりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kanbeworks

2017/02/20 03:27

コマンドラインからpopuserでのsudoの実行は可能ですか?また、SELinuxは有効でしょうか。
dsk777

2017/02/20 04:09

popuser での sudo は実行可能です。SELinuxも有効になっていました。
dsk777

2017/02/20 07:00

ありがとうございます。別ユーザーの指定だと動きました。rootへの切り替えを意図的に行っていたのですが、これだとだめでした。とはいえ、root以外でのsudoが効いた点で課題は解決いたしました。
t_obara

2017/02/20 07:14

解決したようで良かったです。可能であれば、Selinuxを有効にした状態でも動作できるようになるとベストかと思います。
dsk777

2017/02/20 07:31

たしかにです。この点、もう少し深く調べていきたいと思います。
guest

回答2

0

自己解決

SELinuxを無効にするだけで sudo を使う事が出来ました。
rootユーザーには切り替われませんでしたが、その他のユーザーにはなることが出来ました。
みなさま、ありがとうございます。

投稿2017/02/20 07:19

dsk777

総合スコア34

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dsk777

2017/02/20 07:44

ありがとうございます!
guest

0

SELinuxの件はもう少し調べる必要がありそうですが、とりあえず

PWを求められるようになりました。

NOPASSWORDの設定を一番最後に書くと解決する場合もあるようです。

sudoでNOPASSWORDが効かない時の対応方法

投稿2017/02/20 05:48

編集2017/02/20 05:52
kanbeworks

総合スコア829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dsk777

2017/02/20 07:02

ありがとうございます。SELinuxのアプローチで解決できそうです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問