我有一台运行了大约 10 年的 CentOS 服务器。每隔几年我都会擦除它并安装最新的 CentOS 并重新配置所有服务。显然,许多硬件也发生了变化。
这台机器直到最近才运行 CentOS 4 和 samba 3.x,并充当 Windows XP 机器的小型办公网络的 PDC。我擦了它并安装了最新的CentOS 6和samba 3.6.9。然后我复制了旧的配置文件并调整了所有testparm
抱怨的地方。
一切似乎都运行良好——现有用户可以使用现有的 Windows 域登录到他们的 Windows 工作站。
这是服务器设置的 testparm 转储:
[global]
workgroup = RRMSC_DOM
server string = RRM Primary Domain Controller Samba Server
interfaces = 192.168.231.0/24, 10.8.3.0/24
smb passwd file = /etc/samba/smbpasswd
passdb backend = smbpasswd
log file = /var/log/samba/smbd.log
max log size = 50
smb ports = 139
time server = Yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
printcap name = /etc/printcap
add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %m$
logon script = logon.bat
logon path = \\%L\Profiles\%U
domain logons = Yes
os level = 255
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
message command = /bin/mail -s 'message from #% on %M< %S; rm %S
idmap config * : backend = tdb
admin users = root, sdc
hosts allow = 192.168.231.0/24, 127.0.0.1, 10.8.3.0/24
cups options = raw
最近我添加了一个新用户jim。遵循使用useradd
添加此用户并将他添加到与其他用户相同的 unix 组的标准过程。我设置了他的 unix 密码passwd
和他的 samba 密码smbpasswd
。
但是,我发现 jim 无法登录到办公室中的任何 Windows 工作站。在 Windows 工作站上,您会看到消息“登录失败:未知的用户名或密码错误”。
我检查了 Windows 工作站上的 eventvwr,没有发现与登录失败相关的任何内容。
为了在 linux 服务器端解决这个问题,我将 smb.conf 中的日志级别提高到
log level = 2 auth:10
我在日志中看到了这一点:
[2013/05/14 20:28:21.994731, 5] auth/auth_util.c:211(make_user_info_map)
Mapping user [RRMSC_DOM]\[jim] from workstation [UNCONFINED]
[2013/05/14 20:28:21.994754, 5] auth/auth_util.c:122(make_user_info)
attempting to make a user_info for jim (jim)
[2013/05/14 20:28:21.994773, 5] auth/auth_util.c:132(make_user_info)
making strings for jim's user_info struct
[2013/05/14 20:28:21.994792, 5] auth/auth_util.c:164(make_user_info)
making blobs for jim's user_info struct
[2013/05/14 20:28:21.994811, 10] auth/auth_util.c:182(make_user_info)
made an encrypted user_info for jim (jim)
[2013/05/14 20:28:21.994829, 3] auth/auth.c:216(check_ntlm_password)
check_ntlm_password: Checking password for unmapped user [RRMSC_DOM]\[jim]@[UNCONFINED] with the new password interface
[2013/05/14 20:28:21.994851, 3] auth/auth.c:219(check_ntlm_password)
check_ntlm_password: mapped user is: [RRMSC_DOM]\[jim]@[UNCONFINED]
[2013/05/14 20:28:21.994882, 10] auth/auth.c:228(check_ntlm_password)
check_ntlm_password: auth_context challenge created by random
[2013/05/14 20:28:21.994901, 10] auth/auth.c:230(check_ntlm_password)
challenge is:
[2013/05/14 20:28:21.994921, 10] auth/auth.c:256(check_ntlm_password)
check_ntlm_password: guest had nothing to say
[2013/05/14 20:28:21.995773, 4] auth/auth_sam.c:180(sam_account_ok)
sam_account_ok: Checking SMB password for user jim
[2013/05/14 20:28:21.995816, 5] auth/auth_sam.c:162(logon_hours_ok)
logon_hours_ok: user jim allowed to logon at this time (Wed May 15 03:28:21 2013
)
[2013/05/14 20:28:21.996529, 5] auth/auth_util.c:649(make_server_info_sam)
make_server_info_sam: made server info for user jim -> jim
[2013/05/14 20:28:21.996573, 3] auth/auth.c:265(check_ntlm_password)
check_ntlm_password: sam authentication for user [jim] succeeded
[2013/05/14 20:28:21.996611, 5] auth/auth.c:291(check_ntlm_password)
check_ntlm_password: PAM Account for user [jim] succeeded
[2013/05/14 20:28:21.996630, 2] auth/auth.c:304(check_ntlm_password)
check_ntlm_password: authentication for user [jim] -> [jim] -> [jim] succeeded
[2013/05/14 20:28:21.996652, 5] auth/auth_util.c:2119(free_user_info)
attempting to free (and zero) a user_info structure
[2013/05/14 20:28:21.996670, 10] auth/auth_util.c:2123(free_user_info)
structure was created for jim
让我特别困惑的是关于authentication for use [jim] succeeded
. 这似乎表明用户在服务器上正确登录,但他无法在工作站上登录。
那么谁能告诉我这里出了什么问题,或者我应该去哪里进行故障排除?
请注意,我之前在此机器上将 selinux 设置为禁用,因此这不是 selinux 问题。