설치하기
두가지로 설치하는 방법이 있는데 첫 번째 방법은 RPM으로 설치하는 방법과 소스로 까는 방법이다. 필자는 개인적으로 여기선 RPM 설치방법을 주로 다룰 것이다. 소스로 깔고 싶다면 http://www.suse.de/~kukuk/nis/download.html 여기서 다운 받기를 권한다.
설치하는 방법은 모두 알 것이다. 압축풀고 configure, make, make install 이다.
- 서버 : ypserv-1.3.9-3.i386.rpm OR ypserv-1.3.11.tar.gz를 설치한다.
- 클라이언트 : yp-tools-2.4-1.i386.rpm ypbind-3.3-28.i386.rpm OR yp-tools-2.4.tar.gz ypbind-3.3.tar.gz를 설치한다.
설정하기
우선 서버와 클라이언트가 될 컴퓨터를 정하자! 왜냐면 각각 설정이 다르기 때문이다. 하지만 아래의 설정은 공통적으로 해주어야 한다. /etc/host.conf 파일에 다음과 고쳐준다.
-----------/etc/host.conf--------------------------------- order hosts,bind muti on --------------------------------------------------------
그리고 /etc/hosts 파일도 다음과 같이 추가시켜준다.
--------------/etc/hosts------------------------------------------------- 127.0.0.1 localhost.localdomain localhost 203.241.128.94 myfeel.hoseo.ac.kr myfeel 203.241.128.91 info.hoseo.ac.kr info 203.241.128.94 nis.linux.net nis <------서버다 203.241.128.91 nis_client1.linux.net nis_client1 <----클라이언트이다 -----------------------------------------------------------------------
그리고 nis 시스템들의 그룹이름을 정해주어야 한다. 다음과 같이 정해준다.
#nisdomainname linux <-----여기선 linux 로 했다.
그리고 /etc/sysconfig/network 에 다음을 추가하자!
---------------------/etc/sysconfig/network------------------------------- NISDOMAIN=linux -----------------------------------------------------------------------
여기까지는 서버와 클라이언트 모두에 설정해주어야 한다.
지금부턴 서버 설정을 해주자!
우선 setup 입력해서 ypserv 에 체크를 해주자! 그리고 /var/yp/Makefile 에다가 다음을 고쳐준다.
고치기전) all: passwd group hosts rpc services netid protocols netgrp mail \ #shadow publickey # networks ethers bootparams amd.home \ auto.master auto.home passwd.adjunct 고친후) all: passwd group hosts rpc services netid protocols netgrp mail \ shadow publickey # networks ethers bootparams amd.home \ #auto.master auto.home passwd.adjunct
고쳐주었다면,
#/etc/rc.d/init.d/yppasswdd start #/etc/rc.d/init.d/ypserv start
데몬을 실행시키자! 확인해보자!
$ ps aux|grep yp root 30450 0.0 0.1 4856 896 ? S Aug09 0:00 rpc.yppasswdd root 30847 0.0 0.5 7480 2776 ? S 10:34 0:00 ypserv root 30858 0.0 0.1 3704 952 pts/16 S 10:35 0:00 grep yp #echo linux > /etc/gshadow #make -C /var/yp
위와 같이 컴파일해준다. 여기서 컴파일 해주는 의미는 패스워드를 갱신한다는 의미이다. 그러므로 일정한 시간마다 갱신을 해주는 것이 좋다. 그러므로 크론 데몬등을 이용해서 갱신해주자! NIS 는 보안적으로 위험하기 때문에 /vat/yp/securenets 파일을 수정해주자!
------------------/vat/yp/securenets----------------------------------- # securenets This file defines the access rights to your NIS server # for NIS clients. This file contains netmask/network # pairs. A clients IP address needs to match with at least # one of those. # # One can use the word "host" instead of a netmask of # 255.255.255.255. Only IP addresses are allowed in this # file, not hostnames. # # Always allow access for localhost 255.0.0.0 127.0.0.0 # This line gives access to everybody. PLEASE ADJUST! 0.0.0.0 0.0.0.0 --------------------------------------------------------------------------
기본 설정은 모든 호스트에 허용이 되어 있다. 이것은 상당히 위험하므로 필수적으로 수정을 해주어야 할것이다. 이제 securenets를 수정해 보자.
# local host에서의 접속을 허용한다.(필수임) 255.255.255.255 127.0.0.1 # 203.249.103. 대의 network를 허용한다. 255.255.255.0 203.249.103.0 위의 설정은 C-클래스 부분을 정하여 허용하는 경우이다. 다음의 설정을 보자. # local host에서의 접속을 허용한다.(필수임) 255.255.255.255 127.0.0.1 # between 131.234.214.0 to 131.234.215.255 255.255.254.0 131.234.214.0 위의 설정은 B-클래스를 설정하는 경우이다. 그리고 tcp_wrapper를 이용한 nis보안설정이 있다. /etc/hosts.allow파일과 /etc/hosts.deny을 설정하는 것이다. 만약 203.249.103. 대의 주소에 있는 클라이언트를 허용하려면 다음의 경우를 보자. /etc/hosts.allow파일내에 다음의 내용을 추가하자. ypserv: 203.249.103. /etc/hosts.deny파일내에 다음의 내용을 추가하자. ypserv: ALL
이렇게 하면 203.249.103.대의 nis클라이언트들만 허용을 접속하게 된다. securenets와 같은 역할을 하게 되는 것이다. 단, securenets는 nis만을 관여하지만, tcp_wrapper는 네트워크에 관련된 전반적인 부분을 관여하게 된다. 이렇게 NIS정보를 제공할 클라이언트를 제한함으로서 보안상의 문제를 해결하기 바란다.
이젠 클라이언트를 설정해주자! setup 에서 /etc/yp.conf 파일을 설정해주어야 한다.
------------------------/etc/yp.conf ------------------------------------- server nis.linux.net ypserver nis.linux.net domain linux ----------------------------------------------------------------------
이제 시작해보자!
/etc/rc.d/init.d/ypbind start
에러가 없다면 성공이다.
#ypcat passwd #yppasswd fat81
제대로 설정이 되었다면 패스워드를 바꿀 수 있을 것이다.