我正在尝试配置 Samba ( apt-get install samba
) 以使用 RADIUS 服务器对用户进行身份验证,但我找不到任何有用的信息。这可能吗?
我认为我可以将 Samba 设置为使用 PAM 身份验证,然后将 PAM 配置为使用 RADIUS 服务器。但我发现Samba 文件服务器 + PAM + Berkeley DB 或 Samba + PAM
Samba 不能使用 PAM,因为 SMB 协议指定了一组不兼容的哈希,这些哈希不能与 PAM 一起使用(PAM 需要明文密码或密码的某些哈希版本)。
操作系统:Debian 7.8 x64
半径:自由半径 2.1.12
软件包 samba:2:4.1.17+dfsg-2
答案1
您找到的文本是正确的,SMB 需要 ntlm auth,但与 PAM 不兼容。
PAM 的问题在于它要求用户(或代表用户行事的代理,如 Samba 服务器)提交用户的纯文本密码,而 Samba 服务器永远不会知道该密码,因为 SMB 客户端从不发送该密码。
相反,SMB 客户端会发送用户密码的 16 位小端 Unicode 的 MD4 哈希值,并使用来自 Samba 服务器的质询进行哈希处理。
在现实世界的设置中,Samba 通常根据 AD 进行身份验证,RADIUS 也根据 AD 进行身份验证(通过 winbindd),这就是您实现同步凭据的方式。
Samba 还可以通过普通 LDAP 进行身份验证,因此您也可以将其用作通用凭证存储。