YP(NIS version 2) SYSTEM 만들기

    박진우 / E-mail : reduck96@monster.scu.ac.kr
    reduck96@landau.scu.ac.kr
    Hitel : REDUCK96

     

 

    전산실 관리자들이라면 다음과 같은 일로 인해 많은 시간을 허비하는 일이 있을 것이다. 새로운 계정을 만들 때, 기존 계정을 가진 User들의 Data를 정리할 때...관리할 컴퓨터가 3~4대정도면 무리 없이 할 수 있을 테지만, 10대 이상이라면 이야기는 달라진다. 만약 여러 사람들의 Data와 계정을 한 곳에서 관리할 수 있다면 얼마나 편하겠는지 생각해 보자. 바로 YP(구 NIS)를 구축하는 것이다.

 

1. YP(구 NIS)란 무엇인가

    YP 의 정식 명칭은 NIS version 2 를 말한다. 그러나 NIS+와 구별 짓기 위해 YP(Yellow Page) system 이라는 이름이 많이 쓰인다. NIS는 Network Information System 의 약자이다.

    1980년대 중반, Sun Microsystem 에서는 두 가지 protocol 을 내놓았는데,
    바로 NFS(Network File System)와 NIS이다. 이들은 Network를 통해 여러 개의 workstationemf 을 하나의 시스템을 사용하는 것처럼 작동 시켜주는 핵심적인 방법이다.
    즉, NFS는 사용자들의 home디렉토리들이 어느 시스템에서나 동일하게 보여지도록 하며, NIS는 passwd 나 group 등의 네트워크 정보 파일들을 하나의 서브에서 관리하도록 하여 나머지 시스템에서 서브에서 제공하는 새로운 정보를 받을 수 있도록 하는 것이다.

    현재 Sun Microsystem 에서는 NIS+를 제공하고 있는데, 이는 NIS version 3에 속하며, 우리가 구축하려고 하는 NIS version 은 2이다.

    YP system의 대략적인 구조도

      

2. YP system 구축을 위한 준비

    YP system 은 네트워크 기반 위에 구축이 되기 때문에 네트워크 상태가 안정적이어야 된다. 네트워크 상태가 불안정하면 data의 손실 및 클라이언트들의 오작동 등 여러 가지 안좋은 현상들이 일어나게 된다. 보통 하나의 서브넷에 서버와 클라이언트들이 같이 물려있으면 괜찮다.

    만약 네트워크의 traffic 및 collision이 자주 일어난다면 라우터를 중간에 넣는 것이 좋다. 필자는 Linux를 이용하여 라우터/게이트웨이를 만들어 사용하고 있다. 이렇게 외부와 내부 네트워크를 단절시킴으로써 얻는 이득은 YP system 을 최상의 상태로 유지 시킬 수 있고 외부에도 YP system 으로 인한 traffic 을 사전에 예방할 수 있다.

    일단, 네트워크가 준비되면 서버가 될 Linux 서버를 준비하면 된다. Linux 서버는 일단 메모리가 커야되고, 특히 하드디스크는 SCSI를 적극 추천한다. YP system 이 구축되면 클라이언트들 모두 서버에 물려있기 때문에 하드디스크에 많은 부하를 주게 된다. 보통 EIDE방식 하드로는 5대 이상의 클라이언트들을 담당하기 벅차다. 그리고 서버가 될 PC의 CPU 는 그렇게 좋은 것을 설치하지 않아도 된다. 서버의 주요 임무는 공유하는 부분의 제공이다. 만약 서버 자체를 사용한다면 CPU는 좋은 것을 설치해 주어야 한다.

     

