ansibleでvisudoする方法

ansibleでvisudoする方法

Posted at April 16,2019 12:03 AM
Tag:[ansible]

ansibleでvisudoする方法を紹介します。

1.はじめに

サーバ設定作業でansibleを使うことになりました。

「ansibleを使ってこういうときにどうすればいいの?」っていう情報がネットを検索してもなかなかヒットしないので、分かる範囲で小出しにしていきます。

2.ansibleでvisudoする方法

ansibleでvisudoするには、下記のようなplaybookで対応します。hostsの部分は適宜直してください。

- hosts: localhost
  become: True
  tasks:
  - name: test
    lineinfile:
      path: /etc/sudoers
      state: present
      regexp: '^%ADMIN ALL='
      line: '%ADMIN ALL=(ALL) NOPASSWD: ALL'
      validate: '/usr/sbin/visudo -cf %s'
  • lineinfile:ファイル書き換えのためのモジュール
  • path:書き替え対象のパス・ファイル名(必須)
  • state:行が存在するか・しないか(書き替えなので"present")
  • regexp:書き替え前の内容(正規表現)
  • line:書き替え後内容
  • validate:書き替え後の検証。"%s"でpathの内容を指定

上記の例は、

%ADMIN ALL=

という行を

%ADMIN ALL=(ALL) NOPASSWD: ALL

に書き替えて、

# /usr/sbin/visudo -cf /etc/sudoers

で、書き替えたファイルの検証をしています。

regexpとlineを適宜書き替えてお使いください。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)