ansibleを介してユーザーにsudoersを許可する

ansibleを介してユーザーにsudoersを許可する

ユーザーにsudo権限を付与しようとしていますdoggy。これを達成するために、doggy-user.j2doggy -user.j2/etc/sudoers.d/doggy-user の内容を記録するansibleテンプレートファイルを作成しました。

doggy ALL=NOPASSWD: /bin/ls

私のmain.yamlファイルには次のものが含まれています。

- name: Allow doggy user minimal sudo rights
  template:
    src: doggy-user.j2
    dest: /etc/sudoers.d/doggy-user
    owner: root
    group: root
    mode: 0440
notify: restart agent

ただし、この変更を適用すると、サーバー側で次のエラーが発生します。

    >>> /etc/sudoers.d/doggy-user: syntax error near line 1 <<<
sudo: parse error in /etc/sudoers.d/doggy-user near line 1
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

安全な方法で/etc/sudoers.d/doggy-userを作成し、ユーザーに適切なsudo権限を提供する方法を教えてくださいdoggy

ベストアンサー1

ユーザー:ルートグループ:ルートモード:0440 /etc/sudoers.d/の下にsudoerファイルを追加するのは難しいです。より良い方法は、まず/etc/sudoers.d/にファイルを作成してから内容をコピーすることです。 。

- name: Create sudoer file for doggy-user
  file:
    path: "/etc/sudoers.d/doggy-user"
    state: touch
    mode: 0440
    owner: root
    group: root

- name: Add sudoers rules for doggy-user
  copy:
     dest: "/etc/sudoers.d/doggy-user"
     content: |
        doggy-user ALL=NOPASSWD: /bin/ls 
  notify: restart agent

おすすめ記事