본문 바로가기
서버구축 (WEB,DB)

NIS(Network Information Service) 환경 구축

by 날으는물고기 2009. 8. 14.

NIS(Network Information Service) 환경 구축

=> Network Infomation Service/etc의 시스템 파일을 NIS map 형태로 도메인에 참가하고 있는 컴퓨터끼리 공유하는 서비스

※ Sever 지정

# domainname   => 현재 자신의 컴퓨터의 도메인네임을 확인하자~~!
# domainname  blue.org  => 자신이 사용할 도메인이름을 지정하자....
# domainname  => 변경된 도메인 이름을 확인하자~~!

▶ 만약에 이 설정을 계속 유지하고자 한다면 /etc/defaultdomain 파일에 도메인 이름을 지정하시면, 부팅시에 바로 도메인 이름이 지정된다. 

# /usr/sbin/ypinit  -m  => -m 옵션이 NIS의 master서버로 지정하는 옵션이다....

=> 위에서 부터 동그라미 친 부분을 확인하고 입력해야 한다...

   처음에 sol10 이라고 적혀있는 것은 서버 컴의 hostname이다.. 맞으면 걍 "Enter"를 날리자~~~!
   다음에 자신이 설정한 서버컴의 hostname이 확인되는데.. 잘 확인하자... ( 두번째 동그라미부분 확인.. )
   이제 질문이 나온다... 지금의 hostname이 정확한지 묻는 부분이다.. 맞으면 "y"를 입력하자~~!
  자 그럼, 치명적이지 않은 에러발생시 종료할 것이냐고 묻는데... 사소한 에러는 애교로 넘어가고자 하니 "n"을 입력하자~~!
  그럼, 이런저런 메시지들이... 무수히 많이 나온다... ( 대부분 에러 메시지이다... ) 

# touch  /etc/ethers  /etc/netgroup  /etc/timezone  /etc/bootparams

   => 위의 에러메시지가 나오지않게 필요한 파일들을 생성해주자~~!

# vi  /var/yp/Makefile   => NIS와 관련된 makefile의 설정을 변경하여 에러메시지가 나오지 않게 하자..

 =>  38번행의  ALIASES로 시작되는 줄을 주석처리하자...
       464번행의 aliases로 시작되는 줄을 주석처리하자~~!!

다시 NIS서버를 구동시키자..

# /usr/sbin/ypinit  -m  => 에러메시지가 나오는지 확인.. 할 것...

=> 아까와 거의 동일하지만 아래쪽을 보면... 한가지 질문이 더 추가되었다.

   /var/yp/blue.org 파일과 그와 관련된 파일들을 생성할 것인지를 묻는다... ( 당연히 생성하자.. "y"입력.. )

# /usr/lib/netsvc/yp/ypstart  => NIS 서버를 만들었으니.. 실행하자~~!
# ps -ef | grep yp                 => NIS 서버가 실행되었는지 확인..

=> 확인하면 위와 같이 여러개의 yp와 관련된 프로세스들을 확인 할 수 있다.

# cd  /var/yp   => "/var/yp"디렉토리로 이동~~!
# ls  => => "/var/yp"디렉토리에 "blue.org"나 다른 연관 파일들이 잘 생성되었는지 확인하자....
# /usr/ccs/bin/make   => make를 실행하자~~! ( 변경된 내용들을 update한다.. )

 

◆ NIS 에서 사용하는 명령어...

ypcat  => ypcat <맵파일> 하면 정보를 확인 할 수 있다.
ypmatch => ypmatch <검색대상> <맵파일>  하면 맵파일 정보에서 <검색대상>만 검색한다.
ypwhich  => NIS의 서버이름을 출력한다.
ypwhich -m  => NIS 와 관련된 맵파일들을 보여준다.. ( 무슨 파일들이 있는지 확인.. ) 

# ypcat hosts => NIS 마스터 서버의 /etc/hosts 정보를 보여준다.. ( update전의 정보.. )
# ypcat passwd => NIS 마스터 서버의 /etc/passwd 정보를 보여준... ( 역쉬 update 전의 정보 )
# ypmatch blue passwd  => NIS 마스터 서버의 passwd맵파일중에서 blue와 관련된 내용을 검색해서 출력
# ypwhich  => NIS 마스터 서버의 이름... (hostname)을 보여준다.
# ypwhich -m  => NIS 마스터 서버의 맵파일들을 보여준다. 

# vi  /etc/hosts  => /etc/hosts 파일의 내용을 변경하자~~!

192.168.40.70    sol10     loghost
192.168.40.60    serv
192.168.40.1      win

=> 위와 같이 내용을 수정해보자...

# ypcat hosts  => 수정된 내용이 아닌 수정되기 전의 내용이 보여진다.... 

# cd /var/yp   => make로 update하기 위해 /var/yp 디렉토리로 이동한다..
# /usr/ccs/bin/make  => make를 실행시켜서 NIS 마스터 서버의 내용들을 update한다.. 

