DATA 전문가로 가는 길

[Unix/Linux] Solaris 10 - 네트워크 설정, 암호화 방식 변경, 홈 디렉토리 변경 및 쉘 변경(bash), SSH 환경 설정 본문

OS/Fundamental

[Unix/Linux] Solaris 10 - 네트워크 설정, 암호화 방식 변경, 홈 디렉토리 변경 및 쉘 변경(bash), SSH 환경 설정

EstenPark 2011. 1. 9. 17:50
1. 홈 디렉토리 변경

[ 설명 ] 기본적으로 사용하는 Shell /sbin/sh로 되어 있기 때문에 사용하는데 불편합니다. 리눅스에서 자주 사용하던 bash로 변경 하도록 하겠습니다.

그리고 root계정으로 접속 하게 되면 홈 디렉토리가 / 되어 있어서 수많은 디렉토리가 보일 것입니다. 이 부분도 /root로 이동하게 만들겠습니다.

 

bash-3.00# mkdir -m 700 /root

bash-3.00# vi /etc/passwd

root:x:0:1:Super-User:/root:/bin/bash

bash-3.00# su -

Oracle Corporation      SunOS 5.10      Generic Patch   January 2005

-bash-3.00# echo $SHELL

/bin/bash

 

[ 설명 ] 패스워드 암호화 방식을 변경 하는 부분으로 가급적이면 아래 작업은 차분하게 진행 하시기 바랍니다.

-bash-3.00# vi /etc/security/policy.conf

CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6

CRYPT_DEFAULT=md5

 

-bash-3.00# passwd root

New Password:

Re-enter new Password:

passwd: password successfully changed for root

 

[ 설명 ] /etc/shadow 파일을 root 계정의 암호를 확인 하면 암호 처음시작이 md5로 나오게 됩니다.

-bash-3.00# cat /etc/shadow |grep '^root'

root:$md5$Qwq.SQmw$$SCcJJeR5aCM0M1hRrZkmU0:14980::::::




2. Solaris 기본 설정 변경

[ 설명 ] 본 문서에서 기본 쉘 bash를 사용하기 때문에, /etc/profile을 변경해야 합니다. 아래와 같은 내용을 다음 추가해주시기 바랍니다.

 

-bash-3.00# vi /etc/profile

 

#       Default bash shell configuration

tty -s && stty cs8 -istrip defeucw

if [ "$TERM" = "dumb" ] || [ "$TERM" = "dumb-" ]; then

        LANG=C; export LANG;

fi

 

case "$0" in

bash | -bash)

         PS1='\[\033[1;77m\][\D{%Y-%m-%d %H:%M:%S}]-\[\033[1;33m\][\u@\h:\w]\n\$\[ \033[0m\] '

        if [ "$0" == "-bash" ]; then

                if [ -f ~/.bashrc ]; then

                        . ~/.bashrc

                else

                        export HISTCONTROL=erasedups

                        alias ll="/usr/bin/ls -alhF"

                        alias pp="/usr/bin/ps -eo 'user,pid,ppid,time,comm,s,zone

,class,pri,rss,pmem'"

                fi

        fi

        ;;

sh | -sh)

        PS1="`/usr/ucb/whoami`@`hostname` "

        case `/usr/xpg4/bin/id -u` in

                0) PS1="${PS1}# ";;

                *) PS1="${PS1}$ ";;

        esac

        ;;

esac

export PS1

EDITOR=vi; export EDITOR

CC=cc; export CC

CXX=CC; export CXX

PATH=/usr/local/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/openwin/bin:/usr/platfor

m/`/usr/bin/uname -i`/sbin; export PATH

LD_LIBRARY_PATH=/usr/local/xml/lib:/usr/local/ssl/lib:/usr/local/db/lib:/usr/plat

form/`/usr/bin/uname -i`/lib:/usr/local/lib:/usr/lib:/usr/ucblib:/usr/ccs/lib;exp

ort LD_LIBRARY_PATH

MANPATH=/usr/man:/usr/local/share/man:/usr/sfw/man:/usr/openwin/man:/usr/X11/man:

/opt/sunstudio12.2/man; export MANPATH

 

[ 설명 ] .bashrc의 내용 중 PROMPT_COMMAND는 직전 실행 했던 커맨드의 리턴 코드가 0이 아닌 경우 출력하기 위해 넣은 것입니다.

[root@rac1:~]

$ cat .bashrc

# Allas

alias   cls=clear

alias   cp='cp -i'

alias   dir='ls -alF \!* | more'

alias   rm='rm -i'

alias   mv='mv -i'

alias   l='ls -F'

alias   ls='ls -F'

alias   ll='ls -al'

alias   psg='ps -ef | grep -v grep | grep '

 

export PROMPT_COMMAND='RET_VALUE=$?; if [ "$RET_VALUE" != "0" ]; then RET_VALUE="${RET_VALUE} "; else RET_VALUE=""; fi'

 

[ 설명 ] .bash_profile을 생성 후 /etc/skel에 넣어 줍니다.

[2011-01-07 17:17:47]-[root@rac1:~]

# touch .bash_profile; cp .bash_profile .bashrc /etc/skel/




3. /etc/hosts 파일 설정


[ 설명 ] hostname를 지정합니다. 설정 하기 위해서는 /etc/hosts 파일에서 설정을 해야 합니다. 

 

[2011-01-07 15:43:46]-[root@rac1:~]

# vi /etc/hosts

#

# Internet host table

#

::1                              localhost

127.0.0.1                     localhost

 

#Public IP

192.168.111.10            estenpark     loghost



 

4. 네트워크 설정 변경


