BACKEND/LINUX
Sudo, Su, - 를 활용한 Linux 명령어 사용
이-프
2024. 7. 2. 16:57
Linux 특징
- Linux는 다중 사용자 시스템 (Multi-User System)
- 한 대의 OS에 여러 사용자가 접속해서 사용 중
- 서버용 OS로 주로 사용되기에 권한에 대한 관리가 매우 엄격함
- 그렇기 때문에, 슈퍼유저의 권한으로 명령어를 실행
- root 사용자를 포함한 다른 계정으로 전환하는 명령어를 실행
- ⇒ Root (슈퍼유저의 권한)이 매우 필요함
sudo
- 일반 사용자가 root 권한을 잠시 빌려 명령을 실행하게 하는 명령어
- ‘권한’만 잠시 빌리는 것 ⇒ 근본적으로 명령을 내리는 주체는 현재 사용자 !
- └ 생성, 수정, 삭제 등 이력이 남는 작업을 했을 때, root 유저가 아닌 해당 유저의 이름이 남음
- sudo 명령어를 사용하면, root 사용자가 아닌 현재 로그인한 일반 사용자의 비밀번호를 요구
- ⇒ 기본적으로 sudo 명령어를 사용할 수 있는 그룹은 /etc/sudoers에 등록되어 있어야함!!
- sudo는 임시적으로 권한을 빌리는 것이므로, 계속 필요하면 반영구적으로 권한을 사용할 수 있다.
- ex ) sudo su : home 디렉토리는 /root 임 ⇒ 환경변수를 root 계정의 상태로 전환함
- ex) sudo-s : home 디렉토리는 현재 사용자의 home 디렉토리 ⇒ 현재 계정의 환경변수를 root로 넘김
su
- 현재 사용자를 로그아웃하지 않은 상태에서 다른 사용자의 계정으로 전환하는 명령어
su -
- 다른 사용자의 계정으로 완전히 전환하고, 전환한 사용자의 환경설정을 불러온다.
💡 su root | su - root 차이
- su : 현재 계정의 환경변수들을 유지한 채, 대상 계정으로 전환
- su - : 다른 사용자의 계정으로 전환하고, 환경변수까지 그 계정의 상태로 완전히 전환