일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- go
- channel
- File
- Golang
- FOR
- window
- 책
- http
- package
- Sync
- Python
- GO 언어
- API
- bitcoin
- c++
- 리뷰
- go언어
- 영화
- Close
- windows
- tcp
- Callback
- range
- C
- mutex
- install
- write
- json
- JavaScript
- Linux
- Today
- Total
Code Habit
Linux ) root 권한, su, sudo 명령어 개념 정리 본문
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로 넘기는 것이다.