如何获取MacOS Server用户的LDAP密码哈希?

有没有一种方法获得密码散列的命名LDAP用户,其中用户在运行OSX Sierra和MacOS服务器5.2的MacOS服务器上的Open Directory中定义?

我的用例:

我在Docker容器中使用Jenkins设置CI / CD节点,该容器将运行在运行MacOS服务器的服务器上。 我希望Jenkins容器能够被安全的使用服务器的LDAP打开目录进行安全保护,也就是说,想要修改Jenkinsconfiguration的用户需要使用他们自己的networking用户/密码login到Jenkins。

作为configuration的一部分,我需要将XML文件( config.xml )复制到Jenkins主目录中,并且该文件需要包含保护LDAP系统的用户的哈希密码。 我认为密码哈希存储在一个encryption的目录,因此我想知道如何检索它。

我希望整个部署脚本是自动化的,所以我需要能够为命名用户检索哈希(或重新创build它),以便将其注入到将要放入Jenkins主目录中的XML文件中目录。

这听起来像你的服务器也是一个开放目录主(运行slapd),如果是这样的情况哈希存储encryption的密码服务器,并不是真的可以访问。

如果服务器也不是OD Master,那么事情就比较简单了,并且在dscl的默认节点中进行挖掘,因为@ bourneN5years提到的是一个开始的地方。 本地节点的文件可以在/ var / db / dslocal / nodes / Default中find

如果你能让jenkins将login信息传递给服务器5.2中的auth web应用程序,它可能会更干净。

它应该在http:// localhost:4444 / auth中提供http样式validation您可以直接使用:

 sudo webappctl start com.apple.webapp.auth