YPXFR(8)

명칭
ypxfr - 리모트의 서버로부터 로컬 호스트에 NIS 데이타베이스를 전송 한다

서식
/usr/libexec/ypxfr [-f] [-c] [-d target domain] [-h source host] [-s source domain] [-p path] [-C taskid program-number ipaddr port] mapname

해설
ypxfr 유틸리티는 NIS 데이타베이스(또는 MAP) (을)를 NIS 서비스를 사용해, 있다 NIS 서버로부터 다른 서버에 카피합니다. FreeBSD 그럼 일반적으로, ypxfr 하 yppush(8) (으)로부터 MAP 전송 요구를 받아들였다 ypserv(8) (으)로부터 기동됩니다. 기본적으로, ypxfr 유틸리티를 사용하는 것은, 단일 도메인내에서 복수의 NIS 서버가 사용되는 환경입니다. 1대의 서버( NIS 마스터)는 모든 NIS MAP의 기준이 되는 카피를 관리합니다. 그 외의 서버( NIS 슬레이브)는, MAP에 갱신이 있었을 때 (예를 들면, 유저가 yppasswd(1) (을)를 이용해 패스워드를 갱신했을 때)에, 새로운 버젼의 MAP를 마스터로부터 카피합니다.

실행시, ypxfr (은)는 일시 데이타베이스 파일을 /var/yp/[domainmame] 에 작성해, 지정되었다 source host 에 의해 제공된다 mapname 의 내용으로 묻습니다. MAP 전체의 전송이 완료하면(자), ypxfr 하 mapname 의 낡은 카피를 소거해, 대신에 일시파일을 둡니다. 전송 완료시에, ypxfr (은)는 `현재의 MAP의 클리어'요구를, 로컬의 ypserv(8) 프로세스앞에 송신해, 낡은 MAP를 참조하고 있는 경우에는 클리어 시키려고 합니다.

ypxfr 하지만 작성한 모든 파일이 소유자만 읽고 쓰기 가능한 것은, 보안이기 때문에인 일에 주의해 주세요. NIS MAP와 그것을 격납하는 디렉토리는 통상 root 가 소유하기 때문에, 비특권 유저에 의한 권한이 없는 변경을 막습니다.

모든 NIS 서버간에 일관성을 보관 유지하기 위해서 ypxfr (을)를 cron(8) 작업으로서 정기적으로 실행할 수가 있습니다. 거의 변경되지 않는 MAP는 1 일 1 번 (시스템 사용율이 제일 낮은 심야가 바람직할 것입니다) 갱신하면 좋습니다만, 빈번하게 변경되는 MAP(예를 들면 passwd.byname (이)나 passwd.byuid) (은)는 아마 1 시간에 1 번 갱신해야 하겠지요. cron(8) (을)를 사용해 NIS MAP를 자동적으로 갱신하는 일은 엄밀하게는 필수가 아닙니다. 왜냐하면, 모든 갱신은 NIS 마스터 서버상에서 /var/yp/Makefile 하지만 실행되었을 때에 yppush(8) 에서 전반 되고 있을 것이기 때문입니다. 다만, 통신 불능이 되어 NIS 서버간에 동기가 잡히지 않게 되는 것이 있는 것 같은 큰 네트워크에서는, 좋은 실현 방식입니다.

ypxfr 하지만 제어 단말 없음으로 기동되었을 경우, 예를 들면 ypserv(8) 내부로부터 기동되었을 경우에는, syslog(3) 기구를 사용해, 모든 출력의 로그를 취합니다.

주
FreeBSD 버젼의 ypxfr 하 FreeBSD 의 rpc.ypxfrd(8) 서버와 연동하는 특별한 MAP 전송 프로토콜을 서포트합니다. 이 프로토콜은, 생의 MAP 데이타베이스 파일을 NIS 마스터 서버로부터 전송 하는 일을 허락하기 때문에, 특히 큰 NIS MAP의 경우는, 표준의 전송 방법보다 수배 고속으로. ypxfr 유틸리티는 NIS 마스터 서버상에 rpc.ypxfrd(8) 하지만 등록되어 있는지를 체크해, 존재하는 경우에는 이것을 사용하려고 합니다. 존재하지 않는 경우에는, 표준 프로토콜을 사용해, ypserv(8) (으)로부터 MAP의 내용을 카피해, 새로운 MAP를 작성합니다.

개념적으로는 FreeBSD 의 ypxfrd 프로토콜은 SunOS 의 ypxfrd 프로토콜과 같습니다만, FreeBSD 의 프로토콜은 SunOS 의 프로토콜과는 호환은 아니기 때문에, Sun 의 ypxfrd 서버와 함께 사용하는 일은 할 수 없는 것에 주의해 주세요. FreeBSD 의 슬레이브는, 비 FreeBSD 의 NIS 서버로부터 MAP를 전송 할 수가 있습니다만, 고속 프로토콜을 사용할 수 있는 것은, 마스터 서버도 FreeBSD 의 경우 뿐입니다.

옵션
ypxfr 하지만 서포트하는 옵션은 이하와 같습니다:

-f  MAP 전송을 강제합니다. 통상, NIS 마스터상의 카피가 로컬 호스트상에 있는 카피보다 새롭지 않은 경우에는, ypxfr (은)는 MAP를 전송 하지 않습니다: -f 플래그에 의해, 서버상의 버젼이 새로운가 아닌가에 게 관계없이, 전송 합니다.

-c  로컬 호스트상에서 실행되고 있다 ypserv(8) 프로세스앞에 `현재의 MAP의 클리어'요구를 송신하지 않습니다. 이 플래그는 통상 ypserv(8) (을)를 실행하고 있지 않는 머신상에서 ypxfr (을)를 수동으로 기동할 때에 사용합니다. 이 플래그를 지정하지 않으면 로컬의 NIS 서버와 통신할 수 없기 위해(때문에), ypxfr (은)는 전송을 중지합니다.

