다음 이전 차례

3. NIS master 서버를 어떻게 설정하는가

  1. nis 패키지를 설치합니다. RPC daemon들(rpc.portmap)을 설치하기 위해 netbase와 netstd도 설치해야 합니다.
  2. master, slave 구분없이 NIS 서버로 사용될 모든 시스템의 이름이 /etc/hosts 파일내에 있어야 합니다. 각 IP 주소 뒤에 첫 번째 hostname이 FQDN(Fully Qualified Domain Name)이어야 하고, 그에 이어 domainname을 제외한 hostname만을 기입합니다. 예를 들면:
    192.168.88.10   troi.cistron.nl troi
    

    NIS는 DNS를 사용하지 않기 때문에 NIS server 내의 NIS host file(보통 /etc/hosts)도 이 설정을 해야 합니다.

  3. /etc/defaultdomain에 NIS domain을 설정합니다. NIS domain은 NIS를 사용하는 시스템들의 그룹을 나타내는 이름으로 hostname과는 다릅니다. 이것은 보통 DNS domainname을 이것에도 사용합니다.

    이것은 많은 사람들에 의해 보안 위험을 지적되고 있습니다. domainname을 아는 것만으로 원격지에서 NIS server에 query를 보내고 NIS 맵들을 받을 가능성이 있기 때문입니다. 이것을 막기위해 모호한 domainname을 선택해서는 안됩니다. 단지 지역 네트워크 이외에서 NIS 서버에 접근할 수 없도록 하면 됩니다.

  4. /etc/init.d/nis 파일 내의 ypserv를 master로 (ypserv=master) 설정합니다.
  5. 위에서 말한 것과 같이, 지역 네트워크 번호를 /etc/ypserv.securenets에 추가합니다. 기본값으로 모든 시스템이 NIS server에 접근할 수 있도록 되어 있지만 이렇게 하지 않는 것을 권장합니다.

    보안의 강화를 위해 /etc/ypserv.conf 파일을 수정하여 password를 나오지 않도록(mangle)할 수 있습니다. (네트워크 내에 데비안이 아닌 slave server들이 있을 때에는 이것을 사용해서는 안됩니다.)

  6. "/usr/lib/yp/ypinit -m"을 입력하여 서버를 설정합니다.
  7. 다음을 입력하여 서버를 시작합니다.
    /etc/init.d/nis stop
    /etc/init.d/nis start
    

    서버(ypserv)와 패스워드 데몬(yppasswdd)이 시작됩니다.

    NIS 서버에의 접근을 제한하기를 원하면 NIS 서버를 클라이언트와 마찬가지로 ypbind를 실행하고 /etc/passwd 파일의 중간에 plus-entries를 추가하여 설정합니다. 라이브러리 함수는 첫 번째 NIS entry 후의 모든 normal entries를 무시하고, 나머지를 NIS를 통해 얻게 됩니다. 이 방법은 NIS에의 접근 규칙을 관리하는 방법입니다.

    예:

            root:x:0:0:root:/root:/bin/bash
            daemon:*:1:1:daemon:/usr/sbin:
            bin:*:2:2:bin:/bin:
            sys:*:3:3:sys:/dev:
            sync:*:4:100:sync:/bin:/bin/sync
            games:*:5:100:games:/usr/games:
            man:*:6:100:man:/var/catman:
            lp:*:7:7:lp:/var/spool/lpd:
            mail:*:8:8:mail:/var/spool/mail:
            news:*:9:9:news:/var/spool/news:
            uucp:*:10:50:uucp:/var/spool/uucp:
            nobody:*:65534:65534:noone at all,,,,:/dev/null:
            +miquels::::::
            +:*:::::/etc/NoShell
            [ All normal users AFTER this line! ]
            tester:*:299:10: Just a test account:/tmp:
            miquels:1234567890123:101:10:Miquel van Smooreburg:/home/miquels:/bin/zsh
    

    사용자 tester는 존재하지만, 쉘이 /etc/NoShell로 지정되어 있고, miguels는 보통 접근을 갖게 됩니다.

    다른 방법으로, /var/yp/Makefile을 수정하고 NIS가 다른 패스워드 파일을 사용하도록 설정할 수 있습니다. 큰 시스템에서는, NIS 패스워드와 그룹파일을 일반적으로 /var/yp/ypfiles/에 저장합니다. 이것을 사용할 경우엔 패스워드 파일을 관리하는 "passwd", "chfn", "adduser"등의 일반 관리 도구를 더이상 사용할 수 없게 되어 특별한 도구를 직접 만들어 사용해야 합니다.

    그러나 yppasswd, ypchsh, ypchfn은 yppasswdd를 -D 옵션으로 NIS 패스워드와 쉐도우의 위치를 지정하면 사용할 수 있습니다. 이 유틸리티들과 yppasswdd 데몬의 데비안 버전은 비표준 확장을 가지고 있습니다. "Root"는 root 패스워드를 사용하여 다른 사람들의 패스워드, finger 정보와 쉘을 변경할 수 있습니다.

    NIS 패스워드 파일을 직접 수정하거나 표준 /etc/passwd 파일을 사용한다면, NIS 소스 파일이 이 중의 하나라도 변경된 후 /var/yp 디렉토리에서 make를 실행시켜 NIS 맵을 갱신해야 하는 것을 기억하십시오. 이것은 cron으로 밤에 수행시켜 최신의 NIS 맵을 유지하도록 하는 것이 적당합니다.


다음 이전 차례