3. YP system을 위한 서버 만들기

    YP system 은 서버의 역할이 상당히 크다. 필자는 현재 국내에서 가장 많이 사용되는 distribution Linux 로서 Red Hat 4.2X 를 기준으로 설치법을 기술하려고 한다.
    사실 Red Hat 4.2X 에는 기본으로 YP Client/Server 부분이 들어가 있다. 처음 풀 패키지로 설치를 하고 난 뒤 부팅을 하면 메모리상에 ypserv daemon 이 떠있는 것을 볼 수 있다. 일단은 서버를 만들고 난 뒤 Client들을 위한 부분을 다루겠다.

    ※ 주의할 점 : 이 글을 완벽하게 한번 읽고 시작하기 바란다.

 

    3.1  Linux 설치

    이 부분에서 보통 풀 패키지로 설치하는 것이 좋다. 클라이언트에서는 필요 없어도 가끔씩 사용할 프로그램들을 서버에 설치함으로써 그때그때 설치하지 말고 바로 사용할 수 있어서 좋다. 일단 필자는 서버가 될 PC에는 풀 패키지로 설치하는 것을 권한다.

 

    3.2  YP setup

    YP system을 만들기 위해서는 다음의 소스가 필요하다.

      1) yp-client-2.2-7
      2) ypserv-1.1.7-1
      3) yppasswd-0.9-1

      ftp.uni.paderborn.de /linux/local/yp
      ftp.funet.fi /pub/Linux/BETA/NYS/clients
      ftp.lysator.liu.se /pub/NYS/clients
      sunsite.unc.edu /pub/Linux/system/Network/admin

    위의 각 소스는 국내 유명 FTP사이트에서도 구할 수 있다.

    참고로 YP system 은 한가지 치명적인 약점을 지니고 있다. 바로 네트워크상의 보안 문제이다. 각종 데이터가 네트워크상을 돌아다니는데 암호화가 되지 않은 상태로 전달이 되기 때문이다. 만약 외부에서 YP system 을 위한 Group 과 허용조건을 안다면 외부에서도 얼마든지 서버의 내용을 바꿀 수가 있다. 그러나 관리자가 서버내의 보안에 신경을 써준다면 이런 문제는 발생하지 않을 것이다.

    그밖에 NIS에 대한 더 많은 정보를 얻기를 원한다면 다음의 사이트를 방문하기 바란다.

    일단 Linux 가 설치되어 부팅을 한 후의 단계부터 시작하겠다. /etc 로 자리를 옮기자. 그 곳에 가면 ypserv.conf 라는 파일이 있다. 없다면 소스와 같이 있으니 복사하기 바란다. 이 부분을 적절하게 수정해 주자. 수정하는 부분의 설명은 그 파일안에 같이 있다. 대부분 수정할 필요가 없으니 다음 단계로 넘어가겠다.

    /etc/rc.d/init.d/ 로 가면, tpserv.conf 파일이 있다. 이 부분을 편집해야 한다. 우선 관리자가 해야 할 일은 도메인 네임을 정하는 것이다. 보통 도메인 네임은 현재 사용하고 있는 도메인과 같이 정해도 되지만 달라도 된다. 필자의 경우, scu.ac.kr 을 도메인으로 사용하고 있는데, YP system 을 위한 도메인으로 SCUPHY 라는 대문자로 된 도메인을 정하여 사용하고 있다.
    이제 다음의 tpserv.conf 를 보자.

      #!/bin/sh
      #
      # ypserv: Starts the yp-server
      #
      # Version: @(#) /etc/rc.d/init.d/ypserv.init 1.0
      #
      # Author: Joerg Mertin smurphy@stargate.bin.sub.org
      #
      # Source function library.
      . /etc/rc.d/init.d/fuctions
      # getting the YP-Domainname
      . /etc/sysconfig/network
      # See how we were called.
      Case "$1" in
      start)
      echo -n "Setting the domainname to: SCUPHY"
      deamon ypserv
      echo
      touch  /var/lock/subsys/ypserv
      ;;
      stop)
      echo -n "Stopping YP server services: "
      killproc ypserv
      rm -f /var/lock/subsys/ypserv
      echo
      ;;
      *)
      echo "Usage: ypserv.init {start|stop}"
      exit 1
      esac
      exit 0

    관리자가 위의 파일에서 수정해 주어야 될 부분은 SCUPHY 라고 쓰여진 부분이다.
    수정을 하였으면 부팅시 시작할 수 있게 /etc.rc.d/rc3.d/ 에 가서

      1n -s /etc/rc.d/init.d/ypserv.conf S90ypserv

    라는 명령어를 주자. S90ypserv 는 다르게 표현할 수도 있으니 관리자의 판단에 맡기겠다.
    다음으로 yppasswd.init 부분이 init.d 와 rc.3 에 있는지 확인하자.
    만약 없다면 링크시켜 주자.
    yppsswd 는 yppasswd 대몬이 서버에서 메모리상에 올라오면 되는데, yppasswd 는 각 client에서 유저들이 암호를 바꿀 때 작용하는 대몬이다.

    다음으로 /etc/rc.d/init.d 디렉토리에 가서 다음의 명령어를 주자.

      Cbmod a+rx * (이 부분에 대한 설명은 Client부분에서 설명하겠다.)

    이제 시스템을 리부팅하자. Root로 로긴한 뒤, nisdomainname 이라는 명령을 내려보자.
    필자의 경우 domainname 을 SCUPHY 로 주었기 때문에 SCUPHY 라는 이름이 나온다. 만약 안나온다면 여러분은 /etc/rc.d/init.d/ypserv.conf 파일을 제대로 수정하지 않거나 /etc/rc.d/rc3.d/ 부분에서 제대로 링크를 하지 않은 것이다.

    이제 /var/yp 디렉토리로 가자.
    이곳에 가면 Makefile 이라는 파일이 있는데, 이 파일을 수정하는 일은 거의 없을 것이다.
    다만, shadow 시스템을 사용하는 곳이라면 약간의 손질이 필요하다. 필자는 단순한 것을 추종하는 나머지(^^;) shadow 를 시도하지 않았다.

    이제 make 명령을 내려주자. 컴파일하는 도중, 에러메시지가 뜨는데, 무시해도 괜찮다. 컴파일이 끝난 뒤, ls 명령을 주면 새로운 디렉토리가 생성된 것을 볼 수 있다. 바로 도메인네임인 SCUPHY 라는 디렉토리가 생긴다. 이제 NIS 서버부분이 끝난 것이다. 이제 NFS부분을 setup 하자. /etc/exports 를 수정하여야 한다. 일단 관리자는 공유할 디렉토리를 결정해야 한다. 필자는 기본적으로 /home 과 /var/spool/mail 부분을 공유할 것을 추천한다. 눈치 빠른 관리자는 아시겠지만, /home 은 각 User 들의 파일을 공유하는 것이고, /var/spool/mail 은 각 User 들의 mail 들을 한 곳에서 일괄적으로 보관하도록 하는 조치이다.

    다음의 exports 파일을 보자.

      #Exports
      #공유 디렉토리 공유가 허용되는 Client들
      /cdrom
      /home  phy*.scu.ac.kr(rw) monster.scu.ac.kr(rx) Newton.scu.ac.kr(rw)
      /home1 phy*.scu.ac.kr(rw) newton.scu.ac.kr(rw)
      /home2 phy*.scu.ac.kr(rw) newton.scu.ac.kr(rw)
      /var/spool/mail  phy*.scu.ac.kr(rw) newton.scu.ac.kr(rw)
      /usr2  phy*.scu.ac.kr(rx) newton.scu.ac.kr(rw)
      /pub

    위의 설정들을 보면 /cdrom/home/home1/home2/var/spool/mail/usr2/pub 디렉토리를 공유하게 되어 있다.

      monster.scu.ac.kr(rw)
               A       B

    A부분은 허용할 client 의 이름이고, B부분은 읽고 쓰는 것을 허용하는 부분이다.
    rx 는 읽기(Read)만을 허용하는 것이고, rw는 읽고 쓰기를 허용하는 것이다. 그리고 client들의 이름이 중복되는 것이 있다면 와일드 카드(*)를 사용하여 표현할 수도 있다. 이제 NFS서버설정 부분이 끝났다. 과감하게 리부팅을 하자. 이제 더 이상 서버를 끄는 일은 없을 것이다.

    다음으로 Client 들을 설치하는 것이다. 필자는 여러 대의 Client 들에게 동시에 Linux 를 설치하려고 한다. 바로 NFS 를 이용한 인스톨을 하려고 하는 것이다. 사실 Client 들에게는 cd-rom 이 없는 관계로 어쩔 수 없이 NFS로 인스톨 할 수밖에 없다. 그러나 NFS인스톨의 장점은 동시에 여러 대의 Client 에서 Linux 를 인스톨 할 수 있다는 것이다. 위의 서버 부분에서 /pub부분이 공유되게 되어 있는데, 이곳에 Red Hat Linux 인스톨 소스를 놔두면 된다.
    만약 한국에서 제작된 Red Hat Linux 4.2X CD 가 있다면 CD 를 통째로 /pub 부분에 복사하면 되겠다.
    이제 Client 를 만들자.

     

