탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 이름 지정 및 디렉토리 서비스 작업 Oracle Solaris 11.1 Information Library (한국어) |
4. Oracle Solaris Active Directory 클라이언트 설정(작업)
makedbm 명령을 사용하여 기본 맵이 아닌 맵 수정
NIS 및 DNS를 통한 시스템 호스트 이름 및 주소 조회를 구성하는 방법
10. LDAP 이름 지정 서비스에 대한 계획 요구 사항(작업)
11. LDAP 클라이언트를 사용하여 Oracle Directory Server Enterprise Edition 설정(작업)
이 절에서는 다음 내용을 다룹니다.
사용자는 언제든지 ypcat, ypwhich 및 ypmatch 명령을 사용하여 맵 정보를 가져올 수 있습니다. 이후 예에서 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 소스 파일이 있는 경우 이 파일을 새 마스터에 복사해야 합니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
newmaster# cd /var/yp
그렇지 않은 경우 지금 Makefile을 편집합니다. 이 예에서는 sites.byname 맵의 항목을 추가합니다.
newmaster# make sites.byname
sites.byname 맵을 만든 Makefile 섹션을 주석 처리하여 맵이 더 이상 만들어지지 않도록 합니다.
먼저 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 동작이 설정 및 구성 파일의 변경 사항에 더 민감해집니다.
다음 중 하나를 수행하는 경우 이 절의 절차를 사용합니다.
다음 사항에 주의합니다.
NIS 마스터 서버에서 맵 또는 소스 파일을 삭제해도 슬레이브 서버에서 해당 항목이 자동으로 삭제되지는 않습니다. 슬레이브 서버에서 맵과 소스 파일을 수동으로 삭제해야 합니다.
새 맵은 기존 슬레이브 서버에 자동으로 푸시되지 않습니다. 슬레이브에서 ypxfr을 실행해야 합니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# svcadm disable network/nis/server
# svcadm enable network/nis/server
기본적으로 /var/yp에 제공되는 Makefile을 요구에 맞게 수정할 수 있습니다. 맵을 추가하거나 삭제하고 일부 디렉토리의 이름을 변경할 수 있습니다.
참고 - 나중에 참조하기 위해 원래 Makefile의 수정하지 않은 복사본을 보관합니다.
새 NIS 맵을 추가하려면 맵에 대한 ndbm 파일의 복사본을 도메인의 각 NIS 서버에 있는 /var/yp/domainname 디렉토리로 가져와야 합니다. 일반적으로 이 작업은 Makefile에서 자동으로 수행됩니다. 맵의 마스터로 사용할 NIS 서버를 결정한 후 맵을 편리하게 재구성할 수 있도록 마스터 서버의 Makefile을 수정합니다. 각 서버를 다른 맵의 마스터로 사용할 수 있지만 대부분의 경우 이로 인해 관리 작업에 혼동이 초래됩니다. 한 서버만 모든 맵의 마스터로 설정하십시오.
일반적으로 사람이 읽을 수 있는 텍스트 파일은 awk, sed 또는 grep을 통해 필터링되어 makedbm 입력에 적합하게 만듭니다. 예는 기본 Makefile을 참조하십시오. make 명령에 대한 일반적인 정보는 make(1S)를 참조하십시오.
make에서 인식되는 종속성을 만드는 방법을 결정할 때는 Makefile에 이미 적용된 방식을 사용합니다. make는 종속성 규칙 내 라인의 시작 부분에 탭이 있는지 여부에 매우 민감합니다. 탭이 없으면 달리 구성에 문제가 없는 항목이 무효화될 수 있습니다.
Makefile에 항목을 추가하는 과정에는 다음이 포함됩니다.
all 규칙에 데이터베이스 이름 추가
time 규칙 작성
데이터베이스에 대한 규칙 추가
예를 들어, Makefile이 자동 마운트 입력 파일에서 작동하려면 auto_direct.time 및 auto_home.time 맵을 NIS 데이터베이스에 추가해야 합니다.
이러한 맵을 NIS 데이터베이스에 추가하려면 Makefile을 수정해야 합니다.
등호(=) 오른쪽의 값을 변경하여 Makefile에 정의된 변수의 설정을 변경할 수 있습니다. 예를 들어, /etc에 있는 파일을 맵의 입력으로 사용하지 않고 /var/etc/domainname 등의 다른 디렉토리에 있는 파일을 사용하려는 경우 DIR을 DIR=/etc에서 DIR=/var/etc/ domainname으로 변경해야 합니다. 또한 PWDIR을 PWDIR=/etc에서 PWDIR=/var/etc/domainname으로 변경해야 합니다.
변수는 다음과 같습니다.
DIR= passwd 및 shadow를 제외한 모든 NIS 입력 파일이 포함된 디렉토리입니다. 기본값은 /etc입니다. 마스터 서버의 /etc 디렉토리에 있는 파일을 NIS 입력 파일로 사용하지 않는 것이 좋으므로 이 값을 변경해야 합니다.
PWDIR = passwd 및 shadow NIS 입력 파일이 포함된 디렉토리입니다. 마스터 서버의 /etc 디렉토리에 있는 파일을 NIS 입력 파일로 사용하지 않는 것이 좋으므로 이 값을 변경해야 합니다.
DOM= NIS 도메인 이름입니다. DOM의 기본값은 domainname 명령을 사용하여 설정할 수 있습니다.
다음 절차에서는 Makefile에 데이터베이스를 추가하고 삭제하는 방법에 대해 설명합니다.
이 절차를 수행하려면 NIS 마스터 서버를 이미 구성한 상태여야 합니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
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
항목 순서는 관련이 없으며 구성 라인의 시작 부분에 있는 빈 공간은 공백이 아니라 탭이어야 합니다.
auto_direct: auto_direct.time auto_home: auto_home.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 메시지가 표시됩니다.
NOPUSH는 makefile이 새 맵을 슬레이브 서버로 전송하기 위해 yppush를 호출하지 못하도록 합니다. NOPUSH를 설정하지 않으면 푸시가 자동으로 완료됩니다.
시작 부분의 while 루프는 입력 파일에서 백슬래시 확장 라인을 제거하기 위한 것입니다. sed 스크립트는 주석과 빈 라인을 제거합니다.
auto_home이나 기본 맵이 아닌 맵 등 다른 모든 자동 마운트 맵에 대해 동일한 절차를 따릅니다.
# make mapname
여기서 mapname은 만들려는 맵의 이름입니다.
Makefile을 사용하여 특정 데이터베이스에 대한 맵을 생성하지 않으려면 다음과 같이 Makefile을 편집합니다.