sudo의 동작은 /etc/sudoers와 /etc/sudoers.d/*에 정의됩니다.
「누가 무엇을 어떻게 sudo로 할 수 있나」가 여기에 명시.
visudo로 편집.
sudo visudo — sudoers 안전 편집.
저장 시 문법 검사 — 잘못된 구문이면 거부.
직접 편집(sudo vi)는 위험 — 망가지면 sudo 자체 동작 안 함.
기본 형식.
user host=(runas) command.
alice ALL=(ALL) ALL — alice가 모든 호스트에서 모든 사용자(보통 root)로 모든 명령 실행 가능.
%sudo ALL=(ALL) ALL — sudo 그룹의 모든 멤버(앞 % 표시).
특별 옵션.
NOPASSWD — 비밀번호 없이.
alice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx — 비밀번호 없이 nginx 재시작만 가능.
「특정 명령만 자유롭게」 패턴.
자동화 스크립트에 자주.
/etc/sudoers.d/.
별도 파일로 정책 분리 권장.
/etc/sudoers.d/myteam에 정책 작성 + visudo -f로 편집.
sudoers 본 파일을 안 건드려서 안전, 패키지 매니저가 패키지 정책을 별도 파일로 추가하기도.
한 줄 요약
sudoers는 sudo 정책.
visudo로 안전 편집(문법 검사).
user host=(runas) command 형식, NOPASSWD로 비밀번호 면제.
/etc/sudoers.d/에 분리 권장.
더 알아볼 것
- sudo 위험 패턴 — ALL 권한
- Cmnd_Alias로 명령 그룹
- Defaults — sudo 동작 옵션