본문 바로가기
LINUX

[Ubuntu] sudo 권한을 관리하는 파일 /etc/sudoers

by Rainbound-IT 2024. 12. 7.
반응형

/etc/sudoers 파일은 Linux 및 Unix 계열 운영체제에서 sudo 명령어를 통해 관리자 권한을 위임하는 설정을 관리하는 중요한 구성 파일입니다. 이 파일을 통해 특정 사용자나 그룹에 대해 관리자 권한을 부여하거나 제한할 수 있습니다.

주요 특징 및 역할

  1. sudo 권한 부여
    특정 사용자나 그룹이 sudo 명령을 사용하여 관리자 권한을 얻을 수 있도록 설정합니다.
  2. 세부 권한 제어
    사용자별 또는 그룹별로 특정 명령만 실행 가능하도록 제한할 수 있습니다.
  3. 보안 관리
    잘못된 설정이 시스템 보안에 치명적일 수 있으므로, 이 파일은 엄격한 형식으로 관리됩니다.

기본 구성 파일 형식

# 사용자 또는 그룹에 대한 규칙 <사용자> <호스트>=<권한 부여된 명령>

주요 구성 요소:

  • 사용자/그룹: username 또는 %groupname으로 지정합니다.
  • 호스트: 규칙이 적용되는 호스트 이름입니다. 기본적으로는 ALL로 설정하여 모든 호스트에 적용합니다.
  • 권한 부여 명령: 사용자가 실행할 수 있는 명령을 지정합니다. ALL은 모든 명령을 의미합니다.

예시

  1. 특정 사용자에게 모든 명령 실행 권한 부여 
    • 예시: username ALL=(ALL:ALL) ALL
    • username: 특정 사용자
    • ALL=(ALL:ALL): 모든 호스트에서, 모든 사용자/그룹의 권한으로 명령 실행
    • ALL: 모든 명령 허용
  2. 특정 그룹에 권한 부여
    • 예시: %admin: admin 그룹의 모든 사용자
    • ALL=(ALL): 모든 호스트에서 모든 권한으로 명령 실행
    • ALL: 모든 명령 허용
  3. 특정 명령만 실행 가능
    • 예시:  username ALL=(ALL) /usr/bin/systemctl restart nginx
    • username 사용자는 systemctl restart nginx 명령만 실행 가능
  4. 비밀번호 입력 없이 권한 부여
    • 예시: username ALL=(ALL) NOPASSWD: ALL
    • NOPASSWD: sudo 사용 시 비밀번호를 요구하지 않음

파일 수정 방법

  1. 직접 편집 금지
    /etc/sudoers 파일은 형식 오류가 발생하면 심각한 문제가 생길 수 있습니다.
    따라서, 반드시 visudo 명령어를 사용하여 편집해야 합니다.
  2. 파일 수정 후 확인
    visudo는 자동으로 파일 형식 오류를 검사하므로 안전하게 수정할 수 있습니다.

보안 유의사항

  1. 최소 권한 원칙 적용
    필요한 사용자나 그룹에게만 특정 명령에 대해 권한을 부여합니다.
  2. NOPASSWD 사용 주의
    비밀번호 입력을 생략하는 NOPASSWD는 보안상 취약점이 될 수 있으므로 신중히 사용합니다.
  3. 권한 남용 방지
    ALL 권한은 가급적 지양하고, 필요한 명령만 허용하도록 설정합니다.

로그 확인

sudo 사용 내역은 /var/log/secure 또는 /var/log/auth.log 파일에서 확인할 수 있습니다.

sudo cat /var/log/auth.log | grep sudo
 

위 내용을 바탕으로 /etc/sudoers 파일을 신중히 관리하는 것이 중요합니다.

 

반응형

댓글