SW/리눅스

Linux : Su 명령어, 예제, 사용 방법 (User 변경)

얇은생각 2022. 2. 27. 07:30
반응형

su(대체 또는 사용자 전환의 줄임말) 유틸리티를 사용하면 기본적으로 루트 사용자인 다른 사용자의 권한으로 명령을 실행할 수 있습니다.

su를 사용하는 것이 현재 로그인 세션에서 관리 계정으로 전환하는 가장 간단한 방법입니다. 이 기능은 루트 사용자가 ssh를 통해 시스템에 로그인할 수 없거나 GUI 디스플레이 관리자를 사용할 수 없는 경우에 특히 유용합니다.

su 명령 사용 방법에 대해 설명합니다.

 

 

Linux : Su 명령어, 예제, 사용 방법 (User 변경)

 

 

su 명령을 사용하는 방법

su 명령의 일반적인 구문은 다음과 같습니다.

su [OPTIONS] [USER [ARGUMENT...]]

 

 

옵션 없이 호출될 경우 su의 기본 동작은 대화형 셸을 루트로 실행하는 것입니다.

su

 

 

루트 암호를 입력하라는 메시지가 표시되며, 인증되면 명령을 실행하는 사용자가 일시적으로 루트가 됩니다.

세션 셸(SHELL) 및 홈(HOME) 환경 변수는 대체 사용자의 /etc/passwd 항목에서 설정되며 현재 디렉터리는 변경되지 않습니다.

사용자가 변경되었는지 확인하려면 whoami 명령을 사용합니다.

명령은 현재 셸 세션을 실행하는 사용자의 이름을 인쇄합니다.

whoami

# root

 

 

su를 호출할 때 가장 일반적으로 사용되는 옵션은 -(-l, --login)입니다. 이렇게 하면 셸이 실제 로그인과 매우 유사한 환경을 가진 로그인 셸이 되고 현재 디렉터리가 변경됩니다.

su -

 

 

passwd 파일에 정의된 셸 대신 다른 셸을 실행하려면 -s, --shell 옵션을 사용합니다. 예를 들어 루트로 전환하고 zsh 셸을 실행하려면 다음을 입력합니다.

su -s /usr/bin/zsh

 

 

호출하는 사용자의 전체 환경(HOME, SHELL, USER 및 LOGNAME)을 보존하려면 -p, --reserve-environment 옵션을 사용하여 명령을 호출합니다.

su -p

 

 

 

- 옵션을 사용하면 -p가 무시됩니다.

대화형 셸을 시작하지 않고 대체 사용자로 명령을 실행하려면 -c, --command 옵션을 사용합니다. 예를 들어 ps 명령을 루트로 호출하려면 다음을 입력합니다.

su -c ps

 

 

다른 사용자 계정으로 전환하려면 사용자 이름을 su에 인수로 전달합니다. 예를 들어 사용자 티리온으로 전환하려면 다음을 입력합니다.

su tyrion

 

 

 

Sudo vs Su

Ubuntu와 같은 일부 Linux 배포판에서는 보안상의 이유로 루트 사용자 계정이 기본적으로 비활성화되어 있습니다. 즉, 루트에 대해 설정된 암호가 없으며 su를 사용하여 루트로 전환할 수 없습니다.

루트로 변경하는 한 가지 옵션은 su 명령을 sudo로 추가하고 현재 로그인한 사용자 암호를 입력하는 것입니다.

sudo su -

 

 

sudo 명령을 사용하면 기본적으로 루트 사용자로 프로그램을 실행할 수 있습니다.

사용자에게 sudo 평가가 부여된 경우 su 명령이 루트로 호출됩니다. sudo su를 실행한 다음 사용자 암호를 입력하면 su를 실행하고 루트 암호를 입력하는 것과 동일한 효과가 있습니다.

-i 옵션과 함께 사용할 경우 sudo는 루트 사용자 환경에서 대화형 로그인 셸을 실행합니다.

sudo -i

 

 

sudo -i는 기본적으로 running su -와 같습니다.

sudo보다 sudo를 사용하면 루트 암호를 여러 관리 사용자 계정 간에 공유할 필요가 없다는 장점이 있습니다.

sudo를 사용하면 루트 권한이 있는 특정 프로그램만 실행할 수 있습니다.

su는 임시로 다른 사용자가 되어 대체 사용자로 명령을 실행할 수 있는 명령줄 유틸리티입니다.

반응형