JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1에서 이름 지정 및 디렉토리 서비스 작업     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부이름 지정 및 디렉토리 서비스 정보

1.  이름 지정 및 디렉토리 서비스(개요)

2.  이름 서비스 스위치(개요)

3.  DNS 관리(작업)

4.  Oracle Solaris Active Directory 클라이언트 설정(작업)

제2부NIS 설정 및 관리

5.  네트워크 정보 서비스(개요)

6.  NIS 설정 및 구성(작업)

7.  NIS 관리(작업)

암호 파일 및 이름 공간 보안

NIS 사용자 관리

NIS 도메인에 새 NIS 사용자를 추가하는 방법

사용자 암호 설정

NIS 넷 그룹

NIS 맵 작업

맵 정보 가져오기

맵의 마스터 서버 변경

맵의 마스터 서버를 변경하는 방법

구성 파일 수정

구성 파일을 수정하는 방법

/var/yp/Makefile 수정 및 사용

Makefile 작업

Makefile 매크로/변수 변경

Makefile 항목 수정

특정 데이터베이스를 사용하도록 /var/yp/Makefile을 수정하는 방법

데이터베이스를 삭제하도록 /var/yp/Makefile을 수정하는 방법

기존 맵 업데이트 및 수정

기본 세트와 함께 제공된 맵을 업데이트하는 방법

업데이트된 맵 유지 관리

NIS 맵 전파

맵 전송 시 cron 명령 사용

cronypxfr과 함께 셸 스크립트 사용

직접 ypxfr 명령 호출

ypxfr 작업 기록

기본 맵이 아닌 맵 수정

makedbm 명령을 사용하여 기본 맵이 아닌 맵 수정

텍스트 파일에서 새 맵 만들기

파일 기반 맵에 항목 추가

표준 입력에서 맵 만들기

표준 입력에서 만든 맵 수정

NIS 서버 작업

특정 NIS 서버에 바인딩

시스템의 NIS 도메인 이름을 설정하는 방법

NIS 및 DNS를 통한 시스템 호스트 이름 및 주소 조회를 구성하는 방법

NIS 서비스 해제

8.  NIS 문제 해결

제3부LDAP 이름 지정 서비스

9.  LDAP 이름 지정 서비스 소개(개요)

10.  LDAP 이름 지정 서비스에 대한 계획 요구 사항(작업)

11.  LDAP 클라이언트를 사용하여 Oracle Directory Server Enterprise Edition 설정(작업)

12.  LDAP 클라이언트 설정(작업)

13.  LDAP 문제 해결(참조)

14.  LDAP 이름 지정 서비스(참조)

15.  NIS에서 LDAP으로 전환(작업)

용어집

색인

NIS 맵 작업

이 절에서는 다음 내용을 다룹니다.

맵 정보 가져오기

사용자는 언제든지 ypcat, ypwhichypmatch 명령을 사용하여 맵 정보를 가져올 수 있습니다. 이후 예에서 mapname은 맵의 공식 이름과 해당 별명(있는 경우)을 모두 나타냅니다.

맵의 모든 값을 나열하려면 다음을 입력합니다.

% ypcat mapname

맵의 키와 값(있는 경우)을 모두 나열하려면 다음을 입력합니다.

% ypcat -k mapname 

모든 맵 별명을 나열하려면 다음 명령 중 하나를 입력합니다.

% ypcat -x
% ypmatch -x
% ypwhich -x

사용 가능한 모든 맵과 해당 마스터를 나열하려면 다음을 입력합니다.

% ypwhich -m

특정 맵의 마스터 서버를 나열하려면 다음을 입력합니다.

% ypwhich -m mapname

키를 맵의 항목과 일치시키려면 다음을 입력합니다.

% ypmatch key mapname

찾고 있는 항목이 맵의 키가 아닌 경우 다음을 입력합니다.

% ypcat mapname | grep item

여기서 item은 검색 중인 항목에 대한 정보입니다. 다른 도메인에 대한 정보를 가져오려면 이러한 명령의 -d domainname 옵션을 사용합니다.

기본값이 아닌 도메인의 정보를 요청 중인 시스템에 요청된 도메인에 대한 바인딩이 없는 경우 ypbind는 해당 도메인의 서버 목록에 대해 /var/yp/binding/domainname/ypservers 파일을 참조합니다. 이 파일이 없으면 서버에 대해 RPC 브로드캐스트를 실행합니다. 이 경우 요청 시스템과 동일한 서브넷에 요청된 도메인의 서버가 있어야 합니다.

맵의 마스터 서버 변경

선택한 맵의 마스터 서버를 변경하려면 먼저 새 NIS 마스터에서 맵을 작성해야 합니다. 이전 마스터 서버 이름은 기존 맵에서 키-값 쌍으로 발생하기 때문에(이 쌍은 makedbm에 의해 자동으로 삽입됨) ypxfr을 사용하여 복사본을 새 마스터로 전송하거나 맵을 새 마스터에 복사하는 것만으로 충분하지 않습니다. 키를 새 마스터 서버 이름과 다시 연결해야 합니다. 맵에 ASCII 소스 파일이 있는 경우 이 파일을 새 마스터에 복사해야 합니다.

