我在 32 位 RHEL4 机箱中将 winbind/samba 从 3.0.33 升级到 3.6.24。
现在的问题是任何 NT 用户都无法登录。在 /var/log/messages 中发现的错误消息是
Sep 3 09:05:20 node2 sshd[7209]: pam_winbind(sshd): request wbcLogonUser failed: WBC_ERR_AUTH_ERROR, PAM error: PAM_AUTH_ERR (7), NTSTATUS: NT_STATUS_WRONG_PASSWORD, Error message was: Wrong Password
Sep 3 09:05:20 node2 sshd[7209]: pam_winbind(sshd): user 'user2' denied access (incorrect password or invalid membership)
wbinfo 命令表明一切正常:
# wbinfo -t
checking the trust secret for domain MYDOMAIN via RPC calls succeeded
# wbinfo -a user2%mypassword
plaintext password authentication succeeded
challenge/response password authentication succeeded
# wbinfo -K user2%mypassword
plaintext kerberos password authentication for [user2%mypassword] succeeded (requesting cctype: FILE)
credentials were put in: FILE:/tmp/krb5cc_0
我猜测 NT 用户没有问题,因为这个用户 'user2' 在其他 32 位 RHEL4 中,如果 samba 3.0.33 还未升级,则可以成功登录。
提前感谢
UPDATE 1
我意识到 user2 可以从控制台并使用 FTP 客户端登录系统。因此,SSH 是 user2 无法登录的唯一方式。
我在 /etc/ssh/sshd_config 文件中找到了“AllowGroups”指令:
AllowGroups root MYusers
当我注释掉该指令时,用户2登录成功。
UPDATE 2
最后,经过多次尝试,我意识到 winbind 3.6.24 以小写形式显示 NT 组名,而不是保留每个组名字符的原始大小写:
$ id
uid=10000(user2) gid=10000(myusers)
在其他框中使用 winbind 3.0.33:
$ id
uid=10009(user2) gid=10006(MYusers)
然后我改变了 sshd_config 文件中的 AllowGroups 指令:
AllowGroups root myusers
并重启sshd,这样user2就可以通过SSH成功登录了。
也许有一个新的 winbind 参数来转换大小写?
也许是一个错误?