[Linux] sudo, su, su - 차이 (권한, 환경변수)

2026. 3. 4. 08:44·DevOps/Linux

 

오늘은 서버 작업을 하다가 관리자 권한이 필요할 때 사용하는 명령어 sudo, su, su -에 대해 알아보겠습니다.

 


 

1. sudo

: sudo는 Substitute User Do의 약자

현재 로그인한 내 계정 상태를 유지하면서, 특정 명령만 '관리자(root)'의 이름으로 실행하는 방식입니다.

 

가장 권장되는 방식으로,  일반 사용자가 자신의 비밀번호를 입력하고 "이 명령 하나만 관리자 권한으로 실행할게"라고 요청하는 것입니다.

* 장점: root 비번을 공유할 필요가 없고, 누가 어떤 명령을 썼는지 로그가 남습니다.
* 특징: 실행 후에도 여전히 내 홈 디렉토리에 머뭅니다.

* 비밀번호: 본인 계정

 

2. su

: su는 Substitute User의 약자

단순히 사용자만 root로 바꾸고, 내 원래 환경 설정(PATH 등)을 그대로 가져갑니다.

* 문제점: root 권한은 가졌지만, root가 쓰는 전용 관리 도구들의 경로가 설정되지 않아 명령어가 실행되지 않는 경우가 많습니다.
ex) command not found

* 비밀번호 : 관리자 계정

 

3. su - 

: 뒤에 붙은 하이픈(`-`)이 핵심입니다. 이건 단순히 이름만 바꾸는 게 아니라, root 계정으로 새로 로그인하는 것과 같습니다.

* 특징: 현재 경로도 root의 홈인 `/root`로 이동하고, 모든 환경 변수가 root의 설정으로 바뀝니다. 관리자의 PATH(명령어 경로)를 그대로 가져오므로 모든 관리 도구를 바로 쓸 수 있습니다.
관리 작업을 제대로 수행하려면 `su`보다는 `su -`를 써야 합니다.

* 비밀번호: root 계정의 비밀번호를 입력합니다.


4. 정리

구분 sudo su su -
의미 명령 하나만 권한 빌리기 사용자만 root로 변경 root로 완전히 로그인
비밀번호 내 계정 비번 root 비번 root 비번
현재 위치 변함없음 변함없음 root 홈(/root)으로 이동
환경 변수 내 설정 유지 내 설정 유지 (위험!) root 설정으로 초기화

 


* 단일 명령을 실행할 때: sudo
* 잠시 root 권한을 얻고 싶을 때: su
* 환경 설정까지 완벽하게 root가 되고 싶을 때: su -

*참고: `su` 계열을 쓰려면 root 계정의 비밀번호가 설정되어 있어야 합니다. 우분투 같은 배포판은 기본적으로 root 비번이 없으므로 `sudo`를 주로 사용하게 됩니다.

 

 

'DevOps > Linux' 카테고리의 다른 글

[Jenkins] Gitea 연결: 내 프로젝트를 Jenkins로 가져오는 법  (0) 2026.03.04
[Linux]Rocky9.4 Jenkins 설치 및 설정 가이드  (0) 2026.03.04
[Linux] Apache Tomcat 9 설치 및 시스템 서비스 등록  (0) 2026.03.03
[Linux] ip 변경 - nmtui  (0) 2026.03.03
[Hyper-V] hv_balloon: balloon request will be partially fulfilled 오류 해결법  (0) 2026.03.03
'DevOps/Linux' 카테고리의 다른 글
  • [Jenkins] Gitea 연결: 내 프로젝트를 Jenkins로 가져오는 법
  • [Linux]Rocky9.4 Jenkins 설치 및 설정 가이드
  • [Linux] Apache Tomcat 9 설치 및 시스템 서비스 등록
  • [Linux] ip 변경 - nmtui
min_sol
min_sol
  • min_sol
    비글개발연구소🐾
    min_sol
  • 전체
    오늘
    어제
    • 분류 전체보기 (280)
      • Programming (128)
        • Algorithm (52)
        • JAVA (40)
        • GIS (5)
        • PyQt (10)
        • C# (11)
        • Mobile (6)
        • AI (4)
      • Backend (38)
        • Spring (16)
        • JSP (11)
        • Network (5)
      • Frontend (29)
        • React (11)
        • Vue (13)
        • Next.js (4)
      • Database (10)
        • PostgreSQL (1)
        • Oracle (8)
        • Elasticsearch (1)
      • DevOps (8)
        • Linux (7)
        • Mac (1)
      • Tools (32)
        • IntelliJ (1)
        • VSCode (1)
        • GitHub (10)
        • RPA (20)
      • Security (9)
      • etc (21)
        • ERROR (5)
        • 세미나 | 교육 (10)
        • 자격증 (1)
        • 일상 (2)
        • 2021 (2)
  • 인기 글

  • 태그

    PyQt
    스윙
    RPA
    spring
    자바
    백준
    Java
    VUE
    vue.js
    생능출판
    자동화
    계산기
    알고리즘
    PyQt5
    자료구조
    명품자바에센셜
    코딩테스트
    연습문제
    jsp
    이클립스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
min_sol
[Linux] sudo, su, su - 차이 (권한, 환경변수)
상단으로

티스토리툴바