일반계정에서 root로 변신하기 su (환경변수 미적용)
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,135 조회
- 0 추천
- 목록
본문
일반계정에서 root로 변신하기(su) (환경변수 미적용)
일반적으로 시스템관리자는 root계정으로 서버작업을 하고자 할 때에 원격에서 바로 root사용자로 로그인하지 않는다.
물론 특별한 설정이 있다면 원격에서 root로 바로 로그인하는 것이 가능하지만 서버보안을 위해서 일반적으로 직접적인 root로그인을 허용하고 있지 않다.
시스템관리자가 가장 많이 사용하는 경우로서 일반계정(sspark)에서 root계정으로 변환하는 예이다.
다음 예는 현재 sspark이라는 계정으로 로그인한 상태이다.
[sspark@sulinux ~]$ id uid=500(sspark) gid=500(sspark) groups=10(wheel),500(sspark) [sspark@sulinux ~]$ |
그리고 아무런 옵션없이 "su"라고만 하면 root로 로그인을 시도한다.
아래 보는 바와 같이 root의 패스워드를 정확하게 입력하면 root권한을 얻을 수 있다.
[sspark@sulinux ~]$ su 암호:********
[root@sulinux sspark]# [root@sulinux sspark]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) [root@sulinux sspark]# |
다음은 root권한을 획득한 후에 확인한 화면이다.
여기서 중요한 것은 "-"또는 "-l"옵션을 사용하지 않았기 때문에 root의 쉘환경변수는 가져오지 못한다.
결론적으로 권한은 root권한이지만 시스템 사용환경을 결정하는 쉘환경은 모두 이전 사용자인 sspark의 환경이라는 것이다.
이를 확인하기 위하여 env로 확인한 것이다.
[root@sulinux sspark]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) [root@sulinux sspark]# [root@sulinux sspark]# env HOSTNAME=sulinux.net SHELL=/bin/bash TERM=vt100 HISTSIZE=1000 SSH_CLIENT=192.168.0.244 2784 22 SSH_TTY=/dev/pts/1 USER=sspark
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01: CCACHE_DIR=/var/cache/ccache SSH_AUTH_SOCK=/tmp/ssh-vrVMnv2342/agent.2342 PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/bin: /usr/bin:/home/sspark/bin MAIL=/var/spool/mail/sspark PWD=/home/sspark INPUTRC=/etc/inputrc CCACHE_UMASK=002 LANG=ko_KR.eucKR SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass HOME=/root SHLVL=2 LESSCHARSET=utf-8 LOGNAME=sspark CVS_RSH=ssh SSH_CONNECTION=192.168.0.244 2784 192.168.0.160 22 LESSOPEN=|/usr/bin/lesspipe.sh %s G_BROKEN_FILENAMES=1 _=/bin/env [root@sulinux sspark]# |
위의 env결과행에서 USER항목값이 여전히 sspark이라는 것에 주목해야 한다.
즉, su를 이용하여 sspark에서 root권한을 획득하였지만 쉘사용환경은 여전히 sspark환경이라는 것이다.
관련자료
-
이전
-
다음