ユーザーにsudo権限を付与しようとしていますdoggy
。これを達成するために、doggy-user.j2
doggy -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