[ 설명 ] 처음 이더넷 카드를 확인 해보면 한 개만 잡혀 있습니다.

그래서 plumbed를 이용해서 interface를 시스템에서 사용할 수 있게 설정 하도록 하겠습니다.

[2011-01-07 15:43:46]-[root@rac1:~]

# ifconfig -a 

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1

        inet 127.0.0.1 netmask ff000000

e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2

        inet 192.168.111.10 netmask ffffff00 broadcast 192.168.111.255

        ether 0:c:29:6b:2a:2b

 

[ 설명 ] ifconfig -a plumb를 이용하여 디바이스를 Open합니다.

[2011-01-07 15:46:16]-[root@rac1:~]

# ifconfig -a plumb

ifconfig: SIOCSLIFNAME for ip: e1000g0: already exists

[2011-01-07 15:46:25]-[root@rac1:~]

# ifconfig -a

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1

        inet 127.0.0.1 netmask ff000000

e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2

        inet 192.168.111.10 netmask ffffff00 broadcast 192.168.111.255

        ether 0:c:29:6b:2a:2b

e1000g1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3

        inet 0.0.0.0 netmask 0

        ether 0:c:29:6b:2a:35

[ 설명 ] 아래 설정은 추가한 인터페이스인 IP를 설정 하도록 하겠습니다.

[2011-01-07 15:52:13]-[root@rac1:~]

# ifconfig e1000g1 10.10.10.1 netmask 255.0.0.0 up

[2011-01-07 15:52:57]-[root@rac1:~]

# ifconfig e1000g1

e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3

        inet 10.10.10.1 netmask ff000000 broadcast 10.255.255.255

        ether 0:c:29:6b:2a:35

 

[ 설명 ] Network 디바이스가 제대로 설정되었는지 파일을 확인 해보도록 해보겠습니다. 여기까지 설정 후 재 시작 해야 합니다.

[2011-01-07 16:00:30]-[root@rac1:~]

# ls -ltr /etc/hostname*       

-rw-r--r--   1 root     root           5 Jan  6 22:11 /etc/hostname.e1000g0

 

[ 설명 ] 라우터 설정을 확인 하겠습니다.

[2011-01-07 16:04:07]-[root@rac1:~]

# netstat -rn

 

Routing Table: IPv4

  Destination           Gateway           Flags  Ref     Use     Interface

-------------------- -------------------- ----- ----- ---------- ---------

default              192.168.111.2        UG        1         23          

10.0.0.0             10.10.10.1           U         1          0 e1000g1  

192.168.111.0        192.168.111.10       U         1          3 e1000g0  

224.0.0.0            192.168.111.10       U         1          0 e1000g0  

127.0.0.1            127.0.0.1            UH        1         44 lo0

 

[ 설명 ] ping를 이용하여 내부에서 접속이 되는지 확인 합니다.

[2011-01-07 16:05:02]-[root@rac1:~]

# ping 10.10.10.1

10.10.10.1 is alive

 

[ 설명 ] 그 외 네트워크 동작을 확인 하는 방법은 아래와 같습니다.

# netstat -rn                           // 기본 라우터에 대한 설정 정보를 확인

# ifconfig -a                           // 인터페이스 정보 확인

# ping www.google.co.kr            // Ping를 이용하여 외부로 접근 하는지 테스트

# nslookup www.google.co.kr      // DNS 설정 확인

# traceroute www.google.co.kr     // 현재 시스템에서 google 라우터까지 정보를 확인

# arp -a                                // 등록된 호스트 중에서 MAC 주소 확인

# snoop [ip|host name]             // 네트워크 패킷 검사

 

[ 설명 ] 네트워크 IP 변경 하는 방법 입니다.

# ifconfig e1000g0 down

# ifconfig e1000g0 unplumb

# ifconfig e1000g0 plumb

# ifconfig e1000g0 192.168.111.40 netmask 255.255.255.0 up

# vi /etc/hosts

192.168.111.40            estenpark     loghost


[ 설명 ] 네트워크 필수 설정 파일 목록 입니다. 중요한 부분은 /etc/hosts를 가장 먼저 설정하고 IP를 세팅 하시기 바랍니다. 그래야 아래 파일을 모두 hostname을 사용할수 있기 때문입니다.

# /etc/hosts                    // hostname, localhost, ip
# /etc/hostname.e1000g0   // ip
# /etc/nodename              // hostname
# /etc/defaultrouter           // gateway
# /etc/resolv.conf              // dns server ip
# /etc/netmasks                // network, netmask

# /etc/nsswitch.conf           // hosts : file dns


5. ssh 설정 변경

[ 설명 ] /etc/ssh/sshd_config 에서 root 접속 가능하게 변경 하도록 하겠습니다.

# vi /etc/ssh/sshd_config

PermitRootLogin yes

# svcadm restart ssh

[ 설명 ] 위와 같은 에러 메시지는 X11 forwarding failed에러와 같으며 ssh의 환경설정을 변경 하여 접속 하도록 하겠습니다.
[root@estenpark:/etc/ssh]
# perl -ane 'printf"$_\n" if /(ListenAddress|X11)/' /etc/ssh/sshd_config
# Multiple ListenAddress entries are allowed.
#ListenAddress 0.0.0.0       // 주석 처리
#ListenAddress ::             // 주석 처리
# X11 tunneling options
X11Forwarding yes           // yes로 변경
X11DisplayOffset 10



Solaris 10에서 암호화 변경, 네트워크 추가 후 설정, IP 변경, bash 환경으로 변경 등등 입니다.
필요한 사항에 따라서 변경 하시면 됩니다.



Comments