Sudoers : 권한 관리

2025. 2. 2. 14:09·Linux
반응형

sudoers 파일은 Linux 시스템에서 sudo 명령어의 권한을 관리하는 핵심 설정 파일입니다. 이 파일을 통해 어떤 사용자가 어떤 명령어를 실행할 수 있는지 상세하게 제어할 수 있습니다.

sudoers 파일 위치와 기본 구조

# sudoers 파일 위치
/etc/sudoers

# 안전하게 편집하기
sudo visudo

기본 문법 구조

# 사용자 권한 설정
user    HOST=(USER:GROUP)    COMMANDS

# 예시
john    ALL=(ALL:ALL)    ALL
mary    ALL=(root)       /usr/bin/apt-get

주요 설정 예시

# root 사용자 설정
root    ALL=(ALL:ALL)    ALL

# sudo 그룹 설정
%sudo   ALL=(ALL:ALL)    ALL

# 특정 사용자에게 비밀번호 없이 실행 권한 부여
james   ALL=(ALL)    NOPASSWD: ALL

# 특정 명령어만 실행 가능하도록 제한
peter   ALL=(root)   /bin/systemctl restart nginx

# 여러 명령어 그룹화
Cmnd_Alias SERVICES = /bin/systemctl restart nginx, /bin/systemctl restart mysql
admin   ALL=(root)   SERVICES

고급 설정 예시

# 특정 디렉토리의 모든 명령어 허용
john    ALL=(root)   /usr/local/bin/*

# 특정 명령어 제외
jane    ALL=(ALL)    ALL,!/bin/su,!/bin/bash

# 로깅 설정
Defaults    log_output
Defaults    logfile=/var/log/sudo.log

# 환경 변수 유지
Defaults    env_keep += "HOME PATH"

# 비밀번호 시도 제한
Defaults    passwd_tries=3

보안 강화 설정

# sudo 사용시 터미널 필요
Defaults    requiretty

# sudo 만료 시간 설정
Defaults    timestamp_timeout=15

# 명령어 실행 전 경고 메시지
Defaults    lecture=always
Defaults    lecture_file=/etc/sudo_lecture

# 비밀번호 재시도 대기 시간
Defaults    passwd_timeout=1

그룹별 권한 관리

# 개발자 그룹 설정
%developers ALL=(ALL)    /usr/bin/docker*, /usr/local/bin/npm

# 운영팀 설정
%devops     ALL=(ALL)    /usr/bin/kubectl*, /usr/bin/helm

# 데이터베이스 관리자 설정
%dbadmin    ALL=(ALL)    /usr/bin/mysql*, /usr/bin/postgres*

실제 사용 사례

# 웹 서버 관리자 설정
Cmnd_Alias WEB = /bin/systemctl restart nginx, /bin/systemctl restart apache2
Cmnd_Alias LOGS = /bin/tail -f /var/log/nginx/*, /bin/grep * /var/log/apache2/*
%webadmin ALL=(root) WEB, LOGS

# 백업 관리자 설정
Cmnd_Alias BACKUP = /usr/bin/rsync, /usr/bin/tar
backup_user ALL=(root) BACKUP

주의사항

파일 권한

# sudoers 파일의 권한은 반드시 0440이어야 함
chmod 0440 /etc/sudoers

문법 검증

# visudo 사용시 자동으로 문법 검사
sudo visudo -c

백업 관리

# 수정 전 백업
sudo cp /etc/sudoers /etc/sudoers.bak


sudoers 파일을 잘못 설정하면 시스템 관리에 심각한 문제가 발생할 수 있으므로, 수정할 때는 반드시 visudo 명령어를 사용하고 신중하게 작업해야 합니다. 특히 권한을 부여할 때는 최소 권한의 원칙을 따르는 것이 보안상 중요합니다.

이러한 설정들을 통해 시스템의 보안을 강화하고 효율적인 권한 관리가 가능해집니다. 각 조직의 요구사항과 보안 정책에 맞게 적절히 조정하여 사용하시기 바랍니다.

저작자표시 비영리 변경금지 (새창열림)

'Linux' 카테고리의 다른 글

리눅스 터미널 WiFi 연결 완벽 정복: nmcli & nmtui 사용법  (0) 2025.10.20
리눅스에서 3시간마다 인터넷 속도 자동 측정 시스템 구축하기  (0) 2025.03.20
PM2로 Node.js 애플리케이션 관리하기  (0) 2025.02.18
nohup : 백그라운드 프로세스 실행  (1) 2025.02.03
'Linux' 카테고리의 다른 글
  • 리눅스 터미널 WiFi 연결 완벽 정복: nmcli & nmtui 사용법
  • 리눅스에서 3시간마다 인터넷 속도 자동 측정 시스템 구축하기
  • PM2로 Node.js 애플리케이션 관리하기
  • nohup : 백그라운드 프로세스 실행
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (5)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    codingtips
    긴유통기한우유
    cv2
    programmerlife
    카페24리뷰이관
    programming101
    Python
    파이썬
    unity
    쇼핑몰리뷰
    리뷰이관
    믈레코비타멸균우유
    유니티
    learntocode
    rtsp
    라떼우유
    list
    스크립트 실행
    리스트
    셀레니움
    devlife
    스크립트 실행 순서
    카페24리뷰
    상품 리뷰 크롤링
    codingcommunity
    리뷰관리
    ipcamera
    C#
    appdevelopment
    스마트스토어리뷰
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Sudoers : 권한 관리
상단으로

티스토리툴바