UNIX 认证

调用远程过程的进程可能需要在 UNIX 系统上标识它时标识它自身。 RPC 调用消息的凭证判别值为 AUTH_UNIX

凭证的不透明主体的字节对以下结构进行编码:

struct auth_unix {
     unsigned     stamp;
     string       machinename;
     unsigned     uid;
     unsigned     gid;
     unsigned     gids;
};

结构中的参数定义如下:

描述
stamp 指定调用者工作站生成的任意标识。
machinename 指定调用者工作站的名称。 名称长度不得超过 255 个字节。
uid 指定调用者的有效用户标识。
gid 指定调用者的有效组标识。
gids 指定包含作为成员的调用者的组标识的计数数组。 允许最多有 10 个组。

凭证随附的验证器应该是 AUTH_NULL

来自服务器的应答消息的响应验证器中的判别值为 AUTH_NULLAUTH_SHORT。 如果值为 AUTH_SHORT,那么响应验证器字符串的字节将编码不透明结构。 然后,可以将新的不透明结构传递到服务器,以代替原始 AUTH_UNIX 凭证。 服务器维护将速记不透明结构 (通过 AUTH_SHORT样式响应验证器传递回) 映射到调用者的原始凭证的高速缓存。 使用速记凭证时,调用者可节省网络带宽和服务器 CPU 时间。

注: 服务器可以随时消除或清空速记不透明结构。 如果发生此情况,那么将由于 AUTH_REJECTEDCRED 认证错误而拒绝 RPC 消息。 发生此情况时,可以使用原始 AUTH_UNIX 凭证。