Sun 企業辯證機制使用指南

主管名稱

需要兩種主管名稱來建立與維護一個安全的上下文﹕

設定伺服器主管名稱

一個伺服器必須在啟動時被告知它將代表的主管名稱。(一個伺服器可以作為一個以上的主管。)rpc_gss_set_svc_name() 設定主管名稱﹕


範例 8-3 rpc_gss_set_svc_name()

char *principal, *mechanism;
 u_int req_time;

 principal = "nfs@eng.acme.com";
 mechanism = "kerberos_v5";
 req_time = 10000;		/* time for which credential should be valid */ 
rpc_gss_set_svc_name(principal, mechanism, req_time, SERV_PROG, SERV_VERS);

(Kerberos 會忽視 req_time 參數。其他的辯證系統可能會使用它。)

如需更詳細的資訊,請參見 rpc_gss_set_svc_name(3N) 線上援助頁。

生成客戶端主管名稱

伺服器必須能夠在一個客戶端的主管名稱之上操作 - 例如將一個客戶端主管名稱與一個存取控制清單做比較,或是為該客戶端查詢一張 UNIX 證書,如果此種證書存在的話。此種主管名稱是以rpc_gss_principal_t結構指標的形式保存的。(請參見 rpcsec_gss(3N) 線上援助頁中有關 rpc_gss_principal_t 的說明。)如果一個伺服器想要比較所收到的一個主管名稱與一個已知實體的名稱,它必須能夠生成該形式的主管名稱。

rpc_gss_get_principal_name() 呼叫作為輸入數種專門代表網路上特定個人的參數,並且將一個主管名稱生成為 rpc_gss_principal_t 結構指標﹕


範例 8-4 rpc_gss_get_principal_name()

rpc_gss_principal_t *principal;

rpc_gss_get_principal_name(principal, mechanism, name, node, domain);
. . .

rpc_gss_get_principal_name() 的引數如下﹕

每一種安全機制都需要不同的辨識參數。例如 Kerberos V5 需要一個使用者名稱,以及選擇性的合格節點和領域名稱(Kerberos 中稱為主機及範疇名稱)。

如需更詳細的資訊,請參見 rpc_gss_get_principal_name(3N) 線上援助頁。

釋放主管名稱

使用 free() 程式庫呼叫來釋放主管名稱。