728x90
반응형
Linux에서 su와 sudo는 관리자 권한을 얻는 대표적인 방법입니다. 두 명령어의 차이점과 사용법, 배포판별 특징을 이해하면 더 안전하고 효율적인 시스템 관리를 할 수 있습니다.
su vs 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
반응형
'1.시스템&인프라 > Ubuntu' 카테고리의 다른 글
11.Ubuntu에서 Netplan으로 고정 IP 및 DHCP 설정하기 (0) | 2025.03.29 |
---|---|
10. 네트워크 관리 명령어 정리: iproute2 (0) | 2025.03.29 |
8. 리눅스 계정 관리 명령어 정리 : 생성, 삭제, 잠금, 그룹 (0) | 2025.03.29 |
7. systemctl 명령어 요약 정리(서비스 등록 및 관리) (0) | 2025.03.29 |
6. Ubuntu APT 명령어 요약 정리 (0) | 2025.03.29 |