김 컴퓨터


sudo (Substitute User Do)

sudo보안된 시스템 권한(주로 관리자 계정인 root)으로 명령어를 실행할 수 있게 해주는 도구입니다. 로그아웃 없이 일시적으로 관리자 권한을 빌려 쓰는 개념으로, 현대 리눅스 시스템 관리의 표준입니다.

[Image of a shield and a user icon representing administrative privilege elevation]


1. 기본 사용법

sudo [명령어]

2. 주요 옵션

옵션 이름 설명
-u user root가 아닌 특정 사용자의 권한으로 명령어를 실행합니다.
-i login 관리자(root) 환경 변수를 포함한 대화형 셸로 전환합니다.
-s shell 현재 환경 변수를 유지하며 관리자 셸을 실행합니다.
-v validate sudo 인증 유효 시간을 업데이트(갱신)합니다.
-l list 내가 sudo를 통해 실행할 수 있는 명령어 목록을 보여줍니다.

3. 실무 활용 예시

① 시스템 업데이트 (가장 흔한 사용법)

일반 사용자는 시스템 파일을 건드릴 수 없으므로 sudo가 필수입니다.

sudo apt update && sudo apt upgrade

② 특정 사용자의 권한으로 명령어 실행

'www-data'라는 웹 서버 계정 권한으로 스크립트를 실행하고 싶을 때:

sudo -u www-data php script.php

③ 관리자 권한으로 파일 수정하기

sudo nano /etc/hosts

4. [중요] sudo vs su


5. [팁] "With great power comes great responsibility"

sudo를 실행할 때 가끔 나오는 문구입니다. "큰 힘에는 큰 책임이 따른다"는 뜻으로, 시스템을 파괴할 수도 있는 명령어이므로 신중하게 사용하라는 경고입니다.