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' 카테고리의 다른 글

리눅스에서 3시간마다 인터넷 속도 자동 측정 시스템 구축하기  (0) 2025.03.20
PM2로 Node.js 애플리케이션 관리하기  (0) 2025.02.18
nohup : 백그라운드 프로세스 실행  (1) 2025.02.03
'Linux' 카테고리의 다른 글
  • 리눅스에서 3시간마다 인터넷 속도 자동 측정 시스템 구축하기
  • PM2로 Node.js 애플리케이션 관리하기
  • nohup : 백그라운드 프로세스 실행
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • 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 (4)
      • 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
    list
    유니티
    codingcommunity
    카페24리뷰
    상품 리뷰 크롤링
    Python
    리뷰관리
    카페24리뷰이관
    devlife
    cv2
    ipcamera
    리뷰이관
    C#
    파이썬
    긴유통기한우유
    스크립트 실행 순서
    learntocode
    리스트
    programmerlife
    unity
    appdevelopment
    스크립트 실행
    programming101
    스마트스토어리뷰
    셀레니움
    rtsp
    쇼핑몰리뷰
    라떼우유
  • 최근 글

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

티스토리툴바