Server müssen mit dem Hauptbenutzernamen eines Clients operieren können -- z. B. um den Hauptbenutzernamen eines Clients mit einer Zugriffssteuerungsliste zu vergleichen, oder um einen UNIX-Berechtigungsnachweis für diesen Client nachzusehen, wenn dieser Berechtigungsnachweis vorhanden ist. Derartige Hauptbenutzernamen werden in Form eines rpc_gss_principal_t Strukturzeigers gespeichert. (Weitere Informationen über rpc_gss_principal_t finden Sie in der Online-Dokumentation zu rpcsec_gss(3N).) Wenn ein Server einen empfangenen Hauptbenutzernamen mit dem Namen einer bekannten Entität vergleichen möchte, muß er in der Lage sein, einen Hauptbenutzernamen in dieser Form zu erstellen.
Der Aufruf von rpc_gss_get_principal_name() verwendet verschiedene Parameter als Eingabe, die eine Entität im Netzwerk identifizieren und generiert einen Hauptbenutzernamen als Zeiger auf eine rpc_gss_principal_t-Struktur:
rpc_gss_principal_t *principal; rpc_gss_get_principal_name(principal, mechanism, name, node, domain); . . .
Folgende Argumente werden für rpc_gss_get_principal_name() verwendet:
Hauptbenutzer stellt einen festzulegenden Zeiger auf die Struktur rpc_gss_principal_t dar.
Mechanismus steht für den verwendeten Sicherheitsmechanismus (der generierte Hauptbenutzername ist vom Mechanismus abhängig).
Name steht für eine Entität oder einen Service-Namen, wie z. B. joeh oder nfs oder sogar für den Name einer benutzerdefinierten Anwendung.
Knoten könnte z. B. der UNIX-Systemname sein.
Domain kann z. B. einen DNS-, NIS- oder NIS+-Domain-Name sowie einen Kerberos-Bereich darstellen.
Jeder Sicherheitsmechanismus erfordert unterschiedliche, kennzeichnende Parameter. Kerberos V5 erfordert z. B. einen Benutzernamen und (optional) qualifizierte Knoten- und Domain-Namen (die in Kerberos als Host- und Bereichsnamen bezeichnet werden).
Weitere Informationen finden Sie in der Online-Dokumentation zu rpc_gss_get_principal_name(3N).