1992.10.12

SUBJECT: Solaris 2.x NIS

 1. 정의

   1) NIS : Network Information Service

             local area network에서 service하고,시스템에대한 정보를 제공하는 services.

   2) NIS map : local area network상에서 시스템들에 관한 정보를 유지보수하는 database

                같은 entry들.

   3) Domain : domain은 같은 NIS map을 통해 access하는 시스템들의 group을 말한다.

   4) DNS : Domain Name Service

            local과 먼거리 network상에 etwork을 통해 시스템들에 관한 정보를 제공하는

            TCP/IP protocal family의 name service.

 2. NIS Client utility

    - 종 류 : ypcat

              ypchsh
 
              ypchfn

              ypmatch

              yppasswd

              ypset

              ypwhich

              ypbind ( daemon )

 3. NIS server utility

   - 종 류 : ypinit

             yppoll

             ypxfr

   - 삭제된 부분

      - yppush

        makedbm

        ypmake

        ypserv ( daemon )

        rpc.yppasswdd ( daemon )

        ypxfrd ( daemon )

        rpc.ypupdated ( daemon )

  4. NIS switch

   # cat /etc/nsswitch.conf

#
# An example file that could be copied over to /etc/nsswitch.conf; it
# uses NIS (YP) in conjuction with files.
#
# "hosts:" and "services:" in this file are used only if the /etc/netconfig 
# file contains "switch.so" as a nametoaddr library for "inet" transports.

# the following two lines obviate the "+" entry in /etc/passwd and /etc/group.
passwd:     files nis
group:      files nis

# consult /etc "files" only if nis is down. 
hosts:      nis [NOTFOUND=return] files
networks:   nis [NOTFOUND=return] files
protocols:  nis [NOTFOUND=return] files
rpc:        nis [NOTFOUND=return] files
ethers:     nis [NOTFOUND=return] files
netmasks:   nis [NOTFOUND=return] files	
bootparams: nis [NOTFOUND=return] files
publickey:  nis [NOTFOUND=return] files

netgroup:   nis

automount:  files nis
aliases:    files nis

# for efficient getservbyname() avoid nis
services:   files nis

 * 위의 화일은 /etc/nsswitch.nis의 예이다.

   그곳에는 nsswitch.conf , nsswitch.files , nsswitch.nis , nsswitch.nisplus등의

   4가지 화일이 있다.

   nsswitch.files , nsswitch.nis , nsswitch.nisplus등을 nsswitch.conf로 copy하여

   setting한다.

   여기서 nsswitch.files은 NFS , nsswitch.nis는 yp, nsswitch는 nsswitch.nisplus를

   말하게 된다.

  5. Name service overview

     NIS+ 의 목적 : 복잡한 network상에서 단순한 관리를 위해.

     NIS에서의 security model을 개선.

  6. NIS+의 이점.

     - Hierachical Name space ( 예 : user@bumpcity.Eng.Sun.COM )

     - NIS는 단지 flat Name space만을 제공.

     - 커다란 network을 관리하기위해 Hierarchy구조 사용.

     - NIS+ 는 DNS와 NIS의 공동사용을 대치.

     - NIS보다 빠른 관리능력 제공.

     - 전체 map을 대치하지 않아도 map의 변경이 가능.

     - NIS보다 더 낳은 security를 제공.

     - NIS+ namespace는 NIS+ information이 저장된 구조형태이다.

     - NIS+ architecture는 Hierarchical Name space이다.

     - 각 domain을 분리하여 관리할수 있다.

     ex) NIS+ architecture

         ( page 12 )

  7. command

     Function                      NIS              NIS+

  map에있는 data를 보여줌         ypcat            niscat

  database를 install하고 만듬     ypinit           nisinit

  map에있는 key를 match           ypmatch          nismatch

  name server의 directory         /var/yp          /var/nis


  8. NIS & NIS+

     - configuration files

       NIS : /var/yp/*

       NIS+: /var/nis/*

  9. NIS의 client  configuration

     1) ypinit -c를 수행.(여기서 server를 추가)

     2) automatic script

        - /etc/rc2.d/s71rpc는 ypbind를 시작시킨다.

  10. NIS+ client  configuration

     1) /etc/hosts를 등록

     2) client configuration을 초기화

        - nisinit -c

     3) nis에서 nis+로 변경하기위해서는 /etc/nsswitch.nis+를 /etc/nsswitch.conf로

        변경하여야 함.

  11. root master server를 configuration

      1) domainname을 만듬

          # domainname > /etc/defaultdomain

      2) dictionary와 root object를 추가

          - nisinit -r

      3) NIS+ server daemon을 시작

          - rpc.nisd -r &

      4) 비어있는 standard table을 set-up

         - /usr/lib/netsvc/nis/nissetup
           domainname

      5) /etc하의 file들로부터 table에 entry를 추가.

  12. non-root master server를 configuration

      1) domain 의 client처럼 구성.

      2) rpc.nisd가 운영되고 있는지를 확인.

      3) directory object를 만듬.

         - nismkdir -m domain

      4) 비어있는 standard table을 set-up

         - /usr/lib/netsvc/nis/nisetup/domainname

      5) /etc file들로부터 table에 entry를 추가 함.

  13. NIS client를 set-up하는 Example

      1) vi /etc/inet/hosts

         ( 여기에 address와 name을 등록 )

      2) vi /etc/defaultdomain

      3) cp /etc/nsswitch.nis /etc/nsswitch.conf

      4) ypinit -c

      5) /usr/lib/netsvc/yp/ypbind

      6) ypwitch

Revision History
Created                  on 12 Oct , 1992