# ypcat hosts  => 이제는 위에서 수정된 내용이 보이는 것을 확인 할 수있다..

 

※ Client 서버 설정~~!

# vi  /etc/nsswitch.conf  => nsswitch.conf에서 nis를 지정해주어야 사용 가능...

=> 위의 내용들에 nis를 추가하면 nis에 설정된 내용을 적용할 수 있다.

    모든 내용에 nis를 적용시키고 싶다면... 위의 방법보다는 /etc/nsswitch.nis 파일을
    /etc/nsswitch.conf 파일로 덮어씌우면 모든 내용이 적용된다..

# vi  /etc/hosts  => /etc/hosts 파일에 NIS master 서버의 이름을 추가하자...

192.168.40.70    sol10    => 이 부분 추가... ( 이 부분이 NIS master 서버의 이름이다.. )

# domainname blue.org   => 도메인 이름을 NIS master 컴과 동일하게 지정.. ( 같은 도메인에 가입되어야 하므로... )

# /usr/sbin/ypinit  -c  => NIS Client 서버로 지정한다..

=> 제일먼저 next host to add : 이부분에 NIS master 서버의 이름을 추가하자.... 그럼 한줄 더 나오는데 걍 "enter"입력

   그럼 NIS master 서버의 이름을 보여준다. 
   이제는 마지막으로 서버 이름이 맞는지 물어본다....  맞으면 "y"를 입력하자~~!
   입력이 완료되면 특별한 메시지가 뜨지않지만, 설정이 된 것이다. 

# /usr/lib/netsvc/yp/ypstart  => NIS 를 실행하자... ( 잘 실행되면 start라는 메시지를 확인 할 수 있다. )

# ps -ef | grep yp   => NIS가 잘 실행되었는지 확인...

 => NIS master 서버와는 다르게 ypbind 하나만 잡힌다...

# ypwhich  => NIS master 서버의 이름을 보여준다. ( 내경우엔 sol10으로 보여줌.. )

 

▶ 자 이제 NIS 연결설정이 완료되었으니 테스트를 해보자~~!

먼저 NIS master 서버에서 유저를 추가해보도록 하자~~!

# useradd -u 500 -d /work  love  => uid값을 500으로 갖는 홈디렉토리를 /work로 지정된 love라는 유저를 생성하자~!
# passwd love   => love 유저의 패스워드를 지정하자~~!
# cd /var/yp  => 설정이 변경되었으니 업데이트를 위해 /var/yp디렉토리로 이동
# /usr/ccs/bin/make  => 업데이트하자...
 

이제 NIS Client 서버로 이동하자~~!

# ypmatch  love  passwd  => passwd란 맵파일에 love가 있는지 검색..하자.. ( 검색되어 나온다.. )
# cat /etc/passwd | grep love  => 자신의 컴퓨터에 love라는 유저가 추가되었는지 확인.. ( 추가안되었다. )

=> 추가로 /work 디렉토리가 없으면 만들어주자~~!

 

자~~ 그럼 다른 OS로 이동해 telnet을 이용해 NIS Client 컴퓨터로 접근하자...

그리고 love 유저로 로그인하자~~! ( 아까 확인할때 /etc/passwd에는 존재하지 않았다.. 따라서 안되야 한다. )

접속이 잘 될 것이다.... ( NIS 서버에 의해 정보가 공유되기 때문에.... 접속이 가능해진다.. )

 

※ 마지막으로 NIS 설정을 해제하자~~!

먼저 NIS master 컴퓨터의 NIS 설정을 해제하자~!

# /usr/lib/netsvc/yp/ypstop   => 일단 NIS 서비스를 정지하자...
# ps -ef | grep yp   => 정지되었는지 확인...
# rm -r /var/yp/blue.org  => blue.org 디렉토리를 모두 삭제하자...
# rm  /etc/ethers  /etc/netgroup  /etc/timezone  /etc/bootparams  => 서버 설정을 위해 생성한 파일 삭제. 

이제는 NIS Client 컴퓨터의 NIS 설정을 해제하자~~!

# /usr/lib/netsvc/yp/ypstop   => 역시 젤 먼저 NIS 서비스 정지~~!
# ps -ef | grep yp  => 역쉬 정지되었는지 확인...~~!
# passwd blue  => 패스워드 변경이 안된다.. ( nsswitch.conf 에 nis 설정이 되었기 때문이다.. )
# vi  /etc/nsswitch.conf  => 그럼 nsswitch.conf에 설정된 nis 설정 삭제...
  => 위에서 자신이 추가한 nis 내용들을 전부... 삭제하자`~!

◎ 만약 nsswitch.nis 파일을 덮어 씌웠다면 다시 nsswitch.files 파일을 nsswitch.conf 파일로 덮어씌우고, hosts 부분에 dns를 추가해서.. 원상 복구시키자....

# passwd blue => 이제 패스워드 변경이 가능하다...


출처 : http://blog.naver.com/sweatmeat

728x90

댓글