54.2. 使用 RBCD 委托对服务的访问
要使用 RBCD 将访问权限委派给服务,请在运行该服务的主机上添加一条规则。这个示例流程描述了如何将用户凭据委托给带有 Kerberos 服务 HTTP/client.example.test
的 web 应用程序的文件服务器 nfs/client.example.test
。您可以在 client.example.test
主机上执行此操作,因为主机始终管理在其上运行的服务。
先决条件
-
您可以访问
client.example.test
主机的/etc/krb5.keytab
文件。 -
nfs/client.example.test
服务 keytab 存在。 -
HTTP/client.example.test
的 keytab/path/to/web-service.keytab
存在。
流程
在
client.example.test
主机上,获取一个 Kerberos 票据:kinit -k
# kinit -k
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 定义 RBCD ACL:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证委托是否被正确设置,您可以通过 HTTP
服务模拟 testuser
用户登录,并执行一个到 NFS
服务的协议转换。
查看 NFS 服务,以验证委托规则是否存在:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 HTTP 服务主体获取一个 Kerberos 票据:
kinit -kt http.keytab HTTP/client.example.test
# kinit -kt http.keytab HTTP/client.example.test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证票据授予票据是否存在:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 代表
testuser
执行协议转换:kvno -U testuser -P nfs/client.example.test
# kvno -U testuser -P nfs/client.example.test nfs/client.example.test@EXAMPLE.TEST: kvno = 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证在协议转换过程中代表
testuser
获得的票据是否存在:Copy to Clipboard Copied! Toggle word wrap Toggle overflow