안녕하세요, 오목입니다.
오늘은 Linux에서 가장 기본적인 명령어 중 하나인 su를 다루면서 su와 su -의 차이점에 대해서 알아보도록 하겠습니다.
* 본 포스팅은 ChatGPT를 참고해 작성한 내용임
su
su는 슈퍼 유저(super user) 또는 다른 사용자로 전환하는 명령어입니다. 이 명령어를 사용하면 현재 로그인한 사용자를 다른 사용자로 전환하여 해당 사용자의 권한으로 작업할 수 있습니다.
기본적으로 su 명령어를 실행하면 슈퍼 유저인 root 계정으로 전환하게 됩니다.
예를 들어, 일반 사용자로 로그인한 후 시스템 관리 작업을 수행해야 할 때나 다른 사용자의 권한으로 특정 작업을 실행해야할 떄 su 명령어를 사용할 수 있습니다.
$su [username]
이때 [user]는 전환하고자 하는 사용자의 이름입니다. 만걍 사용자 이름을 생략하면 root 계정으로 전환됩니다.
사용자 전환 시에는 전환하고자 하는 사용자의 패스워드를 입력하여야 하며, 입력 후 사용자의 권환으로 전환되어 명령어를 실행할 수 있게 됩니다.
su 명령어를 사용할 때는 현재 사용자의 권한을 주의하여 사용해야 하며, 실수로 중요한 파일을 변경하거나 삭제하는 등의 위험한 작업을 하지 않도록 주의해야 합니다.
su vs su - (su와 su -의 차이점)
'su' 명령어는 사용자를 변경하여 다른 사용자로 로그인하는 명령어로 기본적으로 현재 사용자의 환경 병수 및 작업 디렉토리를 그대로 유지한 채 다른 사용자로 전환합니다.
$su [username]
'su -' 명령어는 사용자를 변경한 후 해당 사용자의 환경 변수와 홈 디렉토리로 전환하는 명령어입니다. 이 명령어를 사용하면 새로운 사용자로 로그인 한 것처럼 환경 변수와 작업 디렉토리가 설정됩니다.
$ su - [username]
차이점 요약
- 'su' 환경 변수와 작업 디렉토리를 변경하지 않고 다른 사용자로 전환
- 'su -' 환경 변수와 작업 디렉토리를 새 사용자의 것으로 변경하여 전환
일반적으로 시스템 관리 작업 시에는 'su -'를 사용하여 사용자를 변경하면 새로운 사용자의 환경에서 작업을 수행할 수 있어서 더 안전하고 예측 가능한 환경을 제공합니다.
사용자 환경변수 확인
그렇다면 사용자의 환경변수는 어떻게 확인할 수 있을까요?
리눅스에서 사용자의 환경 변수를 확인하는 명령어는 'printenv'나 'env'를 사용할 수 있습니다.
1. printenv 명령어:
printenv 명령어는 현재 사용자의 환경 변수를 출력하는 명령어입니다.
$printenv
2. env 명령어:
env 명령어도 마찬가지로 현재 사용자의 환경 변수를 출력하는 명령어입니다.
$ env
이 명령어들은 현재 로그인한 사용자의 환경 변수를 확인할 수 있게 해주며, 사용자에게 할당된 변수들과 해당 값들을 출력합니다. 이를 통해 시스템의 환경 설정과 관련된 정보를 파악할 수 있습니다.
'ITStudy > Linux' 카테고리의 다른 글
xrdp 설치를 통한 GUI 환경 구축하기(+포트변경) (0) | 2021.06.12 |
---|---|
virsh로 VM 시스템 관리하기 (0) | 2021.06.10 |
Linux 파일과 디렉토리의 허가권 및 소유권 (0) | 2021.02.12 |
VMware 상 CentOS8 최소 설치 후 네트워크 고정IP 설정 (0) | 2021.02.11 |
Linux 사용자와 그룹 관리 기본 02 (0) | 2021.02.10 |