- NIS 서버 및 클라이언트 설정하기
- 서버의 NIS 유저 관리하기
- 마스터 서버 혹은 슬레이브 서버와 클라이언트 상의 NIS 설정 해제하기
NIS 는 다양한 네트워크 정보에 대한 중앙집중식의 제어를 제공함으로써 네트워크 관리를 좀더 쉽게 할 수 있도록 하는 것에 촛점을 맞추고 있습니다. NIS 는 호스트 이름, 주소, 유저, 그룹 그리고 네트워크 서비스들에 대한 정보를 저장하고 있습니다. 네트워크 정보에 대한 이러한 집합을 NIS 네임스페이스라고 부릅니다.
NIS 네임스페이스 정보는 NIS 맵이라고 하는 파일들에 저장 됩니다. NIS 맵은 다양한 유닉스 /etc
파일들을 지원하도록 디자인 되었었습니다. 이러한 맵은 이름과 주소 그 이상의 정보들을 저장하고 있습니다. 결과적으로 NIS 네임스페이스는 맵의 거대한 셋 입니다. NIS 맵은 데이타 페이스 파일로써 /etc
디렉토리 밑에 생성(혹은 여러분이 지정한 디렉토리에) 됩니다. 기본적으로 이러한 맵들은 NIS 서버의 /var/yp/domainname
에 저장됩니다. 예를 들어 호스트 정보를 포함하고 있는 맵의 셋은 다음과 같은 정보를 가지고 있습니다:
hosts.byaddr
hosts.byname
Y여러분은 ypwhich -m
커맨드를 실행함으로써 NIS 가 설정된 시스템에서 맵의 전체 셋을 얻으실 수 있습니다.
NIS 는 도메인을 이용해서 누가 네임스페으에 저장된 호스트 이름, 유저 정보 및 다른 관리 정보들에 접근할 수 있는지를 정의 합니다. 그러나 NIS 는 데이타를 저장하는데에 있어서 도메인 구조를 사용하지 않습니다; 그러므로 NIS 네임스페이스는 수평적입니다.
NIS 는 NIS 맵에서 정보가 존재하지 않을 경우 호스트 룩업을 DNS 로 포워딩 하는 포워딩 서비스를 제공하고 있습니다. 솔라리스는 또한 nsswitch.conf
파일을 설정할 수 있도록 함으로써 아래와 같은 룩업 요청이 가능하도록 합니다:
- DNS 로만 보내기.
- DNS 로 먼저 보낸 다음에 만약 DNS 에서 요청에 대한 정보가 발견되지 않으면 그떄 NIS 로 요청하기.
- NIS 로 먼저보낸 다음에 만약 요청에 대한 정보가 발견되지 않으면 그때 DNS 로 요청하기.
NIS 는 DNS 와 유사한 클라이언트-서버 규약을 사용하고 있습니다. 복제된 NIS 서버들이 NIS 클라이언트들에 서비스를 제공합니다. 기본 서버는 마스터 서버라고 부르고 안정성을 위해서 백업 혹은 슬레이스 버서를 가지게 됩니다. 마스터와 슬레이브 서버 둘다 NIS 정보 검색 소프트웨어를 사용하고 둘다 NIS 맵을 저장 합니다.
네임 서비스 switch 파일이 정보를 검색하기 위해 어떠한 네임 서비스를 이용할지, 그리고 어떠한 네임 서비스를 먼저 검색할지를 결정 합니다. 솔라리스는 /etc/ nsswitch.conf
파일을 네임 서비스 switch 파일로 사용합니다. nsswitch.conf
파일은 솔라리스 설치시에 템플릿 파일의 내용과 함께 로딩되고 이들 템플릿 파일들은 다음과 같습니다:
(네임 서비스 템플릿)
Local files - /etc/nsswitch.files
DNS - /etc/nsswitch.dns
NIS - /etc/nsswitch.nis
NIS+ - /etc/nsswitch.nisplus
네임 서비스 캐시 데몬(nscd
)을 올바르게 사용하기 위해서 여러분은 다음과 같은 작업을 수행해야 합니다:
nscd
데몬의 목적을 먼저 기술한다.nscd
데몬을 설정한다.nscd
데몬을 정지시키고 시작시킨다.nscd
데몬을 멀티유저 부팅시에 시작시킨다.
/etc/nscd.conf
설정 파일은 nscd
데몬의 동작을 조정합니다. nscd
데몬은 passwd
, group
, hosts
, ipnodes
, exec_attr
, prof_attr
, 그리고user_attr
데이타베이스에 대한 캐시를 제공합니다. 솔라리스 시스템 콜은 nscd
캐시가 필요한 데이타 유형에 대한 자료를 가지고 있는지 자동적으로 nscd
캐시를 참조 합니다. 표준화된 호출들이 캐시된 데이타를 검색합니다. 이러한 호출들은 getXbyY
같은 형태를 취하는데에 gethostbyname
, gethostbyaddr
등이 바로 그것들입니다.
NIS 서버와 클라이언트 설정을 위한 단계별 절차
여기에서 주어진 단계들은 다음의 작업을 위해서 입니다:
- NIS 마스터 서버 설정하기
- NIS 슬레이브 서버 설정하기
- NIS 클라이언트 설정하기
NIS 마스터 서버 설정하기
1. 도메인 이름을 설정합니다:
# domainname <domain name>
예를 들어:
# domainname sunlab
# domainname > /etc/defaultdomain
# domainname
2. NIS 설정 파일을 설정합니다:
# cd /etc
# cp nsswitch.nis nsswitch.conf
3. 호스트 파일을 설정합니다:
# vi /etc/hosts
NIS 서버의 정보를 추가 합니다. 항상 NIS 설정에서는 서버 이름을 사용하시기 바랍니다.
4.NIS 서버에 존재하는 유저의 홈디렉토리를 설정합니다.
# vi /etc/vfstab
/export/home
항목을 수정하여 /home
을 클라이언트 로컬 유저의 홈 폴더로 사용하도록 합니다. /home
폴더를 로컬 유저의 홈 폴더로 사용하도록 합니다.
# vi /etc/auto_master
모든 라인들을 #
으로 주석처리하고 /home
항목을 to /-
로 변경한 다음에 -nobrowse
를 -browse
로 변경합니다.
# vi /etc/auto_home
모든 항목을 커멘트 처리하고 다음의 명령을 입력합니다:
/export/home <NIS Master Server's name>:/export/home
예를 들어:
/export/home raysvr:/export/home
5. automount 기능을 테스트 합니다:
# automount -v
위의 명령은 원격 파일 시스템이 마운트 되었는지의 여부를 보여줄 것입니다. 만약 /export/home
이 이미 마운트 되었다면/export/home
를 언마운트 하고 automount -v
커맨드를 다시 실행합니다.
6. YP 서비스를 시작시킵니다:
# /usr/lib/netsvc/yp/ypstart
NIS 슬레이브 서버 설정하기
1. 도메인 이름을 설정합니다:
# domainname <domain name>
예를 들어:
# domainname sunlab
# domainname > /etc/defaultdomain
# domainname
2. NIS 설정 파일을 설정합니다:
# cd /etc
# cp nsswitch.nis nsswitch.conf
3. 호스트 파일을 설정합니다:
# vi /etc/hosts
NIS 서버의 정보를 추가 합니다. 항상 NIS 설정에서는 서버 이름을 사용하시기 바랍니다.
4. NIS 서버에 존재하는 유저의 홈디렉토리를 설정합니다.
# vi /etc/vfstab
/export/home
항목을 수정하여 /home
을 클라이언트 로컬 유저의 홈 폴더로 사용하도록 합니다. /home
폴더를 로컬 유저의 홈 폴더로 사용하도록 합니다.
# vi /etc/auto_master
모든 라인들을 #
으로 주석처리하고 /home
항목을 to /-
로 변경한 다음에 -nobrowse
를 -browse
로 변경합니다.
# vi /etc/auto_home
모든 항목을 커멘트 처리하고 다음의 명령을 입력합니다:
/export/home <NIS Master Server's name>:/export/home
예를 들어:
/export/home raysvr:/export/home
5. automount 기능을 테스트 합니다:
# automount -v
위의 명령은 원격 파일 시스템이 마운트 되었는지의 여부를 보여줄 것입니다. 만약 /export/home
이 이미 마운트 되었다면/export/home
를 언마운트 하고 automount -v
커맨드를 다시 실행합니다.
6. YP 서비스를 시작시킵니다:
# /usr/lib/netsvc/yp/ypstart
7. 일단 슬레이브 서버를 NIS 클라이언트로 설정합니다:
# ypinit - c
(n
을 선택해서 프로세스가 에러로 정지 되는 것을 막습니다.)
NIS 마스터 서버의 이름을 입력 합니다. 'Ctrl + d' 를 누르고 'y' 를 누릅니다.
8. 클라이언트를 NIS 슬레이브 서버로 설정합니다:
# ypinit -s <master server name>
예를 들어:
# ypinit -s raysvr
9. 슬레이브 서버의 데이타베이스를 검사 합니다:
# ypwhich -m
NIS 클라이언트 설정하기
1. 도메인 이름을 설정합니다:
# domainname <domain name>
예를 들어:
# domainname sunlab
# domainname > /etc/defaultdomain
# domainname
2. NIS 설정 파일을 설정합니다:
# cd /etc
# cp nsswitch.nis nsswitch.conf
3. 호스트 파일을 설정합니다:
# vi /etc/hosts
NIS 서버의 정보를 추가 합니다. 항상 NIS 설정에서는 서버 이름을 사용하시기 바랍니다.
4. NIS 서버에 존재하는 유저의 홈디렉토리를 설정합니다.
# vi /etc/vfstab
/export/home
항목을 수정하여 /home
을 클라이언트 로컬 유저의 홈 폴더로 사용하도록 합니다. /home
폴더를 로컬 유저의 홈 폴더로 사용하도록 합니다.
# vi /etc/auto_master
모든 라인들을 #
으로 주석처리하고 /home
항목을 to /-
로 변경한 다음에 -nobrowse
를 -browse
로 변경합니다.
# vi /etc/auto_home
모든 항목을 커멘트 처리하고 다음의 명령을 입력합니다:
/export/home <NIS Master Server's name>:/export/home
예를 들어:
/export/home raysvr:/export/home
5. automount 기능을 테스트 합니다:
# automount -v
위의 명령은 원격 파일 시스템이 마운트 되었는지의 여부를 보여줄 것입니다. 만약 /export/home
이 이미 마운트 되었다면/export/home
를 언마운트 하고 automount -v
커맨드를 다시 실행합니다.
6. YP 서비스를 시작시킵니다:
# /usr/lib/netsvc/yp/ypstart
7. 일단 슬레이브 서버를 NIS 클라이언트로 설정합니다:
# ypinit -c
(n
을 선택해서 프로세스가 에러로 정지 되는 것을 막습니다.)
NIS 마스터 서버의 이름을 입력 합니다. 'Ctrl + d' 를 누르고 'y' 를 누릅니다.
8. NIS 데이타베이스를 검사합니다:
# ypwhich -m
NIS 유저 관리하기 (서버 상에서)
새로운 NIS 유저 추가하기
useradd
커맨드나 admintool 을 이용해서 로컬 유저를 등록합니다.
예를 들어:
# useradd -s /bin/bash -d /export/home/<username> -m <username>
# cd /var/yp
# /usr/ccs/bin/make passwd
이 커맨드는 유저를 NIS 데이타베이스에 추가하고 모든 슬레이브 서버의 데이타베이스에 전달할 것입니다.
NIS 유저 삭제하기
NIS 유저를 삭제하는 방법은 다음과 같습니다:
# userdel -r <username>
예를 들어:
# userdel -r test
# cd /var/yp
# /usr/ccs/bin/make passwd
유저 패스워드 변경하기
유저가 패스워드를 변경하는 방법은 다음과 같습니다.
클라이언트 머신에 NIS 유저로 로그인 한 다음에 다음의 커맨드를 이용합니다:
% passwd -r nis
현재 패스워드를 입력합니다. 새로운 패스워드는 반드시 기존의 패스워드와 3개 이상의 문자가 달라야 하고 알파벳 혹은 숫자여야 합니다.
참고: 유저가 패스워드를 잊어 버릴 경우에 복구할 수 있는 방법은 여러가지가 있지만 필자는 그냥 새로운 패스워드를 지정할 것을 추천합니다.
마스터/슬레이브 서버 와 클라이언트에서 NIS 설정제거하기
1. NIS 서비스를 정지 합니다:
# /usr/lib/netsvc/yp/ypstop
2. NIS 설정 파일들을 제거 합니다:
# cd /etc
# cp nsswitch.files nsswitch.conf
# rm defaultdomain
# cd /var/yp/bindings
# rm -r <domainname>
3. automount 설정을 변경합니다:
# vi /etc/auto_master
원격 마운트와 관련된 항목들을 커멘트 처리 합니다.
4. 시스템을 재부팅 합니다:
# reboot
이 글의 영문 원본은
Configuration and Administration of NIS Server and Client
에서 보실 수 있습니다.
'Linux' 카테고리의 다른 글
SH키를 이용한 RSYNC 백업법 (0) | 2010.11.24 |
---|---|
MYSQL 초기 구축 (0) | 2010.11.23 |
MySQL 에러 (5) | 2010.11.22 |
Mount (0) | 2010.11.19 |
아파치 년월일로 로그 출력 (0) | 2010.11.18 |