我听说 samba 存储密码的方式比普通的 linux 密码不太安全。
这是真的吗?如果是,我该怎么办?
答案1
Samba 可以通过多种方式进行身份验证,但在独立情况下,我预计最常见的配置是针对密码哈希值进行身份验证,哈希值存储在 /etc/passwd 中或(现在更常见的是)影子密码文件中。
听到这个消息的人可能混淆了存储和传输。
密码可以以加密或非加密格式发送到 Samba 服务器。如果您的网络上同时存在这两种类型的系统,则应确保每个用户所代表的密码都存储在传统帐户数据库和 Samba 的加密密码数据库中。这样,授权用户可以从任何类型的客户端访问他们的共享。[1] 但是,如果安全是一个问题,我们建议您将系统移至加密密码并放弃非加密密码
http://www.samba.org/samba/docs/using_samba/ch09.html
编辑:
我记得(但现在找不到参考资料)导致此问题的主要因素是 Windows 客户端的身份验证方式。它们要求服务器知道密码。这与其他身份验证系统不同,在其他身份验证系统中,服务器只需要哈希或公钥,因此无法从存储在服务器上的数据中检索密码(或等效的登录凭据)。
Samba 还可以针对 Kerberos 或 LDAP 服务器进行身份验证。因此,有足够的空间来设置安全系统。
The Register 有一个有趣的文章在 NTLMV2 上。
编辑2:
实际上 NTLMV2 不需要身份验证服务器知道密码 - 根据此微软文章。