Samba 文件服务器 + PAM + Berkeley DB 或 Samba + PAM

Samba 文件服务器 + PAM + Berkeley DB 或 Samba + PAM

在使用之前,我已经使用 PAM 和 Berkeley DB 设置了 VSFTPD本文。这是一篇很棒的文章,并且非常容易指导如何进行设置。

现在我正在设置 Samba,我想做同样的事情。我看过有关在 Samba 中使用 PAM 的信息,但没有关于 Berkeley DB 的信息。如果这不可能,即使只是实现 PAM 也很好,但是文章 出去 那里对我来说,不是那么容易理解……至少……

有人可以在这里创建一个快速教程,以便我能够设置 Samba + PAM + Berkeley DB 或 Samba + PAM吗?

链接到好的教程也可以起到作用。

更新:

我已使用以下内容设置了 Samba smb.conf 作为 PAM 配置变量。

#security = user (Commented out, not sure if it should or shouldn't be with PAM)

pam password change = no 

obey pam restrictions = yes

encrypted passwords = no

创建了一个samba-virtual-users.db文件VSFTPD 文章使用vusers.txtdb4.8_load -T -t hash -f vusers.txt samba-virtual-user.db

并设置/etc/pam.d/samba如下:

#%PAM-1.0
auth       required     pam_userdb.so db=/etc/samba/samba-virtual-user
account    required     pam_userdb.so db=/etc/samba/samba-virtual-user
session    required     pam_loginuid.so

此设置似乎与 VSFTPD 非常接近,我认为它应该可以工作。只要 samba 使用 PAM 和 /etc/pam.d/samba 文件(默认情况下如此),那么 /etc/pam.d/samba 文件需要做的就是将授权方法声明为使用.db已创建的文件。

这对任何人有意义吗?有人能看出为什么这不起作用吗?也许可以尝试一些技巧?

更新:

机器现在显示在网络上,但我无法登录。有什么方法可以检查 samba 使用的身份验证方法吗?任何与验证设置或当前使用的设置有关的事情都会有所帮助...

答案1

Samba 不能使用 PAM,因为 SMB 协议指定了一组不兼容的哈希,这些哈希不能与 PAM 一起使用(PAM 需要明文密码或密码的某些哈希版本)。

这就是不久前当我尝试完成同样的事情时所得到的解释。

答案2

需要使用“--with-pam”构建 Samba 并安装 pam-devel 包。然后按照问题所述,将 samba 选项添加到 pam.d 并禁用加密密码。

此外,客户端必须按照以下信息禁用加密密码: http://www.pctools.com/guides/registry/detail/68/

XP 注意事项也适用于 Win7。安装 SP1 后,需要将注册表项重新应用于 Win7。

此外,由于 Microsoft 补丁 MS11-043,您必须使用超过 7 个字符的工作组名称,并使用包含 MS11-043 修复程序的最新版本的 Samba(3.5.11 或更高版本)

答案3

这是来自 Samba如何: “smb.conf 中有一个名为“遵守 pam 限制”的选项。以下内容来自 SWAT 中此选项的在线帮助:当 Samba 配置为启用 PAM 支持(即 --with-pam)时,此参数将控制 Samba 是否应遵守 PAM 的帐户和会话管理指令。默认行为是仅使用 PAM 进行明文验证并忽略任何帐户或会话管理。在加密密码 = 是的情况下,Samba 始终忽略 PAM 进行身份验证。原因是 PAM 模块无法支持 SMB 密码加密所需的质询/响应身份验证机制。默认:遵守 pam 限制 = 否”

相关内容