탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 이름 지정 및 디렉토리 서비스 작업 Oracle Solaris 11.1 Information Library (한국어) |
4. Oracle Solaris Active Directory 클라이언트 설정(작업)
10. LDAP 이름 지정 서비스에 대한 계획 요구 사항(작업)
11. LDAP 클라이언트를 사용하여 Oracle Directory Server Enterprise Edition 설정(작업)
이름 서비스 스위치는 관리자가 각 네트워크 정보 유형에 사용할 이름 정보 서비스 또는 소스를 지정할 수 있게 하는 구성 가능한 선택 서비스입니다. 이 서비스를 데이터베이스라고 합니다. 이름 서비스 스위치는 다음과 같은 getXbyY() 인터페이스를 호출하는 클라이언트 응용 프로그램에서 사용됩니다.
SMF 저장소에는 각 시스템의 고유한 구성이 있습니다. 이름 서비스 스위치에 정의된 각 등록 정보는 호스트, 암호, 그룹 등의 특정 데이터베이스를 식별합니다. 각 등록 정보에 지정된 값은 정보를 요청할 소스를 하나 이상 나열합니다. 이러한 값에 지침이나 옵션이 포함된 경우도 있습니다. 지침에는 서비스 시도 횟수, 적용할 시간 초과 또는 서비스가 실패할 경우 수행할 작업 등이 포함될 수 있습니다.
이름 서비스 스위치에서 지원하는 데이터베이스는 다음과 같습니다.
표 2-1 이름 서비스 스위치의 데이터베이스
|
또한 이름 서비스 스위치의 default 등록 정보는 그렇지 않을 경우 정의되지 않는 데이터베이스의 소스 문자열을 정의합니다. 네트워크에서 대부분의 데이터베이스에 동일한 소스를 사용하는 경우 default 등록 정보를 변경하고 각 데이터베이스의 특성은 변경하지 않을 수 있습니다. 절차는 모든 이름 지정 데이터베이스의 소스를 변경하는 방법을 참조하십시오.
이전 릴리스를 지원하려면 enable_passwd_compat 및 enable_group_compat 등록 정보를 true로 설정하여 암호 및 그룹 정보에 대해 compat 모드를 사용으로 설정할 수 있습니다. 이 모드에서는 해당 데이터베이스에서 이전 스타일 + 또는 - 구문을 지원합니다. 현재 릴리스에서 이 기능은 pam_list 모듈로 대체되었습니다.
다음 표에서는 위에 나열된 데이터베이스의 이름 서비스 스위치에 나열될 수 있는 소스 종류에 대해 설명합니다.
표 2-2 이름 서비스 스위치의 정보 소스
|
다음 검색 조건 형식을 사용하여 정보 소스를 하나 이상 선택하고 소스가 사용되는 순서를 지정할 수 있습니다.
단일 소스 — 정보 유형에 소스가 1개뿐인 경우(예: files) 스위치를 사용하는 검색 루틴에서 해당 소스의 정보만 검색합니다. 루틴에서 정보를 찾으면 success 상태 메시지를 반환합니다. 루틴에서 정보를 찾지 못하면 검색을 중지하고 다른 상태 메시지를 반환합니다. 루틴에서 상태 메시지에 대해 수행하는 작업은 루틴마다 다릅니다.
다중 소스 — 데이터베이스에 특정 정보 유형의 소스가 여러 개 포함되어 있는 경우 스위치가 첫번째 나열된 소스에서 검색하도록 검색 루틴에 지시합니다. 루틴에서 정보를 찾으면 success 상태 메시지를 반환합니다. 루틴이 첫번째 소스에서 정보를 찾지 못하면 다음 소스를 시도합니다. 루틴은 정보를 찾거나 루틴이 return 지정에 의해 중단될 때까지 모든 소스를 검색합니다. 나열된 모든 소스가 검색했는데 정보를 찾지 못한 경우 루틴은 검색을 중지하고 non-success 상태 메시지를 반환합니다.
기본적으로 Oracle Solaris 11 릴리스에서 첫번째 소스는 files입니다. 이 구성에서는 나열된 다음 소스를 사용할 수 없어도 시스템이 중단되지 않습니다.
루틴에서 정보를 찾으면 success 상태 메시지를 반환합니다. 루틴에서 정보를 찾지 못하면 세 가지 오류 상태 메시지 중 하나를 반환합니다. 다음 표에는 가능한 상태 메시지가 나열되어 있습니다.
표 2-3 이름 서비스 스위치의 상태 메시지
|
다음 표에 표시된 2가지 작업 중 하나로 상태 메시지에 응답하도록 이름 서비스 스위치에 지시할 수 있습니다.
표 2-4 이름 서비스 스위치의 상태 메시지에 응답
|
또한 TRYAGAIN 상태 메시지의 경우 다음 작업을 정의할 수 있습니다.
forever – 현재 소스를 무기한 재시도합니다.
n – 현재 소스를 n회 더 시도합니다.
이름 서비스 스위치 상태 메시지와 작업 옵션의 조합에 따라 각 단계에서 검색 루틴이 수행하는 작업이 결정됩니다. 상태 메시지와 작업 옵션의 조합에 따라 검색 조건이 구성됩니다.
스위치의 기본 검색 조건은 모든 소스에서 동일합니다. 이 목록에는 여러 검색 조건에 대한 설명이 포함되어 있습니다.
UNAVAIL=continue. 다음 이름 서비스 스위치 소스로 이동하고 계속 검색합니다. 이 소스가 마지막 또는 유일한 소스인 경우 NOTFOUND 상태로 반환합니다.
NOTFOUND=continue. 다음 이름 서비스 스위치 소스로 이동하고 계속 검색합니다. 이 소스가 마지막 또는 유일한 소스인 경우 NOTFOUND 상태로 반환합니다.
TRYAGAIN=continue. 다음 이름 서비스 스위치 소스로 이동하고 계속 검색합니다. 이 소스가 마지막 또는 유일한 소스인 경우 NOTFOUND 상태로 반환합니다.
앞의 목록에 표시된 STATUS=action 구문을 통해 다른 조건을 명시적으로 지정하여 기본 검색 조건을 변경할 수 있습니다. 예를 들어, NOTFOUND 조건의 기본 작업은 다음 소스를 계속 검색하는 것입니다. 네트워크 데이터베이스의 검색 조건은 다음과 같이 보고될 수 있습니다.
svc:/system/name-service/switch> listprop config/network config/network astring "nis [NOTFOUND=return] files"
networks: nis [NOTFOUND=return] files 항목은 NOTFOUND 상태에 대해 기본 조건이 아닌 조건을 지정합니다. 기본 조건이 아닌 조건은 대괄호로 구분됩니다.
이 예에서 검색 루틴은 다음과 같이 동작합니다.
network 데이터베이스가 사용 가능하고 필요한 정보를 포함하는 경우 루틴에서 SUCCESS 상태 메시지로 반환합니다.
network 데이터베이스를 사용할 수 없는 경우 루틴에서 UNAVAIL 상태 메시지로 반환합니다. 기본적으로 루틴은 나열된 다음 조건을 사용하여 계속 검색합니다.
network 데이터베이스가 사용 가능하고 있지만 데이터베이스에 필요한 정보가 포함되지 않은 경우 루틴에서 NOTFOUND 메시지로 반환합니다. 그러나 기본 동작인 다음 소스를 계속 검색하는 대신 루틴이 검색을 중지합니다.
network 데이터베이스가 사용 중인 경우 루틴에서 TRYAGAIN 상태 메시지로 반환하고 기본적으로 network 데이터베이스를 계속 검색합니다.
주 - 이름 서비스 스위치의 조회는 항목이 나열된 순서대로 수행됩니다. 그러나 passwd -r repository 명령을 사용하여 달리 지정되지 않은 경우 암호 업데이트는 반대 순서로 수행됩니다. 자세한 내용은 이름 서비스 스위치 및 암호 정보를 참조하십시오.
클라이언트 라이브러리 루틴에는 특정 SMF 등록 정보나 default SMF 등록 정보가 이름 서비스 스위치에 정의되어 있지 않거나 등록 정보의 구문이 잘못된 경우 사용되는 compiled-in 기본 항목이 들어 있습니다. 일반적으로 이러한 compiled-in 기본값은 “files”뿐입니다.
auto_home 및 auto_master 테이블과 맵에 대한 스위치 검색 조건은 automount라는 단일 범주로 결합됩니다.
timezone 테이블은 이름 서비스 스위치를 사용하지 않으므로 테이블이 스위치의 등록 정보 목록에 포함되지 않습니다.
keyserv 데몬은 keyserv가 시작된 경우에만 이름 서비스 스위치에서 publickey 등록 정보를 읽습니다. 이름 서비스 스위치 등록 정보를 변경할 경우 keyserv는 svcadm refresh svc:/network/rpc/keyserv:default를 사용하여 keyserv 데몬을 다시 시작할 때까지 변경 사항을 등록하지 않습니다. 등록 정보를 변경하고 name-service/switch 서비스를 새로 고쳐 등록 정보 변경 사항을 SMF 저장소에 로드한 후에만 이 명령을 실행해야 합니다.