리눅스에서 사용자 계정으로 로그인 한 이후, 시스템 설정 파일을 수정하거나 파일 권한을 변경하거나 등의 관리자 권한이 필요할 때가 있다.
이때 root 계정으로 변경할 때 사용하는 명령어가 바로 su이다.
su란 substitute user의 줄임말로서 사용하고 있던 사용자 계정을 로그아웃 하지 않고, 다른 사용자의 권한을 얻을 때 사용한다. 단일 사용자 계정으로 사용시 사용자 권한으로 변경시 자주 사용되도 한다. 아래 사진이 su 권한으로 변경할때의 방법이다.
보통
su 변경하고자하는ID
를 입력한다.
ID를 입력하지 않으면 su root로 동작하게 된다.
위 사진처럼 일반계정일 경우 쉘 명령줄에 $가 보이는데
root 계정으로 변경된 후에는 관리자 계정 쉘인 #으로 바뀐 것을 볼 수 있다.
그렇다면 su와 su- 차이는 무엇일까?
예전 Weblogic 장애 중 charset이 깨져 나온다는 장애가 있었는데
그 이유는 su 로 들어가서 root 계정이 해당 user의 환경 설정정보를 가져가지 못했기 때문이었다.
>> 그 당시 root에는 LANG=C로만 잡혀져 있었기 때문에 user에 셋팅해 놓은 한글 charset인 profile를 가져가지 못했기 때문..
따라서 정리해보면 다음과 같다.
-를 붙이면 내 자신의 환경정보를 포함하여 가져가는 것 ( 기존 사용자 환경에서 사용하던 환경변수를 모두 유지한다)
-를 안 붙이면 only root 계정만 가져가는 것 ( 기존 사용자 환경에서 사용하던 환경변수를 모두 지워버린다)
이 되는 것이다.
'OS > Linux' 카테고리의 다른 글
리눅스 자주쓰는 명령어 다시정리 (개인공부) (0) | 2019.04.19 |
---|---|
Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable 해결방법 (0) | 2019.02.21 |
리눅스 메모리 사용률 확인방법 / 버퍼와 캐시의 의미 (0) | 2016.12.06 |
Linux history 사용방법 (0) | 2016.12.05 |
[linux java 설치] 리눅스 자바 설치 및 다운로드 (0) | 2016.12.02 |