서버는 클라이언트의 주체 이름과 관련된 작업을 할 수 있어야 합니다. 이러한 작업에는 클라이언트의 주체 이름을 액세스 제어 목록과 비교하거나, 증명서가 있을 경우, 해당 클라이언트에 대한 UNIX 증명서를 검색하는 작업 등이 있습니다. 이러한 주체 이름은 rpc_gss_principal_t 구조 포인터의 형식을 유지합니다. rpc_gss_principal_t에 대한 자세한 내용은 rpcsec_gss(3N) 매뉴얼 페이지를 참고하십시오. 서버가 받은 주체 이름을 알려진 실재 이름과 비교하려면 위와 같은 형식으로 주체 이름을 생성할 수 있어야 합니다.
rpc_gss_get_principal_name() 함수를 호출하면 네트워크에서 각 개인을 고유하게 식별하는 매개변수를 입력으로 받아, rpc_gss_principal_t 구조 포인터로 주체 이름을 생성합니다.
rpc_gss_principal_t *principal; rpc_gss_get_principal_name(principal, mechanism, name, node, domain); . . .
rpc_gss_get_principal_name() 함수에 대한 인수는 다음과 같습니다.
principal: 설정할 rpc_gss_principal_t 구조에 대한 포인터입니다.
mechanism: 사용 중인 보안 메커니즘입니다. 생성되는 주체 이름은 특정 메커니즘에 국한됩니다.
name: joeh나 nfs와 같이 개인 또는 서비스 이름이거나 사용자 정의 응용 프로그램 이름일 수 있습니다.
node: 예를 들어, UNIX 시스템 이름일 수 있습니다.
domain: 예를 들어, DNS, NIS, NIS+ 등의 도메인 이름이거나 Kerberos 영역일 수 있습니다.
각 보안 메커니즘에 따라 다른 식별 매개변수가 필요합니다. Kerberos V5의 경우, 사용자 이름은 필수, 해당 노드와 도메인 이름(Kerberos 용어로는 호스트 및 영역 이름)은 선택 사항입니다.
자세한 내용은 rpc_gss_get_principal_name(3N) 매뉴얼 페이지를 참고하십시오.