Oracle® Solaris 11.2의 이름 지정 및 디렉토리 서비스 작업: DNS 및 NIS

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

NIS 맵

NIS 맵의 정보는 ndbm 형식으로 저장됩니다. 맵 파일의 형식은 ypfiles(4)ndbm(3C) 매뉴얼 페이지에 설명되어 있습니다.

NIS 맵은 시스템 네트워크에서 동일한 데이터를 공유할 수 있도록 UNIX /etc 데이터와 passwd, shadow, group 등의 기타 구성 파일에 대한 액세스를 확장합니다. 이러한 파일 공유는 데이터 파일의 관리 업데이트 및 관리를 간소화합니다. NIS는 최소한의 조작으로 간단하게 배포할 수 있습니다. 그러나 대형 엔터프라이즈, 특히 보안 요구 사항이 있는 엔터프라이즈에서는 대신 LDAP 이름 지정 서비스 사용을 고려해야 합니다. NIS 실행 네트워크에서는 각 NIS 도메인의 NIS 마스터 서버가 도메인의 다른 시스템에서 질의할 NIS 맵 세트를 유지 관리합니다. NIS 슬레이브 서버도 마스터 서버 맵의 복제본을 유지 관리합니다. NIS 클라이언트 시스템은 마스터 또는 슬레이브 서버에서 이름 공간 정보를 가져올 수 있습니다.

NIS 맵은 기본적으로 2열 테이블입니다. 한 열은 에 해당되며 다른 열은 키와 관련된 정보입니다. NIS는 키를 통해 검색하여 클라이언트에 대한 정보를 찾습니다. 각 맵이 다른 키를 사용하기 때문에 일부 정보는 여러 맵에 저장됩니다. 예를 들어, 시스템의 이름과 주소는 hosts.bynamehosts.byaddr의 두 맵에 저장됩니다. 서버에 시스템 이름이 있고 해당 주소를 찾아야 하는 경우 hosts.byname 맵에서 찾습니다. 주소가 있고 이름을 찾아야 하는 경우에는 hosts.byaddr 맵에서 찾습니다.

NIS Makefile은 설치 시 NIS 서버로 지정된 시스템의 /var/yp 디렉토리에 저장됩니다. 해당 디렉토리에서 make를 실행하면 makedbm이 입력 파일에서 기본 NIS 맵을 만들거나 수정합니다.


주 - 슬레이브에서 만든 맵은 마스터 서버로 자동으로 푸시되지 않으므로 항상 마스터 서버에서 맵을 만듭니다.

기본 NIS 맵

Oracle Solaris 시스템에서는 기본 NIS 맵 세트가 제공됩니다. 이러한 모든 맵을 사용하거나 일부만 사용할 수 있습니다. NIS는 다른 소프트웨어 제품을 설치할 때 만들거나 추가하는 맵을 사용할 수도 있습니다.

NIS 도메인의 기본 맵은 각 서버의 /var/yp/domain–name 디렉토리에 있습니다. 예를 들어, test.com 도메인에 속하는 맵은 각 서버의 /var/yp/test.com 디렉토리에 있습니다.

다음 표에서는 기본 NIS 맵에 대해 설명하고 각 맵에 적합한 소스 파일 이름을 나열합니다.

표 5-3  NIS 맵 설명
맵 이름
해당 소스 파일
설명
audit_user
audit_user
사용자 감사 사전 선택 데이터를 포함합니다.
auth_attr
auth_attr
권한 부여 이름과 설명을 포함합니다.
bootparams
bootparams
부트 중에 클라이언트에 필요한 파일의 경로 이름(root, swap 등)을 포함합니다.
ethers.byaddr
ethers
시스템 이름과 이더넷 주소를 포함합니다. 이더넷 주소는 맵의 키입니다.
ethers.byname
ethers
키가 이더넷 주소 대신 시스템 이름이라는 점을 제외하고 ethers.byaddr과 동일합니다.
exec_attr
exec_attr
프로파일 실행 속성을 포함합니다.
group.bygid
group
그룹 ID를 키로 사용하여 그룹 보안 정보를 포함합니다.
group.byname
group
그룹 이름을 키로 사용하여 그룹 보안 정보를 포함합니다.
hosts.byaddr
hosts
IP 주소를 키로 사용하여 시스템 이름과 IP 주소를 포함합니다.
hosts.byname
hosts
시스템(호스트) 이름을 키로 사용하여 시스템 이름과 IP 주소를 포함합니다.
mail.aliases
aliases
별칭을 키로 사용하여 별칭과 메일 주소를 포함합니다.
mail.byaddr
aliases
메일 주소를 키로 사용하여 메일 주소와 별칭을 포함합니다.
netgroup.byhost
netgroup
그룹 이름, 사용자 이름 및 시스템 이름을 포함합니다.
netgroup.byuser
netgroup
키가 사용자 이름이라는 점을 제외하고 netgroup.byhost와 같습니다.
netgroup
netgroup
키가 그룹 이름이라는 점을 제외하고 netgroup.byhost와 같습니다.
netid.byname
passwd, hosts
group
UNIX 스타일 인증에 사용됩니다. 시스템 이름과 메일 주소(도메인 이름 포함)를 포함합니다. 사용 가능한 netid 파일이 있는 경우 다른 파일을 통해 제공되는 데이터 외에도 해당 파일이 참조됩니다.
publickey.byname
publickey
보안 RPC에서 사용되는 공개 키 데이터베이스를 포함합니다.
netmasks.byaddr
netmasks
주소를 키로 사용하여 IP 제출 시 사용할 네트워크 마스크를 포함합니다.
networks.byaddr
networks
주소를 키로 사용하여 시스템에 알려진 네트워크 이름과 해당 IP 주소를 포함합니다.
networks.byname
networks
키가 네트워크 이름이라는 점을 제외하고 networks.byaddr과 같습니다.
passwd.adjunct.byname
passwdshadow
C2 클라이언트에 대한 감사 정보와 숨겨진 암호 정보를 포함합니다.
passwd.byname
passwdshadow
사용자 이름을 키로 사용하여 암호 정보를 포함합니다.
passwd.byuid
passwdshadow
키가 사용자 ID라는 점을 제외하고 passwd.byname과 같습니다.
prof_attr
prof_attr
실행 프로파일의 속성을 포함합니다.
protocols.byname
protocols
네트워크에 알려진 네트워크 프로토콜을 포함합니다.
protocols.bynumber
protocols
키가 프로토콜 번호라는 점을 제외하고 protocols.byname과 같습니다.
rpc.bynumber
rpc
시스템에 알려진 RPC의 프로그램 번호와 이름을 포함합니다. 키는 RPC 프로그램 번호입니다.
services.byname
services
네트워크에 알려진 인터넷 서비스를 나열합니다. 키는 포트 또는 프로토콜입니다.
services.byservice
services
네트워크에 알려진 인터넷 서비스를 나열합니다. 키는 서비스 이름입니다.
user_attr
user_attr
사용자와 역할의 확장 속성을 포함합니다.
ypservers
해당 없음
네트워크에 알려진 NIS 서버를 나열합니다.

