sitelink1 http://www.leafcats.com/168 
sitelink2  
sitelink3  
extra_vars6  

리눅스는 다중 사용자 시스템(Multi-User System)이다. 즉, 한 대의 OS에 여러 사용자가 접속해서 사용하게된다. 더군다나 개인용 PC보다는 서버용 OS로 많이 사용되기 때문에 권한에 대한 관리가 매우 엄격하고, 중요하다.

하지만 리눅스의 각종 기능들을 사용하려면 Root 권한 즉, 슈퍼유저의 권한이 필요한 경우가 많다.

때문에 리눅스에서는 터미널상에서 슈퍼유저의 권한으로 명령을 실행하게 하거나, root 사용자를 포함한 다른 계정으로 전환하는 명령어를 제공한다.

 

상황에 따라서 sudo / su / su - 명령어를 사용하게 되는데, 비슷해 보이지만 사실 중요한 차이가 있다.

 

 

 

 

sudo

 

sudo는 일반 사용자가 root권한을 잠시 빌려 명령을 실행하게 하는 명령어이다.

일반적으로 다음과 같이 사용한다.

 

sudo 명령어

 

sudo는 권한만 잠시 빌리는 것이기 때문에 근본적으로 명령을 내리는 주체는 현재 사용이다.

때문에 생성,수정, 삭제 등 이력이 남는 작업을 했을 때 root 유저가 아닌 해당 유저의 이름이 남게 된다.

 

01.jpg

 

 

여기서 중요한게, sudo 명령어를 사용할 때는 root 사용자가 아닌 현재 로그인한 일반 사용자의 비밀번호를 요구한다는 것이다.

그렇다면 아무나 다 root 권한을 마음대로 사용할 수 있는것인가 하는 의문이 생길 것이다.

기본적으로 sudo 명령어를 사용할 수 있는 사용자 혹은 그룹은 /etc/sudoers 에 등록이 되어 있어야 한다.

 

sudo + 명령어로 일시적으로 슈퍼유저 권한을 사용할 수 있지만, 계속 관리자 권한이 필요한 경우에는 매번 명령어를 입력할 때마다 sudo를 붙이기 번거롭다.

 

$ sudo -s

$ sudo su

 

이럴 경우에 sudo -s 또는 sudo su 명령어를 통해 root 계정을 반영구적으로 빌릴 수 있다.

 

02.jpg

 

 

이 경우에도 역시 root 비밀번호가 아닌 현재 사용자의 비밀번호를 요구한다. sudo su도 마찬가지이다. 

root로 로그인한 상태의 쉘을 사용할 수 있지만, sudo 명령어를 통한 권한 획득은 root 사용자로의 완전한 전환이 아닌 권한을 빌린 형태인 것이다.

 

그렇다면 sudo -s와 sudo su의 차이는 무엇일까?

 

03.png

 

 

위 터미널 실행 결과를 보자.

sudo su로 root로 전환했을 때의 home 디렉터리는 /root이다. 즉, 환경변수를 root 계정의 상태로 전환하는 것이다.

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

 

su

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

이 때, su와 su - 는 모두 로그인 하려는 대상 계정의 비밀번호를 요구한다.

 

$ su 계정명

 

 

su -

su - 는 다른 사용자의 계정으로 완전히 전환하고, 전환한 사용자의 환경설정을 불러온다.

 

$ su - 계정명

 

 

su, su - 의 차이

 

04.jpg

 

 

su 명령어는 현재 계정의 환경변수들을 유지한 채, 대상 계정으로 전환한다.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

번호 제목 sitelink1 글쓴이 날짜 조회 수
139 shutdown file https://terms.naver.com/entry.nhn?docId=...ryId=59321  황제낙엽 2018.07.06 691
» 다른 계정으로 전환하는 명령어(sudo / su / su -) file http://www.leafcats.com/168  황제낙엽 2018.06.24 1160
137 ttyname failed 오류 처리방법 file http://bemeal2.tistory.com/119  황제낙엽 2018.06.13 1511
136 remote 원격 접속시 인증 오류 (CredSSP 암호화 Oracle 수정 때문일 수 있습니다) file https://support.microsoft.com/ko-kr/help...ch-13-2018  황제낙엽 2018.05.31 2096
135 윈도우10 에서 네트웍 드라이브 (SMB) 사용하기 file   황제낙엽 2018.03.03 809
134 윈도우10 에서 컴퓨터 이름, 네트웍 ID, 환경 변수등 변경하는 속성창 띄우기 file   황제낙엽 2018.03.03 685
133 윈도우10 업데이트 끄기 설정하는 방법 file http://cafe.naver.com/wese1245/496  황제낙엽 2017.12.11 4283
132 작업 스케줄러 실행 오류 (2147943712) file   황제낙엽 2017.11.27 2340
131 [문법] DOS 명령어   황제낙엽 2017.11.25 776
130 BAT 파일에 접근 권한 부여하기 (cacls) file http://cecildesk.tistory.com/entry/Windo...0%EB%95%8C  황제낙엽 2017.11.07 2795
129 윈도우 서비스 시작 중지 명령어 file   황제낙엽 2017.11.07 791
128 [일본어 자판] 윈도우10에서 한국어 자판 사용시 "変換" 키를 단축키 지정하는 법 file   황제낙엽 2017.10.18 841
127 [RDP Wrapper Library v1.6.1] 원격데스크톱 다중 접속(Multi session) : RDP Wrapper secret https://github.com/stascorp/rdpwrap/releases  황제낙엽 2017.09.17 659
126 java 프로그램을 주기적으로 실행하는 배치 예제   황제낙엽 2017.08.22 652
125 Windows 10, 원격 데스크톱 연결 (Remote Desktop Connection / RDC), 다중모니터   황제낙엽 2017.08.08 862
124 원격 데스크톱 연결 (Remote Desktop Connection / RDC), 다중모니터, /multimon file http://lansaid.tistory.com/736  황제낙엽 2017.08.05 793
123 윈도우 용량 줄이기 안전하게 WinSxS 폴더 삭제 dism.exe 윈도우폴더 용량 줄이는법 file http://startdownload.tistory.com/42  황제낙엽 2017.06.21 1045
122 Log Parser Studio 사용팁 file http://iprize.tistory.com/668  황제낙엽 2017.06.21 1062
121 Log Parser Studio file http://iprize.tistory.com/666  황제낙엽 2017.06.21 797
120 Log Parser를 이용한 윈도우 이벤트 로그 검사하기 file http://iprize.tistory.com/665  황제낙엽 2017.06.21 805