使用Chef设置Samba密码,而不在数据包中存储纯文本密码

我们有一个使用Chefconfiguration的服务器。

目前,厨师pipe理密码的方式是简单地复制samba tdb数据库并更新每个用户的阴影哈希值。 由于这些系统之间的encryptionalgorithm是不同的,因此不可能通过厨师使用阴影哈希来在桑巴中创build密码。

将这些行添加到我们的smb.conf中破坏了所有的密码authentication:

encrypt passwords = no obey pam restrictions = yes 

我们尝试启用unix密码同步,但直到有人更改密码才能生效。

我们尝试使用samba食谱,但是这需要知道我们用户的密码,这是我们不能拥有的。

我们尝试将密码后端设置为smbpasswd,并通过mksmbpasswdpipe道/ etc / shadow,但所有给我们的是这个垃圾:

 user:95945:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:99999 

我环顾了networking,发现任何使用samba和chef的人都会想要使用encryption哈希来设置samba密码,但是没有任何信息。

我想使用相同的散列来设置unix密码和samba密码,但我不必,因为生成两个散列是一个简单的问题。 生成两个哈希,并手动插入一个tdb文件是比它需要更困难。

基本上,你注定了。 通过devise,您不能将哈希转换为不同的哈希algorithm(除非您将原始密码暴力破弃,然后使用新algorithm对其进行哈希)。 你需要让用户input他们的密码到一些产生你所需要的哈希值的地方,把它们放到Chef中,然后把这些密码填入各种数据库。 或者,您可以使用LDAP来处理这些事情。