맵의 마스터 서버를 변경하는 방법

  1. NIS 마스터 서버의 관리자로 전환합니다.

    자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  2. 디렉토리를 변경합니다.
    newmaster# cd /var/yp
  3. 작성할 맵을 지정하기 전에 /var/yp/Makefile에 새 맵에 대한 항목이 있어야 합니다.

    그렇지 않은 경우 지금 Makefile을 편집합니다. 이 예에서는 sites.byname 맵의 항목을 추가합니다.

  4. 맵을 업데이트하거나 다시 만들려면 다음을 입력합니다.
    newmaster# make sites.byname
  5. 이전 마스터가 NIS 서버로 유지되는 경우 이전 마스터에 원격 로그인(ssh)하고 /var/yp/Makefile을 편집합니다.

    sites.byname 맵을 만든 Makefile 섹션을 주석 처리하여 맵이 더 이상 만들어지지 않도록 합니다.

  6. sites.bynamendbm 파일로만 존재하는 경우 새 마스터 서버에서 다시 만듭니다.

    먼저 ypcat 명령을 사용하여 sites.byname 파일의 복사본을 역어셈블합니다. 그런 다음 makedbm을 통해 역어셈블된 버전을 실행합니다.

    newmaster# cd /var/yp
    newmaster# ypcat sites.byname | makedbm domain/sites.byname 

    새 마스터에 맵을 만든 후 새 맵의 복사본을 다른 슬레이브 서버로 보내야 합니다. 다른 슬레이브는 새 마스터 대신 이전 마스터에서 새 복사본을 가져오기 때문에 yppush를 사용하지 마십시오. 이를 피하는 일반적인 방법은 새 마스터의 맵 복사본을 다시 이전 마스터로 전송하는 것입니다. 이렇게 하려면 이전 마스터 서버에서 수퍼유저가 되거나 이에 상응하는 역할을 사용하고 다음을 입력합니다.

    oldmaster# /usr/lib/netsvc/yp/ypxfr -h newmaster sites.byname

    이제 yppush를 실행해도 됩니다. 나머지 슬레이브 서버는 여전히 이전 마스터가 현재 마스터라고 간주하고 이전 마스터에서 현재 버전의 맵을 가져오려고 합니다. 클라이언트가 이 작업을 수행하면 새 마스터 이름을 현재 마스터로 지정하는 새 맵을 가져오게 됩니다.

    이 방법이 실패하면 각 NIS 서버에서 루트로 로그인하고 표시된 대로 ypxfr 명령을 실행할 수 있습니다.

구성 파일 수정

NIS는 설정 파일을 지능적으로 구문 분석합니다. 이렇게 하면 NIS 관리가 더 쉬워지지만 NIS 동작이 설정 및 구성 파일의 변경 사항에 더 민감해집니다.

다음 중 하나를 수행하는 경우 이 절의 절차를 사용합니다.

구성 파일을 수정하는 방법

다음 사항에 주의합니다.

  1. 관리자로 전환합니다.

    자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  2. NIS 서버를 중지합니다.
    # svcadm disable network/nis/server
  3. 필요에 따라 파일을 변경합니다.
  4. NIS 서버를 시작합니다.
    # svcadm enable network/nis/server

/var/yp/Makefile 수정 및 사용

기본적으로 /var/yp에 제공되는 Makefile을 요구에 맞게 수정할 수 있습니다. 맵을 추가하거나 삭제하고 일부 디렉토리의 이름을 변경할 수 있습니다.


참고 - 나중에 참조하기 위해 원래 Makefile의 수정하지 않은 복사본을 보관합니다.


Makefile 작업

새 NIS 맵을 추가하려면 맵에 대한 ndbm 파일의 복사본을 도메인의 각 NIS 서버에 있는 /var/yp/domainname 디렉토리로 가져와야 합니다. 일반적으로 이 작업은 Makefile에서 자동으로 수행됩니다. 맵의 마스터로 사용할 NIS 서버를 결정한 후 맵을 편리하게 재구성할 수 있도록 마스터 서버의 Makefile을 수정합니다. 각 서버를 다른 맵의 마스터로 사용할 수 있지만 대부분의 경우 이로 인해 관리 작업에 혼동이 초래됩니다. 한 서버만 모든 맵의 마스터로 설정하십시오.

일반적으로 사람이 읽을 수 있는 텍스트 파일은 awk, sed 또는 grep을 통해 필터링되어 makedbm 입력에 적합하게 만듭니다. 예는 기본 Makefile을 참조하십시오. make 명령에 대한 일반적인 정보는 make(1S)를 참조하십시오.

