RPCSEC_GSS는 정보를 저장하기 위해 특정 파일을 사용합니다.
서버가 요청과 관련된 클라이언트 증명서를 검색하면 클라이언트의 주체 이름(rpc_gss_principal_t 구조 포인터 형식)이나 해당 클라이언트의 로컬 UNIX 증명서(UID)를 읽어올 수 있습니다. NFS와 같은 서비스에서는 액세스 확인을 위해 로컬 UNIX 증명서를 사용하지만 기타 서비스에서는 주체 이름을 rpc_gss_principal_t 구조로 액세스 제어 목록에 직접 저장할 수도 있습니다.
클라이언트의 네트워크 증명서(주체 이름)와 로컬 UNIX 증명서의 일치는 자동으로 이루어지지 않으며, 로컬 보안 관리자가 명시적으로 설정해야 합니다.
gsscred 파일에는 클라이언트의 UNIX와 네트워크(예: Kerberos V5) 증명서가 모두 포함되어 있습니다. (네트워크 증명서는 rpc_gss_principal_t 구조의 16진수 ASCII로 표시됩니다). 이 파일은 XFN을 통해 액세스됩니다. 이 테이블은 파일, NIS, NIS+ 등이나 XFN에서 지원하는 향후 네임 서비스를 통해 구현될 수 있습니다. XFN 계층 구조에서 이 테이블은 this_org_unit/서비스gsscred로 표시됩니다. gsscred 테이블은 관리자가 gsscred 유틸리티를 사용하여 사용자와 메커니즘을 추가하거나 삭제함으로써 관리할 수 있습니다.
사용자의 편의를 위해 RPCSEC_GSS는 메커니즘과 보호 수준(QOP) 매개변수를 나타낼 때 문자열 리터럴을 사용합니다. 그러나 기본 메커니즘 자체에서 메커니즘은 개체 식별자로, QOP는 32비트 정수로 표현되어야 합니다. 또한, 해당 메커니즘에 대한 서비스를 구현하는 공유 라이브러리가 각 메커니즘에 대해 지정되어야 합니다.
/etc/gss/mech 파일에는 ASCII 형식의 메커니즘 이름, 메커니즘의 OID, 해당 메커니즘에서 제공하는 서비스를 구현하는 공유 라이브러리, 서비스를 구현하는 커널 모듈(선택적) 등 시스템에 설치된 모든 메커니즘에 대한 정보가 저장됩니다. 다음은 이 파일에 저장된 정보의 예입니다.
kerberos_v5 1.2.840.113554.1.2.2 gl/mech_krb5.so gl_kmech_krb5 |
/etc/gss/qop 파일에는 설치된 모든 메커니즘에 대해 각 메커니즘이 지원하는 모든 QOP가 ASCII 문자열과 해당 32비트 정수로 저장됩니다.
/etc/gss/mech와 /etc/gss/qop는 해당 시스템에 보안 메커니즘이 처음 설치될 때 작성됩니다.
대부분의 커널 내부 RPC 루틴은 메커니즘과 QOP를 나타낼 때 문자열이 아닌 값을 사용하므로, 응용 프로그램에서 커널 내부 루틴의 기능을 사용해야 할 경우 rpc_gss_mech_to_oid()와 rpc_gss_qop_to_num()함수를 사용하여 이 매개변수에 대한 비 문자열 값을 읽어올 수 있습니다.