sudo — 권한 위임 실행

Linux / 사용자 및 보안 관리 / sudo.html

사용자 및 보안 관리원문등록 2026-10-18

💬 "sudo 명령어"

sudo는 필요한 명령만 관리자 권한으로 실행하게 합니다. root 직접 로그인을 줄이는 표준 방식입니다.

정책은 /etc/sudoers와 /etc/sudoers.d에서 관리하며 visudo로 편집합니다.

  • 개념: 허용된 명령을 다른 사용자(기본 root) 권한으로 실행합니다.
  • -l: 현재 계정이 실행 가능한 명령 목록을 봅니다.
  • -u: 실행할 사용자를 지정합니다.
  • 정책: /etc/sudoers.d/ 파일로 관리합니다.

자주 쓰는 옵션

옵션설명
sudo -l허용된 명령 목록 확인
sudo -u <사용자> <명령>다른 사용자 권한으로 실행
visudo -csudoers 문법 검사
sudo -n비밀번호 없이 실행(자동화용)

필수 명령어 조합 3가지

  • sudo -l — 내가 쓸 수 있는 관리자 명령 확인
  • sudo -n systemctl status nginx — 비밀번호 없이 상태 확인 가능한지 점검
  • visudo -c — sudoers 파일 문법 검사

💬 "리소스 절약하며 쓰는 방법 하나 알려줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 권한 확인

무엇을 sudo로 할 수 있는지 봅니다.

sudo -l

2단계 · 실행

필요한 명령만 관리자 권한으로 실행합니다.

sudo systemctl restart nginx

3단계 · 감사

sudo 사용 기록을 확인합니다.

journalctl -t sudo -n 20 --no-pager

실무에서는 이렇게 씁니다

1. 배포 자동화 권한

상황 — CI가 서비스 재시작만 sudo로 해야 합니다.

grep -r ci-deploy /etc/sudoers.d/ && sudo -n systemctl restart myapp

결과 — 허용된 명령만 비밀번호 없이 실행됩니다.

포인트 — 전체 ALL 권한 대신 필요한 명령만 허용하는 것이 안전합니다.

2. sudo 감사

상황 — 누가 관리자 명령을 실행했는지 확인합니다.

journalctl -t sudo --since today --no-pager | tail -20

결과 — 사용자·명령·시각이 기록되어 감사에 활용됩니다.

포인트 — 자동화 계정의 sudo 사용도 함께 점검합니다.

주의할 점

  • NOPASSWD ALL은 사실상 root와 같습니다. 명령을 최소로 제한합니다.
  • sudoers를 직접 편집하면 문법 오류로 sudo 자체가 막힐 수 있어 꼭 visudo를 씁니다.
  • 운영 영향 명령은 승인 절차 후 실행합니다.

실제 실행 화면

허용된 sudo 명령 목록과 비밀번호 없는 실행을 확인한 결과입니다.

sudo 명령어 실행 결과: 권한 목록과 실행

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.