1.시스템&인프라/Ubuntu

9. su vs sudo 비교

쿼드큐브 2025. 3. 29. 20:01
728x90
반응형

Linux에서 su와 sudo는 관리자 권한을 얻는 대표적인 방법입니다. 두 명령어의 차이점과 사용법, 배포판별 특징을 이해하면 더 안전하고 효율적인 시스템 관리를 할 수 있습니다.

 

su vs sudo 비교

 

목차

1. su 명령어

2. sudo 명령어

3. su와 sudo 주요 차이점

4. 사용자에게 sudo 권한 부여하는 방법

관련 글 링크

 

1. su 명령어

su는 현재 사용자를 다른 사용자로 전환하는 명령어입니다.
일반적으로 root 계정으로 전환할 때 사용되며, 대상 사용자의 비밀번호를 입력해야 합니다.

  • su <username> : 해당 사용자의 셸로 전환 (환경 변수는 유지됨)
  • su - <username> : 로그인 셸로 전환 (환경 변수 초기화됨)
  • su -s /bin/bash <username> : 특정 셸로 실행
  • su -c "<command>" <username> : 특정 명령 실행 후 원래 사용자로 복귀
#1. root 계정으로 전환
#root 비밀번호 입력 필요, 환경 변수 유지
$su

#2. 특정 사용자로 변경
#대상 사용자 비밀번호 입력 필요, 환경 변수 초기화
$su - <username>

#3. 특정 쉘로 실행
#계정 전환하면서 /bin/bash 쉘을 이용
$su -s /bin/bash <username>

#4. 특정 명령어 실행
# root 계정으로 ls /root 명령어 실행 후 원래 사용자로 복귀
$su -c "ls /root" root

 

2. sudo 명령어

sudo는 특정 명령어를 root 권한으로 실행할 수 있게 해주는 명령어입니다.
현재 사용자의 비밀번호를 입력하며, root 계정 비밀번호는 필요 없습니다.

  • sudo <command> : 명령어를 root 권한으로 실행
  • sudo -i : root로 로그인한 것처럼 전체 환경 전환
  • sudo -s : 현재 환경을 유지한 채 root 셸 실행
  • sudo -u <username> <command> : 특정 사용자 권한으로 명령 실행
#1.관리자 권한으로 command 실행
$sudo apt update

#2 root 계정으로 로그인 
#root 계정으로 완전히 로그인하는 것과 동일한 효과
#su - 와 비슷한 동작
#root의 환경 변수($HOME, $PATH 등)가 모두 적용됨.
#root의 홈 디렉토리(/root로 이동)
$sudo -i

#3 root 쉘 실행
#현재 사용자의 환경을 유지한 채 root 셸을 실행함
#su 명령어와 비슷한 동작
$sudo -s

#4 특정 사용자로 명령 실행
$sudo -u <username> <command>

 

3. su와 sudo의 주요 차이점

Ubuntu에서는 보안상 sudo를 사용하는 것이 일반적입니다.

CentOS, RHEL 같은 배포판에서는 su를 더 많이 사용하기도 합니다.

구분 su sudo
설명 다른 사용자로 전환 특정 명령어를 root 권한으로 실행
비밀번호 입력 대상 사용자 비밀번호 현재 사용자 비밀번호
관리자 권한 획득 방식 쉘 변경 명령어 단위 실행
root 환경 적용 su -로 적용 sudo -i 또는 sudo -s 사용
기본 설정 Ubuntu: 비활성화 Ubuntu: 기본 활성화
사용 사례 root 계정으로 완전히 전환할 때 명령어만 root 권한으로 실행할 때

 

4. 사용자에게 sudo 권한 부여한는 방법

새 사용자에게 sudo 권한을 부여하려면 sudo 그룹에 추가해야 합니다.

# 사용자에게 sudo 권한 부여
$ sudo usermod -aG sudo <username>

# 여러 그룹에 동시에 추가
$ sudo usermod -aG sudo,docker <username>

Ubuntu 사용자는 sudo 중심으로, CentOS 등에서는 su도 함께 사용하는 구조입니다.
각 명령어의 특징을 이해하고 보안적으로 안전한 사용 방식을 선택하는 것이 중요합니다.

 

 

관련 글 링크

2025.03.29 - [1.시스템&인프라/Ubuntu] - 8. 리눅스 계정 관리 명령어 정리 : 생성, 삭제, 잠금, 그룹

728x90
반응형