NIS(YP)
- NIS란
NIS는 Network Information Service의 약자이며 YP(Yellow Page)라고도 불린다. RPC(Remote Procedure Call)환경에서 같은 NIS도메인에 속해 있는 호스트들끼리 네트워크자원(호스트명, 사용자계정, 패스워드, 그룹등)을 공유하여 서로 같은 시스템 환경을 제공하는 것이 목적이다.
NIS Master서버는 NIS데이터베이스의 마스터맵을 가지고 있고 이를 업데이트하고 유지하고, 이 정보를 NIS Slave Server에게 제공한다. 또 NIS Client에게 NIS서비스를 제공한다.
NIS Slave서버는 NIS Master서버로부터 NIS데이터베이스를 제공받아 같은 복사본을 보관하고 있는 서버로서 NIS Client에게 서비스를 제공한다.
NIS Client는 Master서버와 Slave서버에게 NIS정보를 제공 받는다. 이때 제공받는 Master나 Slave서버를 가리지 않으며 가장 빠른 응답이 있는 서버의 정보를 이용한다.
- NIS master와 NIS client 구성
· NIS Master Server설정
#vim/etc/hostname
--------------------------------------------------------------------
master.skill.com
--------------------------------------------------------------------
# vim /etc/defaultdomain// NIS에쓸 도메인을 적음
--------------------------------------------------------------------
skill.com
--------------------------------------------------------------------
※ defaultdomain파일은 컴퓨터 시작시 nis도메인을 설정해주는 파일이다. 지금 당장 바꾸고 싶다면 nisdomainname명령어를 이용
# vim /etc/hosts// 보통 NIS는 dns를 안 쓰므로 hosts파일 편집
--------------------------------------------------------------------
172.16.0.1master.skill.com master
172.16.0.2client.skill.comclient
--------------------------------------------------------------------
※ IPFQDNhost 형식으로 적어줌
# vim /etc/default/nis
--------------------------------------------------------------------
...
NISSERVER=master// false로 되있는것을 master로 변경해줌
...
--------------------------------------------------------------------
# /usr/lib/yp/ypinit -m// NIS master서버로 설정
next host to add: master.skill.com// 컨트롤+D를 눌러 빠저나옴
Is this correct? [y/n]y// y를 누름
# make -C /var/yp// 새로고침
# /etc/init.d/nis restart// nis 재시작
· NIS Client 설정
# vim /etc/hostname
--------------------------------------------------------------------
client.skill.com
--------------------------------------------------------------------
# vim /etc/hosts
--------------------------------------------------------------------
172.16.0.1master.skill.com master
172.16.0.2client.skill.com client
--------------------------------------------------------------------
# vim /etc/defaultdomain
--------------------------------------------------------------------
skill.com
--------------------------------------------------------------------
# vim /etc/passwd
--------------------------------------------------------------------
...생략
+::::::// 제일 밑에 이 부분 추가
--------------------------------------------------------------------
# vim /etc/group
--------------------------------------------------------------------
...생략
+:::// 제일 밑에 이 부분 추가
--------------------------------------------------------------------
# vim /etc/shadow
--------------------------------------------------------------------
...생략
+::::::::// 제일 밑에 이 부분 추가
--------------------------------------------------------------------
# /etc/init.d/nis restart
# ypcat passwd// 명령 입력 시 마스터서버에 있는 유저가 보여야함(일반유저만)
# exit
client.skill.com login: // 서버에서 추가해준 유저로 로그인해서 로그인 되면 성공
- NIS master와 NIS slave, NIS client 구성
· NIS Master 설정
#vim/etc/hostname
--------------------------------------------------------------------
master.skill.com
--------------------------------------------------------------------
# vim /etc/defaultdomain// NIS에쓸 도메인을 적음
--------------------------------------------------------------------
skill.com
--------------------------------------------------------------------
※ defaultdomain파일은 컴퓨터 시작시 nis도메인을 설정해주는 파일이다. 지금 당장 바꾸고 싶다면 nisdomainname명령어를 이용
# vim /etc/hosts// 보통 NIS는 dns를 안 쓰므로 hosts파일 편집
--------------------------------------------------------------------
172.16.0.1master.skill.com master
172.16.0.2slave.skill.comslave
172.16.0.3client.skill.comclient
--------------------------------------------------------------------
※ IPFQDNhost 형식으로 적어줌
# vim /etc/default/nis
--------------------------------------------------------------------
...
NISSERVER=master// false로 되있는것을 master로 변경해줌
...
--------------------------------------------------------------------
# /usr/lib/yp/ypinit -m// NIS master서버로 설정
next host to add: master.skill.com// 컨트롤+D를 눌러 빠저나옴
Is this correct? [y/n]y// y를 누름
# /etc/init.d/nis restart// nis 재시작
# make -C /var/yp// 새로고침
· NIS Slave 서버 설정
# vim /etc/hostname
--------------------------------------------------------------------
slave.skill.com
--------------------------------------------------------------------
# vim /etc/defaultdomain// NIS에쓸 도메인을 적음
--------------------------------------------------------------------
skill.com
--------------------------------------------------------------------
※ defaultdomain파일은 컴퓨터 시작시 nis도메인을 설정해주는 파일이다. 지금 당장 바꾸고 싶다면 nisdomainname명령어를 이용
# vim /etc/hosts// 보통 NIS는 dns를 안 쓰므로 hosts파일 편집
--------------------------------------------------------------------
172.16.0.1master.skill.com master
172.16.0.2slave.skill.comslave
172.16.0.3client.skill.comclient
--------------------------------------------------------------------
※ IPFQDNhost 형식으로 적어줌
# vim /etc/default/nis
--------------------------------------------------------------------
...
NISSERVER=slave// false로 되있는것을 slave로 변경해줌
...
--------------------------------------------------------------------
# /usr/lib/yp/ypinit -s master.skill.com// 이 서버를 slave 설정하고 master.skill.com
에서 데이터를 받아옴
# /etc/init.d/nis restart
※ slave 서버 선택사항
passwd파일과 shadow파일, group파일 맨 마지막줄에 +::::(+클론) 이것을 붙여주면 slave서버 에서도 로그인을 할 수 있고 붙여주지 않는 다면 로그인을 할 수 없음 다만 client에게 정보를 제공하는 것은 마스터 서버와 같음. 그러니 쉽게 말하자만 slave서버로 작동 시킨 이상 client에게 정보를 제공하는것은 master서버와 똑같이 작동하고 있고, slave서버에서도 로그인을 가능하게 하려면 client처럼 passwd파일 group파일등에 맨마지막줄에 +:::(+ 클론)을 붙여 주어야함
· NIS Client 설정
# vim /etc/hostname
--------------------------------------------------------------------
client.skill.com
--------------------------------------------------------------------
# vim /etc/hosts
--------------------------------------------------------------------
172.16.0.1master.skill.com master
172.16.0.2slave.skill.comslave
172.16.0.3client.skill.com client
--------------------------------------------------------------------
# vim /etc/defaultdomain
--------------------------------------------------------------------
skill.com
--------------------------------------------------------------------
# vim /etc/passwd
--------------------------------------------------------------------
...생략
+::::::// 제일 밑에 이 부분 추가
--------------------------------------------------------------------
# vim /etc/group
--------------------------------------------------------------------
...생략
+:::// 제일 밑에 이 부분 추가
--------------------------------------------------------------------
# vim /etc/shadow
--------------------------------------------------------------------
...생략
+::::::::// 제일 밑에 이 부분 추가
--------------------------------------------------------------------
# /etc/init.d/nis restart
# ypcat passwd// 명령 입력 시 마스터서버에 있는 유저가 보여야함(일반유저만)
# exit
client.skill.com login: // 서버에서 추가해준 유저로 로그인해서 로그인 되면 성공
※ 만약 NIS를 hosts파일이 아닌 DNS를 이용하여 하고 싶다면 그냥 hosts파일에 적어 둔 것을 지우고 네임서버 구축 뒤 resolv.conf파일에 네임서버 명시해주고 zone파일에 host를 hosts파일에서 매핑 해준 것처럼 존파일에도 해준 뒤 그냥 NIS재시작 하면 됨
- 기타 명령어
ypcat: ypcat <맵파일> 하면 정보를 확인 할 수 있다.(ex. # ypcat passwd)
ypmatch: ypmatch <검색대상> <맵파일>하면 맵파일 정보에서 <검색대상>만 검색한다.
(ex # ypmatch kim passwd = passwd 파일에서 kim을 검색)
ypwhich: NIS의 서버이름을 출력한다.
ypwhich -m: NIS 와 관련된 맵파일들을 보여준다.