sudo와 su, su - root 그리고 admin, user 의 차이

sturrxxl·2020년 12월 7일
5

sudo su - root 해석하기

배포하는 과정에서, sudo su - root 라는 명령어를 입력하는데,
sudo는 알겠는데 root는 왜나오지.. 싶어서 정리 하지 않고선 못넘어 가겠으니
오늘의 정리는 이것으로 정했다.😲

여러 블로그를 읽고 돌아다녀 보니
리눅스의 다중 사용자 개념으로 사용되는 것이 root와 admin, user인 듯 하다.
차이점을 보자면 아래와 같다.

1.sudo su -

sudo
$ sudo 명령어
일반 사용자가 root권한을 잠시 빌려명령을 실행

su
$ su 계정명
현재 사용자를로그아웃하지 않은 상태에서 다른 사용자의 계정으로 전환하는 명령어

su -
$ su - 계정명
다른 사용자의 계정으로 완전히 전환하고, 전환한 사용자의 환경설정을 불러오는 명령어

su와 su-의 차이

su 명령어는 현재 계정의 환경변수들을 유지한 채, 대상 계정으로 전환한다.
반면에 su - 명령어는 다른 사용자의 계정으로 전환하고 환경변수까지 그 계정의 상태로 완전히 전환한다.


+) 검색하다 발견한것

$와 #의 차이

검색하다 명령어 정리한 것들 보면 $로 시작하는것도, #로 시작하는 것도 있는데,
이 차이는 user일때와 , root일때의 차이이라고 한다.

$user상태일때 표시
#root상태일때 표시


2.root

root와 admin, user

Root 해당 시스템 전체의 관리권한을 가진 전지전능한 ★슈퍼유저
admin 일반유저, Root가 원하면 관리권한을 줄 수 도 있음
user 그냥 일반유저

admin, user의 차이

admin은 일반계정의 하나일 뿐이고 그 자체로는 "관리자"의 권한을 가지고 있지 않다고 한다. 그냥 이름만 admin 인 user계정과 같다.

근데 왜 하필 이름이 admin 이냐 하면,
컴퓨터에서 시스템관련 명령을 내릴때 그 계정으로 들어와서 정식으로 허가를(root의 권한을) 얻으라는 의미입니다.

즉, 다른 일반계정으로는 개인적인 일을, admin 으로는 컴퓨터 관리에 관한 일만 수행하도록 서로 분리시켜서 처리하라는 뜻


결론 → sudo su - root는 뭐였을까

sudo ➡︎ 일반 사용자가 root권한을 잠시 빌려 명령을 실행

기본적으로 sudo 명령어를 사용할 수 있는 사용자 혹은 그룹은 /etc/sudoers 에 등록이 되어 있어야 한다.
계속 관리자 권한이 필요한 경우에는 매번 명령어를 입력할 때마다 sudo를 붙이기 번거로우므로 sudo -s 또는 sudo su 명령어를 통해 root 계정을 반영구적으로 사용 할 수 있게 하는 것이다.



Reference
https://2cpu.co.kr/bbs/board.php?bo_table=QnA&wr_id=448140
https://www.leafcats.com/168

profile
프론트 개발자가 되는 과정

1개의 댓글

comment-user-thumbnail
2021년 7월 18일

포스팅 잘보구 감돠!
'--login' 을 가장 짧게 쭐여쓴게 '-' 임돠

--login (아이고 매번 졸라귀챦 😣) => -l (alias치기도 귀챦 😣) => - (어우썅.. 개편함 👏)
따라서 su - 는 su --login root와 동일한 명령임돠!
그래서 ‘-’의 유무가 환경변수와 워킹디렉토리에 영향을 줌돠

너무 잘 정리해주신 내용에 덧붙여주시면 이해하기 더 좋을 것 같아 댓글 남김다

답글 달기