← 문제 라이브러리
Linux 입문 LINUX-063 · 13분

sudoers 규칙을 추가했는데 배포 계정이 여전히 sudo 권한이 없다고 나옴

새 배포 파이프라인이 서비스를 재시작할 수 있도록 설정 관리 도구로 /etc/sudoers.d/deploy 파일을 배포했습니다.

검수된 문제무료
시나리오

새 배포 파이프라인이 서비스를 재시작할 수 있도록 설정 관리 도구로 /etc/sudoers.d/deploy 파일을 배포했습니다. 파일 내용은 리뷰를 거쳤고 visudo 문법 검사도 통과했습니다. 그런데 파이프라인이 sudo systemctl restart app 을 실행하면 권한이 없다며 실패하고, deploy 계정으로 sudo -l 을 해 봐도 새 규칙이 보이지 않습니다. 담당자는 계정이 그룹에 빠진 것 같다며 사용자 설정을 뒤지고 있습니다.

단서
deploy 계정으로 확인
$ sudo -l
sudo: /etc/sudoers.d/deploy is world writable
User deploy may run the following commands on web-03:
    (root) /usr/bin/journalctl
파일 확인
$ ls -l /etc/sudoers.d/deploy
-rw-rw-rw- 1 root root 64 Sep 27 09:12 /etc/sudoers.d/deploy

$ sudo cat /etc/sudoers.d/deploy
deploy ALL=(root) NOPASSWD: /usr/bin/systemctl restart app
설정 관리 태스크 (일부)
- copy:
    src: sudoers-deploy
    dest: /etc/sudoers.d/deploy
    mode: "0666"

과제 원인을 좁히고, 서비스를 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.

먼저 볼 것
  • sudo가 스스로 무시하는 설정 파일의 조건
  • 경고 메시지를 오류보다 먼저 읽기
점검 체크리스트
  1. sudo -l 출력 첫 줄의 경고
  2. ls -l 로 sudoers 파일의 소유자와 모드
  3. visudo -cf <파일> 로 문법 검사