在使用之前,我已经使用 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.txt
和db4.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 限制 = 否”