출처: su/ su - / sudo 명령어, 차이 (velog.io)
리눅스에서 특정 명령을 실행하거나 , 특정 파일에 접근하기 위해서 때로는 루트(root) 권한이 필요한 경우가 있다.
이러한 경우에 사용하게 되는 su / su- / sudo 명령어들과 각 명령어들의 차이점, 현재 계정을 확인하는 whoami 명령어와 계정 전환 후 다시 이전 계정으로 돌아가게 하는 logout /exit 명령어들에 관한 내용이다.
우선, 일반 사용자(user)가 루트(root)권한을 사용하기 위해서는 su(Switch User) 혹은 sudo(SuperUser DO ) 명령어를 사용하면 된다.
1. su (Switch User) 명령어
Switch User에서 알 수 있듯이 , 현재 계정을 로그아웃하지 않고 다른 계정으로 전환하는 명령어 이다.
- su 명령어 예제
- su root
- su -root - su 명령어 사용 시 옵션
- -c: 쉘을 실행하지 않고, 주어진 명령만을 수행한다.- -s: 지정된 셀로 로그인한다.
- -,-l: 지정한 사용자의 환경 변수를 적용하여 로그인한다.
su 명령어를 실행하게 되면 root 사용자의 비밀번호를 물어본다.여기서 '-'의 유무의 차이가 있다.
su 와 su- 는 둘 다 루트(root)계정으로 전환하는 것을 의미하지만 ,
su는 root 계정의 환경 변수를 가져오지 않고, 현제 계정의 환경 변수를 사용하게 되는 차이점이 있다.
su - 하고 로그인을 하게 되면 기본 /root 디렉토리(directory)로 이동하게 된다. (환경 변수를 가져온다는 의미)
2. sudo (SuperUser DO) 명령어
- 이 역시 SuperUser DO에서 알 수 있듯이, 슈퍼 유저로 무언가를 수행한다는 의미를 가지고 있는 명령어이다.
현재 계정에서 단순히 root의 권한 만을 빌리는 것이다.
- sudo 명령어 예제
- sudo [command]
sudo 명령어를 실행하게 되면 root 권한으로 명령어를 실행하게 된다.
즉, 하나의 명령에 대하여 일시적으로 root 권한을 사용하는 것을 말한다.
실행하기 전 , 현재 사용자의 비밀번호를 물어본다.
3. su 와 sudo 의 차이점
- su는 계정을 전환하기 위한 것이고,
- sudo는 권한을 빌려 명령어를 실행하기 위한 것이다.
4. whoami
- 현재 사용자를 확인하는 명령어이다.
(su 명령어를 통해 사용자를 전환하고 혹은 logout/exit로 다시 돌아오기를 하며 확인해보기)
5. logout/exit
- 전환 전 계정으로 돌아가는 명령어이다.
'컴퓨터 활용(한글, 오피스 등) > 50_2.운영체제_리눅스' 카테고리의 다른 글
리눅스 오래된 파일 자동 삭제하기 (shell script, crontab) (0) | 2023.12.19 |
---|---|
리눅스 임시 파일 및 디렉토리 관리 (1) | 2023.12.19 |
apt-get update failed on the latest ubuntu-22.04 image (0) | 2023.12.18 |
WSL2 활용도를 높여주는 고정 IP 설정 (1) | 2023.12.18 |
WSL2 외부 접속 설정 (1) | 2023.12.18 |