make에서 인식되는 종속성을 만드는 방법을 결정할 때는 Makefile에 이미 적용된 방식을 사용합니다. make는 종속성 규칙 내 라인의 시작 부분에 탭이 있는지 여부에 매우 민감합니다. 탭이 없으면 달리 구성에 문제가 없는 항목이 무효화될 수 있습니다.

Makefile에 항목을 추가하는 과정에는 다음이 포함됩니다.

예를 들어, Makefile이 자동 마운트 입력 파일에서 작동하려면 auto_direct.timeauto_home.time 맵을 NIS 데이터베이스에 추가해야 합니다.

이러한 맵을 NIS 데이터베이스에 추가하려면 Makefile을 수정해야 합니다.

Makefile 매크로/변수 변경

등호(=) 오른쪽의 값을 변경하여 Makefile에 정의된 변수의 설정을 변경할 수 있습니다. 예를 들어, /etc에 있는 파일을 맵의 입력으로 사용하지 않고 /var/etc/domainname 등의 다른 디렉토리에 있는 파일을 사용하려는 경우 DIRDIR=/etc에서 DIR=/var/etc/ domainname으로 변경해야 합니다. 또한 PWDIRPWDIR=/etc에서 PWDIR=/var/etc/domainname으로 변경해야 합니다.

변수는 다음과 같습니다.

Makefile 항목 수정

다음 절차에서는 Makefile에 데이터베이스를 추가하고 삭제하는 방법에 대해 설명합니다.

특정 데이터베이스를 사용하도록 /var/yp/Makefile을 수정하는 방법

이 절차를 수행하려면 NIS 마스터 서버를 이미 구성한 상태여야 합니다.

  1. 관리자로 전환합니다.

    자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  2. 추가하려는 데이터베이스의 이름을 추가하여 all 단어로 시작하는 라인을 수정합니다.
    all: passwd group hosts ethers networks rpc services protocols \
        netgroup bootparams aliases netid netmasks \
        audit_user auth_attr exec_attr prof_attr \
      auto_direct auto_home auto_direct.time auto_home.time

    항목 순서는 관련이 없으며 구성 라인의 시작 부분에 있는 빈 공간은 공백이 아니라 탭이어야 합니다.

  3. Makefile 파일의 끝에 다음 라인을 추가합니다.
    auto_direct: auto_direct.time
    auto_home: auto_home.time
  4. 파일 중간에 auto_direct.time에 대한 항목을 추가합니다.
    auto_direct.time: $(DIR)/auto_direct
     @(while read L; do echo $$L; done < $(DIR)/auto_direct
     $(CHKPIPE)) | \ (sed -e "/^#/d" -e "s/#.*$$//" -e "/^ *$$/d"
     $(CHKPIPE)) | \ $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto_direct;
     @touch auto_direct.time;
     @echo "updated auto_direct";
     @if [ ! $(NOPUSH) ]; then $(YPPUSH) auto_direct; fi
     @if [ ! $(NOPUSH) ]; then echo "pushed auto_direct"; fi

    구문 설명

    • CHKPIPE는 결과를 다음 명령으로 파이프하기 전에 파이프(|) 왼쪽의 작업이 성공적으로 완료되었는지 확인합니다. 파이프 왼쪽의 작업이 성공적으로 완료되지 않은 경우 프로세스가 종료되고 NIS make terminated 메시지가 표시됩니다.

    • NOPUSHmakefile이 새 맵을 슬레이브 서버로 전송하기 위해 yppush를 호출하지 못하도록 합니다. NOPUSH를 설정하지 않으면 푸시가 자동으로 완료됩니다.

    시작 부분의 while 루프는 입력 파일에서 백슬래시 확장 라인을 제거하기 위한 것입니다. sed 스크립트는 주석과 빈 라인을 제거합니다.

    auto_home이나 기본 맵이 아닌 맵 등 다른 모든 자동 마운트 맵에 대해 동일한 절차를 따릅니다.

  5. make 명령을 실행합니다.
    # make mapname

    여기서 mapname은 만들려는 맵의 이름입니다.

데이터베이스를 삭제하도록 /var/yp/Makefile을 수정하는 방법

Makefile을 사용하여 특정 데이터베이스에 대한 맵을 생성하지 않으려면 다음과 같이 Makefile을 편집합니다.

  1. all 규칙에서 데이터베이스 이름을 삭제합니다.
  2. 삭제하려는 데이터베이스에 대한 데이터베이스 규칙을 삭제하거나 주석 처리합니다.

    예를 들어, hosts 데이터베이스를 삭제하려면 hosts.time 항목을 제거해야 합니다.

  3. time 규칙을 제거합니다.

    예를 들어, hosts 데이터베이스를 삭제하려면 hosts: hosts.time 항목을 제거해야 합니다.

  4. 마스터 및 슬레이브 서버에서 맵을 제거합니다.