Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

Code Habit

Linux ) root 권한, su, sudo 명령어 개념 정리 본문

카테고리 없음

Linux ) root 권한, su, sudo 명령어 개념 정리

코드베어 2020. 4. 24. 19:53

root 권한

UNIX 환경에서는 해당 사용자의 권한에 속한 파일만 읽고 쓸 수 있도록 되어 있다. 쉽게 말하면 다른 사용자의 파일은 함부로 읽거나 쓸 수 없다는 것이다. 그러나 root 사용자라면 어떤 파일이든 읽고 쓸 수 있다. OS를 구성하는 프로그램과 설정 파일 대부분은 root이 소유하므로 이런 파일들도 변경을 할 수 있는 권한을 갖는다. 

 

su (switch user) 명령어

현재 계정을 로그아웃 하지 않고 다른 계정으로 전환하는 명령어이다.

- 'su' : root 사용자로 변경한다.

- 'su -' : root 사용자로 변경하면서 환경변수 까지 적용한다.

- 'su user' : user 사용자로 변경한다.

- 'whoami' : 현재 사용자를 확인한다.

- 'logout(or exit) : 이전 계정으로 돌아온다.

 

sudo (superuser do) 명령어

현재 계정에서 일시적으로 root권한을 이용하여 명령어를 실행할 때 사용한다. 'sudo' 다음에 실행할 명령어를 입력하면 root권한으로 명령어를 실행한다.

 

'sudo su' vs 'sudo -s'

sudo 명령어로 일시적으로 슈퍼유저 권한을 사용할 수 있지만, 계속 관리자 권한이 필요한 경우에는 매번 'sudo'를 붙이기 번거롭다. 이럴 경우에 'sudo su' 또는 'sudo -s' 명령어를 통해 root계정을 반영구적으로 빌릴 수 있다. 

'sudo su'로 root로 전환했을 때의 home 디렉터리는 /root이다. 즉 환경변수를 root계정의 상태로 전환하는 것이다. 하지만 'sudo -s'를 사용했을 때의 home 디렉터리는 현재 사용자의 홈 디렉터리이다. 즉, 현재 계정의 환경변수들을 root로 넘기는 것이다.