Server/Linux

루트 권한 사용 - sudo와 su의 차이점

범데이 2021. 8. 1. 18:13

1. 개요

만일 root권한으로 curl을 설치해야할 일이 생겼다고 가정해보자.

 

sudo apt install curl

su (계정전환) → apt install curl

 

이런 여러 방법으로 설치할 때가 있는데, 이들의 각각 차이점을 알아보고자 한다.

 

 


 

2. sudo와 su의 차이점

sudo → 현재 계정에서 단순히 root의 권한만 빌린다.

root권한을 이용하여 접근 권한을 얻고 명령어를 실행할 수 있도록 슈퍼유저로서의 액세스를 돕는다.

 

 

su → root계정으로 전환한다.

su(substisute user) 명령어는 로그아웃 없이, 다른 사용자로 로그인을 가능하게하는 리눅스 명령어로,

파라미터가 없이 "su" 를 입력하면 "su root"와 동일하다. 

 

su와 su - 는 root계정으로 전환한다는 점에서는 같다.

 

그러나 su 는 root계정의 환경변수를 가져오지 않고 현재 계정의 환경변수를 사용하게 될 것이고,

su - 는 root계정의 환경변수까지 모두 가져와서 root계정에 접근하게 되는 것이다.

 

su - 하시고 로그인을 하게 되면 기본 /root 디렉토리(directory)로 이동하게 된다.

(환경 변수를 가져온다는 의미이겠죠?)

 

 

아래는 su - 의 환경변수 일부이다. root의 환경변수까지 모두 가져오게 된다.

MAIL=/var/spool/mail/root

PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

PWD=/root

 

아래는 su 의 환경변수 일부이다. user라는 계정의 환경변수를 가져오게 된다.

MAIL=/var/spool/mail/user
PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/user/bin
PWD=/home/user

 

 

+추가로 "su"와 "sudo su"의 차이는

su: root계정의 패스워드가 필요.

sudo su: 현재 로그인 된 계정의 패스워드가 필요.

 

 

 


#References

https://jootc.com/p/20170122130

 

Linux에서 sudo, su, su - root 명령어의 차이점 - JooTC

먼저, sudo는 현재 계정에서 단순히 root의 권한만 빌리는 것입니다. root권한을 이용하여 접근 권한을 얻고 명령어를 실행할 수 있도록 슈퍼유저로서의 액세스를 돕습니다. 반면 su는 현재 계정에

jootc.com

https://gxnzi.tistory.com/75

 

리눅스(Linux) su / su - / sudo 명령어, 차이

리눅스 (Linux)에서 특정 명령을 실행하거나, 특정 파일에 접근하기 위해서 때로는 루트 (root) 권한이 필요한 경우가 있습니다. 이러한 경우에 사용하게 되는 su / su - / sudo 명령어들과 각 명령어들

gxnzi.tistory.com

https://infosecguide.tistory.com/88

 

sudo su, su 차이점

□ su(substitute user) ○ 로그아웃 없이, 다른 사용자로 로그인을 가능하게하는 리눅스 명령어 ○ 파라미터가 없는 "su"는 "su root"와 동일(=root 계정으로 로그인) ○ 로그인 하려는 계정의 패스워드가

infosecguide.tistory.com

 

반응형