| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- coreutils
- UNIX
- 파일시스템
- Unix명령어
- 리눅스
- 사용자관리
- cups
- shell
- sysadmin
- 유닉스명령어
- linux
- js
- 리눅스명령어
- Solaris
- terminal
- 정규표현식
- PackageManagement
- tcsh
- environment
- UnixCommand
- 터미널
- 자바스크립트
- php
- JavaScript
- 유닉스
- 명령어
- 쉘스크립트
- 시스템관리
- bash
- linuxcommand
Archives
- Today
- Total
ioerror
sudo 사용법 및 옵션 - 다른 사용자(주로 root)의 권한으로 명령을 안전하게 실행하는 명령 본문
반응형

sudo - Superuser Do
현재 로그인된 일반 사용자 계정에서 root(최고 관리자) 또는 다른 사용자의 권한을 일시적으로 빌려 특정 명령을 실행하는 유닉스 및 리눅스의 표준 권한 관리 명령어이다. root 계정의 비밀번호를 직접 공유하지 않고도 /etc/sudoers 설정 파일에 지정된 권한 정책에 따라 개별 명령별 실행 권한을 제어할 수 있다. 작업 내역이 시스템 로그(/var/log/auth.log 또는 /var/log/secure)에 엄격히 기록되므로 보안 및 감사 관리에 매우 중요한 역할을 한다.
1. sudo 용도
- 일반 계정 상태에서 패키지 설치, 시스템 서비스 재시작, 네트워크 설정 변경 등 관리자 권한이 필수적인 단일 작업을 수행할 때 사용된다.
- root 비밀번호를 노출하지 않고 특정 일반 사용자나 그룹에게 일부 관리자 명령(e.g., systemctl restart nginx)만 제한적으로 허용할 때 주로 활용된다.
2. sudo 서식
sudo [OPTIONS...] [COMMAND [ARG...]]
3. sudo 옵션
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -u user, --user=user | root가 아닌 지정한 다른 사용자 계정의 권한으로 명령을 실행한다. | 모든 유닉스/리눅스 |
| -i, --login | target 사용자(기본값: root)의 로그인 셸을 시작하여 해당 환경 변수 및 홈 디렉터리를 적용한다. | 모든 유닉스/리눅스 |
| -s, --shell | SHELL 환경 변수에 지정된 대화형 셸을 target 사용자의 권한으로 실행한다. | 모든 유닉스/리눅스 |
| -k, --reset-timestamp | 캐시된 사용자 패스워드 인증 타임아웃을 즉시 만료시켜 다음 sudo 실행 시 비밀번호를 다시 묻게 만든다. | 모든 유닉스/리눅스 |
| -v, --validate | 비밀번호를 입력받아 인증 타임아웃 기간을 갱신하지만, 특정 명령을 실행하지는 않는다. | 모든 유닉스/리눅스 |
| -l, --list | 현재 사용자가 sudo를 통해 실행할 수 있는 허용된 명령어 목록을 출력한다. | 모든 유닉스/리눅스 |
| -b, --background | 지정한 명령을 백그라운드 프로세스로 실행한다. | 모든 유닉스/리눅스 |
| -E, --preserve-env | 현재 사용자 셸의 환경 변수(Environment Variables)를 유지한 채 명령을 실행한다. | Linux Sudo 1.7+ |
| -e, --edit | 지정한 파일을 root 권한으로 안전하게 편집한다 (sudoedit의 동의어). | 모든 유닉스/리눅스 |
# Nginx 웹 서버 서비스 재시작
sudo systemctl restart nginx
# 현재 사용자에게 허용된 sudo 명령어 목록 조회
sudo -l
# Matching Defaults entries for user on server:
# env_reset, mail_badpass
#
# User user may run the following commands on server:
# (ALL : ALL) ALL
# www-data 서비스 계정 권한으로 특정 파이썬 스크립트 실행
sudo -u www-data python3 app.py
- (ALL : ALL) ALL: 현재 사용자가 모든 호스트, 모든 사용자/그룹 권한으로 모든 명령을 실행할 수 있음을 나타낸다.
4. sudo 특이사항(유의사항)
- sudo 실행 시 입력하는 비밀번호는 root 계정의 비밀번호가 아니라 현재 로그인된 본인 계정의 비밀번호이다.
- 리다이렉션 사용 시 주의: sudo echo "text" > /etc/protected_file 구문을 실행하면, echo 명령만 root 권한으로 실행되고 파일 쓰기(>) 리다이렉션은 현재 일반 사용자의 권한으로 처리되어 Permission denied 에러가 발생한다. 이를 해결하려면 echo "text" | sudo tee /etc/protected_file 방식을 사용해야 한다.
- 인증 타임아웃(Default Timeout): 기본 설정상 한번 비밀번호를 인증하면 기본 15분 동안 비밀번호 재입력 없이 sudo를 계속 사용할 수 있다.
관련 명령어들
- su: 다른 사용자 계정으로 완전히 전환하여 새 셸을 개시한다.
- sudoedit: root 권한이 필요한 안전한 파일 편집을 제공한다.
- visudo: /etc/sudoers 파일을 구문 오류 없이 안전하게 수정하는 전용 에디터 실행 명령이다.
- whoami: 현재 셸을 실행 중인 유효 사용자(Effective User)명을 확인한다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| tail 사용법 및 옵션 - 파일의 마지막 부분을 출력하는 명령어 (0) | 2026.07.31 |
|---|---|
| sync 사용법 및 옵션 - 버퍼 캐시의 변경된 데이터를 디스크로 강제 동기화하는 명령 (0) | 2026.07.30 |
| su 사용법 및 옵션 - 다른 사용자 계정으로 사용자를 전환하는 명령 (0) | 2026.07.30 |
| slogin 사용법 및 옵션 - 원격 호스트에 암호화된 터미널 세션으로 안전하게 접속하는 명령 (0) | 2026.07.30 |
| ssh 사용법 및 옵션 - 원격 호스트에 암호화된 터미널 세션으로 안전하게 접속하는 명령 (0) | 2026.07.30 |
Comments