본문 바로가기

IT

리눅스 SU 명령어에 대한 이해

반응형
리눅스 SU 명령어에 대해 포스팅 해보겠습니다.
SU 명령어는 Switch User의 약자로 현재 로그인 세션에서 다른 사용자로 전환하는 것을 의미합니다.

 

SU 명령어의 형식

su 명령어는 크게 두가지로 많이 사용됩니다.
docker 라는 계정을 사용하는 입장에서 root로 전환하려고 할 경우

1. su root : 세션을 root 사용자로 전환합니다.
2. su - root : 세션을 root 사용자가 직접 로그인 했을 때와 동일하게 세션을 전환합니다.

 

SU 명령어의 옵션

옵션 설명
-c, --command 지정한 사용자로 셸이 실행할 명령어를 지정
-, -l, --login 사용자가 직접 로그인 한 환경과 동일
-s, --shell 명시된 셀을 사용

 

-C 옵션을 사용한 경우 세션을 전환하지 않고 해당 사용자가 사용한 것과 동일한 실행 옵션을 갖습니다.
흔히 우리가 알고 있는 sudo (Super User DO)로 root 권한을 일시적으로 사용하는 것과는 달리
[사용자 ==> 다른 사용자]
와 같이 실행환경을 User에서 전체 권한자가 아닌 특정 User의 권한으로 사용자 보안 정책을 따를 경우 사용하는 경우 해당됩니다.

 

 

계정 전환으로 실습해보기

1. root 계정으로 app 디렉토리를 만들고 권한을 모두에게 풀어줍니다.
2. docker 계정으로 전환하고 app 디렉토리 안에 test.sh 파일을 만들어 줍니다.
3. dog  계정으로 전환하고 docker 계정으로 만든 test.sh 를 편집기를 사용하여 실행합니다.

결과, dog 계정으로는 test.sh를 읽을 수 만 있습니다.

 

 

dog 계정에서 docker 계정으로 권한을 받아서 실행한 결과입니다.
[readonly] : 읽기 전용 이라는 문구가 없어진 것을 확인할 수 있습니다.

 

 

 

반응형