我创建了一个像这样的 Samba 共享
[test]
path = /data/test
valid users = test
read only = no
writable=yes
browsable=yes
然后添加用户测试和密码测试,如果计算机使用相同的用户和密码,连接到samba将不会要求输入用户和密码。
我认为身份验证不是纯文本用户和密码,我不指望 macos 或 windows 会保存明文密码,但是 samba 如何验证用户?
答案1
我不指望 macos 或 windows 会保存明文密码,
这实际上就是 Windows 所做的。只要您登录,您的 Windows 会话就会存储您的登录密码的 NTLM 哈希,并且 Windows 会在针对 SMB 服务器执行 NTLM 身份验证时自动使用它。
(是的,众所周知,攻击者可以通过这种方式窃取密码哈希值——通过诱骗某人连接到恶意 SMB 服务器。)
如果计算机在 Active Directory 上,那么还会存储 Kerberos 票证,从而实现更安全的身份验证。