다음 이전 차례

7. NIS+를 설치하기 위해 필요한 것들은 무엇인가?

7.1 필요한 소프트웨어

리눅스 NIS+코드는 GNU C 라이브러리 2를 위해 만들어졌다. 대부분의 상업용 어 플리케이션들이 libc5에 링크를 걸어 놓고 있어서, 리눅스 libc5용으로도 포팅 되어 있다. 여러분은 libc를 가지고 그것을 다시 컴파일 할 수 없다. libc5와 N IS+에는 다음과 같은 문제가 있다. static 프로그램들은 그것과 링크될 수 없고 ,이 라이브러리에 의해 컴파일 된 프로그램들은 다른 libc5버전에서 실행되지 않을 것이다.

여러분은 인텔기반의 플랫홈을 위해, GNU C 라이브러리 2.1로 수정하고 컴파일 해야 할 필요가 있다. 64bit 플랫폼에서는 GNU C 라이브러리 2.1.1로 해야한다. 근간 시스템으로는 데비안 2.x, 레드햇 5.x, 수세 6.x 같은 glibc가 근간인 배 포판을 필요로 할 것이다.

모든 배포판을 위하여, gcc/g++ 컴파일러와 libstc++, ncures를 다시 컴파일할 필요가 있다. 레드햇에서, 여러분은 많은 경우 PAM 설정을 변경하는 것을 많이 하게 된다. 수세 리눅스 6.0 에서는 쉐도우 페키지를 다시 컴파일 할 필요가 있 다.

NIS+ 클라이언트 소프트웨어는 다음으로 부터 얻을 수 있다:

Site            Directory                       File Name

ftp.funet.fi    /pub/gnu/funet                  libc-*, glibc-crypt-*,
                                                glibc-linuxthreads-*
ftp.kerbel.org  /pub/linux/utils/net/NIS+       nis-utils-19990223.tar.gz
ftp.kerbel.org  /pub/linux/utils/net/NIS+       pam_keylogin-1.2.tar.gz

배포판의 glibc는 다음으로 부터 패치할 수 있다.

Site            Directory

ftp.debian.org  /pub/debian/dists/slink
ftp.redhat.com  /pub/redhat/redhat-5.2
ftp.suse.de     /pub/SuSE-Linux/6.0

GNU C 라이브러리를 고쳐서 만든 소프트웨어들에 대해서는 포함된 지시문을 잘 읽어 보길 바란다. 여러분은 NYS에 근간한 libc5 패치를 찾을 수 있다. 표준 li bc5를 대체한 그 소스는 다음 장소에 있다:

Site            Directory               File Name

ftp.kernel.org  /pub/linux/utils/NIS+   libc-5.4.44-nsl-0.4.10.tar.gz

여러분은 http://www.suse.de/~kukuk/linux/nisplus.html 에서 더 많은 정보와 최신 버전의 소스를 얻을 수 있다.

7.2 NIS+ 클라이언트 설치하기

중요사항 : NIS+ 클라이언트를 세팅하기 위하여 서버쪽에서 어떻게 되는지 나와 있는 솔라리스 NIS+ 문서를 읽어보라! 이 문서는 단지 클라이언트 쪽에서 무엇 을 하는지에 대하여만 나와있다!

새로운 glibc와 nis-tool들을 설치한 후에, NIS+ 서버의 새로운 클라이언트들 을 위하여 보증을 해라. portmap이 돌아가고 있다는 것을 확인해라. 그리고 여 러분의 리눅스PC가 NIS+ 서버와 같은 시간이 설정되었는지 체크를 하라. 안전 한 RPC를 위해, 보증이 유효한 약 3분정도 단지 하나의 작은 윈도우를 가진다. 모든 호스트에 xntpd를 실행시키는 좋은 방법이 있다. 이것을 한 후에 다음을 실행하라.

domainname nisplus.domain.
nisinit -c -H <NIS+ server>

아무런 옵션이 없는 시작파일을 초기화하기 위해, nisinit 맨 페이지를 참조하 라. domainname은 항상 리부트 후에 세팅 된다는 것을 명심하라. 만일 네트웍에 서 NIS+ 도메인 네임이 무엇인지 모르면, 여러분의 시스템/네트워크 관리자에게 문의하라.

