Samba 和 Windows 7 使用 NTLM 安全性和用户模式身份验证。

Samba 和 Windows 7 使用 NTLM 安全性和用户模式身份验证。

我安装了一台新电脑,主要想将其用作家庭文件服务器。我希望 Samba 使用 NTLM 安全性和用户模式身份验证的对等网络。根据文档,这是可行的,但我找不到任何示例。在我进行的所有 Google 搜索中,我看到很多人询问如何设置它,但它要么对其他人有用,而对我却没用(不知道我错过了什么),要么根本不起作用。

这是我的设置:

  • 一台搭载 Windows 7 64 HP 操作系统的台式机
  • 一台搭载 Windows 7 64 HP 操作系统的笔记本电脑
  • 一个装有 Kubuntu 11.10 的桌面(服务器)
  • 这两个桌面使用静态 IP,并且我已在这三个系统的 HOSTS 文件中映射了主机名。
  • 我在这三个系统上都有相同的用户名/密码组合。

我已经尝试设置 Samba 一段时间了,以便 Windows 7 系统能够看到并使用它。即使我可以让服务器显示出来,Windows 也无法登录。

我做的第一件事就是启用 LMv2 身份验证,此版本的 Samba (3.5.11) 支持该身份验证。工作组设置正确。我通常可以看到服务器,但无法进行身份验证。Windows 家庭组已关闭。机器之间的 ping 操作正常,两个 Windows 7 系统可以完美地协同工作。

有人让这个工作了吗? 有地方可以下载在此环境中设置的 smb.conf 吗?

编辑:这是当前完整 smb.conf 的链接。请注意,由于我做了大量编辑,现在它可能已经变得一团糟。这里还有 [global] 部分的精简版。

http://www.johngaughan.net/smb.conf

[global]
workgroup = WORKGROUP
netbios name = DENTALFLAW
server string = %h server (Samba, Ubuntu)
dns proxy = no
interfaces = eth0
bind interfaces only = yes
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = guest
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
client ntlmv2 auth = yes
usershare allow guests = yes

我其实不想回答我自己的问题,但我希望这对那些尝试了(几乎)所有方法却一无所获的人有用。默认设置不起作用的具体设置是:

passdb backend = guest

一旦我将其更改为以下内容,并为两个用户重置 Samba 密码,一切就开始正常工作了:

passdb backend = tdbsam

看来阻止我登录的问题是 Samba 无法以有效的格式存储身份验证信息。

答案1

从您的描述来看,我不确定问题出在哪里。如果您可以连接,服务器要求登录,但登录失败...您需要为尝试使用的用户设置 smbpasswd 集,Windows 7/samba 存在与主机名有关的错误。有一个修复程序,应用后一切正常。

针对 samaba windows 7 错误的注册表项/修复。

答案2

身份验证后端不正确:

passdb backend = tdbsam

看来阻止我登录的问题是 Samba 无法以有效的格式存储身份验证信息。

相关内容