-d target domain
    현재의 NIS 도메인은 아닌 다른 도메인명을 지정합니다.

-h source host
    NIS MAP의 카피원의 호스트명을 지정합니다. 이 옵션에 의해 ypxfr 하지만 NIS 마스터 서버로부터 마셔 MAP를 카피하는 일을 프로텍션할 수 있습니다.

-s source domain
    MAP의 전송원의 도메인을 지정합니다. 이것은 2 개의 NIS 도메인간에 전송을 실시할 때에 유용합니다.

-p path
    NIS MAP를 보관 유지하는 최상정도 디렉토리를 지정합니다. 디폴트에서는 이 패스는 /var/yp 입니다. -p 플래그에 의해 다른 패스를 지정해, NIS MAP를 다른 장소에 격납하는 경우에 대처할 수 있습니다. NIS 서버 ypserv(8) 하지만 다른 패스를 사용하도록(듯이) 지시받았을 경우에도, 이 플래그를 ypxfr 에 건네줍니다.

-C taskid program-number ipaddr port
    yppush(8) 에 의한 MAP 전송 요구에의 응답으로서 ypxfr 하지만 ypserv(8) (으)로부터 기동되었을 경우에게만, 이 옵션은 사용됩니다. 이 경우, ypxfr 하 yppush(8) (을)를 `콜백'해 통신할 필요가 있기 때문에, yppush(8) (은)는 IP 주소 ipaddr , 포트 번호 port , 등록 프로그램 번호(registered program number) program-number , 트랜잭션(transaction) ID taskid (을)를 건네주어, 마스터 서버상에서 기다리고 있다 yppush(8) 프로세스와 통신 할 수 있도록(듯이) 합니다.

mapname
    전송 하는 MAP를 지정합니다.

관련 파일
/var/yp/[domainname]/[maps]
    있다 NIS 도메인의 NIS MAP.

관련 항목
yp(8), ypserv(8), yppush(8)

저자
Bill Paul <wpaul@ctr.columbia.edu>