이제 /etc/nsswitch.conf파일을 변경해야 한다. 단지 publickey뒤에 오는 서비 스는 nisnis밖에 없다는 것을 명심하라. ( "publickey: nisnis" )

그리고 keyserv를 실행시켜라. 명심할 것은 이것이 시스템이 부트될 때, portma p이 실행되고 나서 바로 처음으로 실행되는 데몬이라는 것이다. 시스템에서 roo t의 비밀키를 저장하기 위해, 다음과 같이 실행하라.

keylogin -r
(나는 여러분이 NIS+ 서버에 대한 새로운 호스트를 위해 publickey를 추가 했을 거라 기대한다?)

"niscat passwd.org_dir"은 패스워드 데이터베이스의 모든 엔트리를 나타내야 한다.

7.3 NIS+, keylogin, login 그리고 PAM

유저가 로긴을 했을 때, keyserv를 위해 각 유저의 비밀키를 세팅할 필요가 있 다. 이것은 "keylogin"이라 것에 의해 된다. 쉐도우 패키지에서의 로긴은 glibc 2.1에 의해 컴파일되어 있다면 알아서 세팅한다. PAM aware 로긴를 위하여, 여 러분은 NIS+를 지원하지 않는 pwdb가 아닌 pam_unix_auth 를 사용하기 위해, pam-keylogin-1.2.tar.gz를 설치하고 /etc/pam.d/login파일을 수정해야 한다. 예 를 들어:


#%PAM-1.0
auth            required        /lib/security/pam_securetty.so
auth            required        /lib/security/pam_keylogin.so
auth            required        /lib/security/pam_unix_auth.so
auth            required        /lib/security/pam_nologin.so
account         required        /lib/security/pam_unix_acct.so
password        required        /lib/security/pam_unix_passwd.so
session         required        /lib/security/pam_unix_session.so

7.4 nsswitch.conf 파일

네트워크 서비스 스위치( network service switch ) 파일 /etc/nsswitch.conf 는 /etc/host.conf파일이 호스트를 찾는 방법들을 결정하는 것과 같이, 어떤 정보가 요구 되어졌을때, 그것을 찾는 순서를 결정한다. 예를 들어서 다음 라 인을 보면,

        hosts: files nisplus dns

이것은 호스트를 찾는 펑션에서 먼저 로컬의 /etc/hosts 파일에서 먼저 찾고, 그 다음 NIS+에 의해 찾고, 마지막으로 도메인 네임 서비스(/etc/resolv.conf 와 named)를 통해 찾는다. 이 경우 맞는 것을 못찾았을 경우 에러가 리턴된다.

다음은 NIS+를 위한 /etc/nsswitch.conf의 좋은 예이다.

#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Legal entries are:
#
#   nisplus or nis+     Use NIS+ (NIS version 3)
#   nis or yp       Use NIS (NIS version 2), also called YP
#   dns         Use DNS (Domain Name Service)
#   files           Use the local files
#   db          Use the local database (.db) files
#   compat          Use NIS on compat mode
#   [NOTFOUND=return]   Stop searching if not found so far
#

passwd:         compat
# for libc5: passwd: files nisplus
group:          compat
# for libc5: group: files nisplus
shadow:         compat
# for libc5: shadow: files nisplus

passwd_compat: nisplus
group_compat: nisplus
shadow_compat: nisplus

hosts:          nisplus files dns

services:   nisplus [NOTFOUND=return] files
networks:   nisplus [NOTFOUND=return] files
protocols:  nisplus [NOTFOUND=return] files
rpc:        nisplus [NOTFOUND=return] files
ethers:     nisplus [NOTFOUND=return] files
netmasks:   nisplus [NOTFOUND=return] files
netgroup:   nisplus
bootparams: nisplus [NOTFOUND=return] files
publickey:  nisplus
automount:  files
aliases:    nisplus [NOTFOUND=return] files


다음 이전 차례