![查找和列出不活跃的 Kerberos 用户的优雅方法](https://linux22.com/image/702332/%E6%9F%A5%E6%89%BE%E5%92%8C%E5%88%97%E5%87%BA%E4%B8%8D%E6%B4%BB%E8%B7%83%E7%9A%84%20Kerberos%20%E7%94%A8%E6%88%B7%E7%9A%84%E4%BC%98%E9%9B%85%E6%96%B9%E6%B3%95.png)
以下设置:我正在运行 kerberos(MIT)和 ldap(OpenLDAP)服务器以实现单点登录等。一切工作正常,但我对非活动用户有一个疑问。
我需要查找上次成功登录超出特定时间范围的 Kerberos 主体。到目前为止,我还没有在 kadmin 中找到任何类型的“主体参数列表选项”。当然,我可以通过键入以下内容来浏览每个主体:
> kadmin: get_principal $princ_name.
看看会弹出什么。但是,这对我来说可能非常麻烦。有人有什么技巧/选项可以加快这个过程吗?
唯一的选择是编写脚本,这也是我不喜欢的。
> kadmin -p kerb_user -q "get_principal $princ_name",
或者直接查看 kerberos 服务器上的日志文件。也许有人有主意!
答案1
不幸的是,getprinc 没有任何选项来将输出限制为您想要的参数。
不过,你可以尝试简洁选项可在 1 行(空格分隔的字段)上显示输出并轻松编写脚本,例如:
getprinc -terse <principal>
并且您可以执行 shell/perl/任何您想要的脚本来解析所有主体并获取您想要的数据,但是恐怕您必须使用外部脚本来执行此操作。(并且这取决于您想要过滤哪个字段,到期日期?)
如果您需要示例脚本,请告诉我,我可能可以在我的 kerberos db 上快速完成一个示例