4. Client 만들기

    필자는 Client에 Linux 가 설치되지 않았다는 전재 아래에서 설명을 시작하겠다.
    Linux 설치 디스켓 한 장을 만들자. 그리고 부팅을 하자. 모니터 셋팅을 끝내고 몇 개의 메뉴를 넘기면 어떤 방식으로 인스톨을 할 것인지에 대한 메뉴가 뜰 것이다.
    이 부분에서 과감하게 nfs install 을 선택하자. 그럼 네트워크 인식을 위한 메뉴가 나온다. 처음에는 네트워크 카드를 고르는 것이 나오고, 다음으로는 IP address 를 입력하는 창이 뜬다. 다음에는 NFS server 를 가리키는 부분이 나오는데, 만약 이전 메뉴에서 dns 서버를 설정하지 않았거나 서버가 dns 에 등록되어 있지 않다면 서버의 IP address 를 주어야 된다.

    다음으로는 디렉토리를 기준으로 적으면 된다. Red Hat Linux 4.2X CD 를 /pub 에 통째로 복사를 하였다면 /pub/RedHat 이라고 적어주면 된다. 네트워크 사정에 따라 다르지만, OK를 누르면 마운트에 성공했다는 메뉴가 나온다. 만약 실패했다면 다음 사항을 체크해 보자.

      1) IP address 를 잘 설정하여 주었는가
      2) 마운트할 디렉토리가 서버의 /etc/exports 에서 잘 셋팅되어 있는가
      3) 네트워크 카드가 제대로 인식되어 있는가

    보통 1), 2) 에서 이상을 발견하였다면 문제는 간단하지만, 네트워크 카드가 제대로 인식되지 않는다면 문제가 좀 크다. 보통 autoprobe 로 인식을 해주면 커널이 알아서 인식을 하지만, ne2000 등 저가격 네트워크 카드는 네트워크 카드와 함께 제공된 디스켓을 이용하여 네트워크상태를 체크해야 한다. 이 때 네트워크 카드의 irq 와 io 부분을 알아두자. 다시 설치디스켓으로 부팅을 해서 네트워크 설정부분까지 메뉴를 넘기자. 이때 autoprobe를 하지말고 수동으로 네트워크를 잡아주는 메뉴를 선택하자. 만약 네트워크 카드의 irq 가 5번이고, io 는 320 이라면 다음과 같이 적어주자.

      0x5 , 0x320

    이렇게 적어주면 커널은 위에서 적어준 정보를 토대로 네트워크 카드를 인식한다. 대부분 이런 방법으로 인식이 되지만, 만약 메뉴에서 설치되어 있는 네트워크 카드가 없다면...별수 없다. CD-ROM 을 구하여 PC의 커버를 벗기고 CD-ROM 을 꽂고 한 대씩 Linux 를 설치하는 노가다를 해야 한다. 여하튼 마운트까지 성공하며 sekdma 부터는 일반적으로 설치하는 메뉴와 똑같이 나오니 관리자가 알아서 패키지를 설치하기 바란다. 그리고 당연히 네트워크 부분을 꼭 설정하여 설치하여야 한다. 기본 Linux 설치가 끝난 뒤, 이제 해야 할 일은 ypbind 를 각 client 들에게 설치해 주는 것이다.

 

    4.1 ypbind 설치

    ypbind 소스는 yp-client 소스안에 들어 있다. 컴파일법은 소스안의 README 와 INSTALL 파일을 참조하기 바란다. 일단 컴파일을 하면 몇 개의 파일들이 나온다. 필자는 /usr/sbin 아래에 Copy 를 하였다. 다음으로 yp.conf.example 이라는 파일을 /etc 밑으로 yp.conf 라는 이름으로 Copy 를 하자. Yp.conf 의 내용을 보면 다음과 같다.

      # /etc/yp.conf: configuration file for ypbind. See ypbind(8).
      #
      # Syntax:
      # ypserver <name_of_ypserver>
      # e.g. ypserver server.my.internet.domain

    위의 내용을 수정해야 한다. ypserver 의 이름을 적어주면 되는데, 필자의 yp-server 는 landau.scu.ac.kr 이므로 다음과 같이 적어주면 된다.

      # Syntax:
      # ypserver <Name_of_ypserver>
      ypserver landau.scu.ac.kr

    저장하고 빠져 나온다. 다음으로 해줄 일은 부팅때 ypbind daemon 을 띄우는 스크립트를 만드는 일이다. yp-clients 소스안에 예제가 있는데, 필자의 경우는 다음과 같다.

      # # Setting up NIS:
      # # (NOTE: For detailed information about setting up NIS, See the
      # #  documentation in  /usr/doc/yp-clients*   and/usr/doc/ypserv*.)
      # #
      # # first, we must set the NIS domainname. NOTE: this is not
      # # necessarily the same as your DNS domainname, set in
      # # /etc/resolv.conf!  The NIS domainname is the name of a domain
      # # served by your NIS server.
      #
          if [ -r/etc/nisdomainname ]; then
          ypdomainname 'cat/etc/nisdomainname'
          fi
          # Then, we start up ypbind. It will use broadcast to find a server.
          if [ -d /var/yp ] ; then
          echo "Running ypbind..."
          /usr/sbin/ypbind
          fi
      # Done!

    위의 내용을 ypbindd.init 라는 이름으로 /etc/rc.d/init.d/ 아래에 저장하겠다. 다음으로 해줄 일은 /etc밑에 nisdomainname 이라는 이름으로 다음의 내용을 저장한다.

      SCUPHY

    nisdomainname 이라는 파일의 역할은 위의 ypbindd.init 파일의 내용을 보면 바로 yp- 도메인이름을 결정하는 부분이라는 것을 알 수 있다. 다음은 /etc/rc.d/rc3.d 디렉토리에

      ln  -s /etc/rc.d/init.d/ypbindd.init  S90ypbindd

    라고 링크를 한다.

    여기서 한가지 주의할 사항이 있다. 위의 서버 부분에도 해당이 되는데,  /etc/rc.d/ini.d 아래의 파일들은 모두 실행하는 명령들이라는 점이다. 파일을 만들면 일단 읽기/쓰기 부분만 가능하게 되어있지, 실행은 하지 못하게 되어 있음을 알 수 있다. 다음과 같이 명령어를 주자. /etc/rc.d/init.d 디렉토리에 들어가서,

      chmod a+rx *

    위의 명령어는 모든 유저가 읽고 실행할 수 있는 퍼미션을 주는 것이다. 위의 서버에서도 꼭 해주어야 할 명령이니 주의하기 바란다. 만약 하지 않으면 부팅시 실행이 되지 않기 때문에 daemon 이 뜨지 않는다는 점을 명심하기 바란다.
    이제 passwd 와 group 파일을 수정하자.
    필자의 passwd 파일은 다음과 같다.

      root:Ebdqecb3e2m/y:0:0:root:/root:/bin/bash
      bin:*:1:1:bin:/bin:
      daemon:*:2:2:damon:/sbin:
      adm:*:3:4:adm:/var/adm:
      lp:*:4:7:lp:/var/spool/lpd:
      sync:*:5:0:sync:/sbin:/bin/sync
      shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
      halt:*:7:0:halt:/sbin:/sbin/halt
      mail:*:8:12:mail:/var/spool/mail:
      news:*:9:13:news:/var/spool/news:
      uucp:*:10:14:uucp:/var/spool/uucp:
      operator:*:11:0:operator:/root:
      games:*:12:!00:games:/usr/games:
      nobody:*:99:99:Nobody:/:
      +:*:0:0:::

    위의 파일내용을 보면 마지막 부분에 이상한 기호를 보게 될 것이다. 바로 NIS서버로부터 암호를 얻는 부분임을 알려주는 부분이다. 이에 대한 설명은 yp-client 소스안의 README 파일에 설명되어 있다. 일단 위의 파일내용을 그대로 넣어도 된다.
    단, root의 암호부분(Ebdqecb3e2m/Y)은 베끼지 말아야 한다. 그냥 맨 아래의 +:*:0:0:::부분만을 넣기 바란다.
    group파일도 마찬가지이다.

      root::0:root
      bin::1:root,bin,daemon
      daemon::2:root,bin,daemon
      sys::3:root,bin,adm
      adm::4:root,adm,daemon
      tty::5:
      disk::6:root
      1p::7:daemon,lp
      mem::8:
      kmem::9:
      wheel::10:root
      mail::12:mail
      news::13:news
      uucp::14:uucp
      man::15:
      games::20:
      dip::40:
      nobody::99:
      +:*:0:

    +:*:0:부분만을 첨가하기 바란다. 이제 마지막으로 마운트할 부분, 즉 fstab 을 수정하면
    yp client 부분 설정은 끝이다. fstab 의 역할은 파일시스템의 마운트할 부분을 알려주는 것이다. 이때 관리자들은 주의해야 한다. Fstab 파일을 잘못 수정하면 부팅자체가 안될 수도 있다. 수정을 할 때는 몇 번이고 확인을 하는 것이 나중을 위해 좋을 것이다.
    RedHat 같은 경우 X-Window 에서 control-panel 에서 파일 시스템을 관리하는 관리자가 있으니 이것을 사용해도 된다. 일단 필자는 수작업을 위주로 기술하겠다. 필자의 fstab은 다음과 같다.

      /dev/hdal  /  ext2 defaults 1  1
      /dev/hda3  /phydb  ext2 defaults 1  2
      /dev/hda2  swap  swap defaults 0  0
      /dev/fd0  /mnt/floppy  ext2 noauto  0  0
      /dev/cdrom  /mnt/cdrom  iso9660 noauto, ro  0  0
      none  /proc  proc defaults 0  0
      landau:/home  /home  nfs defaults 1  2
      landau:/home1  /home1  nfs defaults 1  2
      landau:/home2  /home2  nfs defaults 1  2
      landau:/var/spool/mail /var/spool/mail  nfs defaults 1  2

    원래의 fstab에서 추가한 부분은

      landau:/home  /home  nfs defaults 1  2
      landau:/home1  /home1  nfs defaults 1  2
      landau:/home2  /home2  nfs defaults 1  2
      landau:/var/spool/mail/var/spool/mail nfs defaults 1  2

    부분이다.

    필자의 경우 마운트할 디렉토리가 많은 관계로 여러 부분을 마운트 하도록 스크립트를 추가하였다. 중간부분의 /home/home1/home2/var/spool/mail 이라는 부분이 Client 부분의 마운트할 위치이다. 일단 /home/home1/home2/var/spool/mail 부분의 하위 디렉토리를 깨끗하게 지우기 바란다. 만약 디렉토리가 없다면 만들기 바란다. 일반적으로 /home1/home2 부분은 없을 것이다. 필자의 경우 사용자들이 많은 관계로 관리하기 편하게 디렉토리를 나누었기 때문인데, 효율적으로 관리를 원한다면 더 많이 나누어도 상관은 없다. 다만 서버측에서도 디렉토리를 제공하는지 설정파일(서버의 /etc/export)을 확인하기 바란다.

    /etc/fstab을 모두 수정하였으면 이제 리부팅하는 일만 남았다.

 

    4.2 yp Client 테스트

    리부팅을 한 뒤 로긴 프롬프트가 뜨면 절반은 성공이다.
    만약 프롬프트가 안뜨고 NFS server not responding 이라는 글이 나오면 클라이언트쪽의 fstab 을 잘못 적은 것이다. 한참 기다리면 프롬프트가 뜨는데, root 로 로긴을 하여도 프롬프트가 제대로 안 뜰 것이다. 이때는 별수 없다. 하드를 다른 리눅스머신에 꼽아서 /etc/fstab 을 다시 수정하던지 긴급 부팅 디스크로 싱글유저 모드로 들어간 뒤, fstab 을 수정해야 하는 막노동을 해야 한다. 이때는 서버측의 /etc/export 부분을 다시 한 번 확인하자. 일단 로긴이 되었으면 df 명령어로 마운트가 잘 되었는지 확인하기 바란다. 이제 서버에 들어가서 계정하나를 시험삼아 만들어 보자.

    Adduser test 하여 test 라는 계정을 만든 뒤, /var/yp 디렉토리에 가서 make 라고 명령어를 준다. /var/yp 에서 계정을 만들 때마다 make 를 해주는 이유는 계정을 만들 때마다 yp server 에서 제공할 정보를 다시 만들어 주어야 하기 때문이다. 이 부분은 cron 대몬으로 한 시간 꼴로 실행을 시켜준다면 단순노동시간을 줄일 수 있다. 일단 make 명령어를 주면 위에서와 마찬가지로 에러폼이 나오는데 무시하자. 다음으로 클라이언트에서 test 라는 계정으로 로긴을 해보자. 암호는 서버에서 만든 암호를 쳐야 한다. 로긴이 되었는가? 되었으면 축하한다. 이제 다른 Client 들도 위의 순서대로 만들기 바란다. 다음으로는 서버에서 계정을 만들고 /var/yp 에서 make 를 치면 된다.

    yp-client 에서 암호를 바꿀 때는 passwd 명령어가 아닌 yppasswd 명령어로 암호를 바꾸어야 한다. 서버에서 passwd 명령어로 암호를 바꿀 때는 root가 /var/yp 에 가서 make 명령을 주어야 client 에서 변경된 암호를 받게 된다는 점을 명심해 두자.

     