ageing.byname 매핑에는 NIS-to-LDAP 전환이 구현된 경우 yppasswdd 데몬이 암호 에이징 정보를 읽고 DIT(디렉토리 정보 트리)에 쓰는 데 사용하는 정보가 포함되어 있습니다. 암호 에이징이 사용되지 않는 경우 매핑 파일에서 주석 처리할 수 있습니다. NIS-to-LDAP 전환에 대한 자세한 내용은 Oracle Solaris 11.2의 이름 지정 및 디렉토리 서비스 작업: LDAP 의 8 장, NIS-to-LDAP 전환을 참조하십시오.

NIS 맵 사용

NIS를 사용하면 /etc 파일 시스템을 사용할 경우보다 훨씬 간단하게 네트워크 데이터베이스를 업데이트할 수 있습니다. 네트워크 환경을 수정할 때마다 더 이상 모든 시스템의 관리 /etc 파일을 변경하지 않아도 됩니다.

그러나 NIS는 /etc 파일 이상의 보안을 추가 제공하지는 않습니다. 네트워크 데이터베이스 액세스 제한, SSL을 사용하여 네트워크를 통해 검색 결과 보내기, Kerberos 보안 검색과 같은 고급 기능 사용 등의 추가 보안이 필요한 경우 LDAP 이름 지정 서비스를 대신 사용해야 합니다.

예를 들어, NIS 실행 네트워크에 새 사용자를 추가하는 경우 마스터 서버에서 입력 파일을 업데이트하고 make 명령을 실행하면 됩니다. 이 명령은 passwd.bynamepasswd.byuid 맵을 자동으로 업데이트합니다. 이러한 맵은 슬레이브 서버로 전송된 다음 도메인의 모든 클라이언트 시스템과 해당 프로그램에서 사용할 수 있습니다. 클라이언트 시스템 또는 응용 프로그램이 사용자 이름이나 UID를 사용하여 정보를 요청하는 경우 NIS 서버는 passwd.byname 또는 passwd.byuid 맵을 적절하게 참조하고 요청된 정보를 클라이언트에 보냅니다.

ypcat 명령을 사용하여 맵의 값을 표시할 수 있습니다. ypcat 기본 형식은 다음과 같습니다.

% ypcat mapname

여기서 mapname은 검사하려는 맵의 이름 또는 해당 nickname입니다. ypservers와 같이 맵이 키로만 구성된 경우 ypcat –k를 사용합니다. 그렇지 않으면 ypcat가 빈 라인을 출력합니다. ypcat에 대한 추가 옵션은 ypcat(1) 매뉴얼 페이지에 설명되어 있습니다.

ypwhich 명령을 사용하여 특정 맵의 마스터인 서버를 확인할 수 있습니다. 다음을 입력합니다.

% ypwhich -m mapname

여기서 mapname은 마스터를 찾으려는 맵의 이름 또는 별명입니다. ypwhich는 마스터 서버의 이름을 표시하여 응답합니다. 자세한 내용은 ypwhich(1) 매뉴얼 페이지를 참조하십시오.

NIS 맵 별명

별명은 전체 맵 이름의 별칭입니다. passwd.byname에 대한 passwd 등 사용 가능한 맵 별명 목록을 가져오려면 ypcat –x 또는 ypwhich –x를 입력합니다.

별명은 맵 별명과 맵의 전체 이름을 공백으로 구분하여 포함하는 /var/yp/nicknames 파일에 저장됩니다. 이 목록에 추가하거나 수정할 수 있습니다. 현재 500개 별명으로 제한됩니다.