게시물 1,376건
   
su, sudo
글쓴이 : 최고관리자 날짜 : 2017-11-15 (수) 13:19 조회 : 12412
글주소 :
                                
출처
http://brownbears.tistory.com/227


sudo : 현재 계정에서 다른 계정의 권한만 빌림
su : 다른 계정으로 전환
su - : 다른 계정으로 전환 + 그 계정의 환경변수 적용


상세내용
sudo는 root가 아닌 사용자가 root에 준하는 능력으로 sudo 다음에 나오는 명령을 실행하게 하는 명령어입니다. su는 root 패스워드가 필요하지만 sudoer에서 사용을 허락한 사용자는 모두 패스워드와 관계없이 쓸 수 있습니다. sudo는 슈 퍼유저, 관리자 권한을 가지지만 근본적으로는 해당 사용자가 내리는 명령입니다. sudo su는 일시적으로 그 명령은 roo t가 내리는 명령입니다. 예를 들어 sudo로 작업하면서 디스크에 쓰기를 해야하면 소유자가 지금 사용자로 나옵니다만, s udo su로 작업하면 소유자가 root가 됩니다. sudo -s는 sudo 만으로 su 명령어와 같은 효과가 나는 명령입니다. su는 r oot 암호를 알아야만 쓸 수 있지만, sudo -s는 sudoer에서 허가된 사용자라면 본인 암호를 넣고 쓸 수 있는 su와 동일한 명령입니다. 간단히 말하면 sudo -s 를 하고 자기 암호를 넣으면 root로 로그인한 쉘로 전환됩니다. sudo로 가능한 명령 어를 지정하는 곳은 sudoer파일에서 설정할 수 있습니다.

sudo su와 sudo -s 차이점 
sudo su 와 sudo -s 둘 다 root shell 을 사용할 수 있는 명령어이지만, 전자가 계정을 독립적으로 root 로 전환해 버리는 데 반해 (즉 root shell 을 직접 실행) 후자는 현 계정의 모든 환경 변수들을 root 계정 쪽으로 넘긴다는 차이가 있습니다. 그래서 sudo su를 하면 홈 디렉토리가 /root 가 되지만 (이와 동시에 현재 디렉토리 역시 /root 로 바뀝니다), sudo -s를 하게 되면 홈 디렉토리가 기존 그대로 유지되며, .bashrc 역시 전자가 $user의 ~/.bashrc 를 읽는데 반해 후자는 /root/.b ashrc 를 읽습니다. 이 외에도 몇 가지 차이가 생깁니다.


예시 
sudo 
기본 값은 슈퍼유저로 슈퍼유저의 보안권한으로 프로그램을 구동할 수 있게 해주는 명령어 
$ sudo mkdir test


su 
로그아웃을 하지 않고 다른 사용자의 계정으로 전환.
[root@localhost ~]# pwd 
[root@localhost ~]# su test 
[test@localhost ~]$ pwd 
/root     # 사용자는 변경되었지만 로그인된 사용자 환경으로 쉘을 실행하지 않아 그대로 /root를 출력 [test@localhost ~]$ exit 
[root@localhost ~]#


su - 
다른 사용자의 계정으로 전환하고 해당 사용자 환경으로 쉘을 실행 
[root@localhost ~]# pwd /root 
[root@localhost ~]# su - test 
[test@localhost ~]$ pwd 
/home/test    # 사용자 변경과 함께 로그인된 사용자 환경으로 쉘을 실행하여 /home/test를 출력 [test@localhost ~]$ exit 
[root@localhost ~]#

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

 



 
사이트명 : 모지리네 | 대표 : 이경현 | 개인커뮤니티 : 랭키닷컴 운영체제(OS) | 경기도 성남시 분당구 | 전자우편 : mojily골뱅이chonnom.com Copyright ⓒ www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.