5. yp system이 제대로 돌아가지 않을 때

    5.1  yp server에서 ps -ax 로 ypserv 와 yppasswd daemon 이 제대로 떠있는지 확인해 보자.

    5.2  yp server 에서 도메인 이름이 제대로 들어가 있는지 nisdomainname 명령어로 확인해
          보자.

    5.3  /etc/export 에 있는 디렉토리들이 제대로 각 Client 별로 허용이 되어있는지 확인해 보자.

    5.4  /etc 밑의 YP system 에 관련된 설정파일들을 확인해 보자.

    5.5  yp client 에서 ypbind daemon 이 제대로 떠있는지 ps -ax 명령어로 확인해 보자.

    5.6  yp client 에서 로긴은 되는데 Write 가 되지 않을 때는 Server 측의 /etc/export 에서
          Write가 허용되어 있는지 확인하기 바란다.

    Ypsystem 에 대한 자세한 사항은 /usr/doc/HOWTO/NIS-HOWTO.gz 문서를 참조하기 바란다.

     

6. 후기

    필자의 경우도 초기 NIS-system 을 구축하는데 많은 어려움을 겪었다.
    NIS-system 을 구축하려는 관리자들은 system을 구축하면서 구축단계를 문서화하여 남겨두면 나중에 다시 설치하거나 변경시 많은 도움이 될 것이다. NIS-system은 Sun Microsystem사의 Solaris 를 설치할 때 NIS(yp)와 호환이 되므로 linux 와 Solaris 등 NIS(yp)가 되는 모든 유닉스 Client 에서 사용할 수 있다.

    필자의 E-mail: reduck96@monster.scu.ac.kr
    reduck96@landau.scu.ac.kr
    Hitel: REDUCK96




▲ top

home으로...