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

관련 정보