2016-05-18 1 views
2

ansibleからのiptablesを再起動することができない(インタラクティブ認証が必要)

私はハンドラrestart iptables

service: name=iptables enabled=yes state=restarted 

として定義されている。しかし、それが生成します次のエラーメッセージが表示されます。

fatal:[xx.xx.xx.xx]:FAILED! "msgstr" iptables.serviceを停止できませんでした:対話型認証 が必要です。\ niptables.serviceを起動できませんでした:対話型 認証が必要です。\ n " }

私は、rootとして私のハンドラコマンドを実行されていなかったCentOS Linux release 7.2.1511 (Core)

+1

であるあなたはsudoのようにタスクを実行していますか? – ydaetskcoR

+0

いいえ、私はsudoを使用していませんでした。追加する:はい問題を解決しました。私はなぜエラーメッセージが誤解を招くのだろうかと思います。通常、sudoが見つからないと 'Permission denied'のようなエラーメッセージが表示されました。 –

+1

'systemctl restart iptables'(またはsystemdを使用していない場合は同等です)を直接ボックス上の非特権ユーザとして実行すると、sudo/gksudoプロンプトが表示されます。これは、Ansibleが検出している間違いです。 – ydaetskcoR

答えて

6

で働いています。ハンドラにbecome: yesが含まれている場合、ハンドラは正常に動作します。

- name: restart iptables 
    become: yes 
    service: name=iptables enabled=yes state=restarted 

さわやかiptablesの設定の別の方法は、再起動せずに、それは

- name: reload iptables 
    become: yes 
    shell: iptables-restore < /etc/sysconfig/iptables 
+0

ハンドラでこの問題が発生しました。私の役割は、タスク/ main.ymlで 'になる:はい'を含みます。ハンドラのために、私は、それらを必要としたハンドラに、ステートメントを追加しました。 – bgStack15

関連する問題