![RHEL:登录后获取当前 kerberos/Kinit 用户 ID?](https://linux22.com/image/741339/RHEL%EF%BC%9A%E7%99%BB%E5%BD%95%E5%90%8E%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%20kerberos%2FKinit%20%E7%94%A8%E6%88%B7%20ID%EF%BC%9F.png)
我正在通过 SSH 连接到 RHEL6 服务器。
当我通过 SSH 进入盒子时,系统要求我输入 Linux 用户名/密码(这是一个共享帐户)
用户名:mySharedLinuxUser
mySharedLinuxUser 的密码:password123
然后系统提示我再次我的个人员工编号和个人网络密码:
域名用户名:111222
111222@defaultDomain 的密码:my$uper$ecurePasswordHere
我相信后者是用 Kerberos 完成的(我看到了对“kinit”的引用,我了解到这是 kerberos 的事情)。
然而,kerberos 文档非常庞大而且令人困惑,而我只是一个困惑的 Java 开发人员。
我登录后如何打印 kerberos 用户名/员工号码“111222”?
例如,如果我想在某人以服务帐户登录时进行特定于人员的日志记录(“John 在早上 6:15 使用通用帐户部署了 .war 文件 1234.war...Mary 在早上 7:21 使用通用帐户部署了 .war 文件 4321.war”等等)
我确信服务器已经在某处执行了此操作以用于审计目的,但我找不到任何示例。
谢谢!
答案1
您可以使用该klist
命令显示您的 Kerberos 主体和缓存的票证。例如:
$ klist
Ticket cache: KCM:1000
Default principal: [email protected]
Valid starting Expires Service principal
08/13/2019 15:00:46 08/14/2019 15:00:23 krbtgt/[email protected]
renew until 08/20/2019 15:00:23