Eu tenho um servidor CentOS que está sendo executado há cerca de 10 anos. A cada poucos anos eu limpo e instalo o mais recente CentOS e reconfiguro todos os serviços. Obviamente, muito do hardware também foi alterado.
Esta máquina estava rodando o CentOS 4 com o samba 3.x até recentemente, e atuando como o PDC para uma pequena rede de computadores com Windows XP. Limpei e instalei o mais recente CentOS 6 e samba 3.6.9. Então eu copiei o antigo arquivo de configuração e ajustei qualquer coisa que testparm
reclamou.
Tudo parecia funcionar bem - os usuários existentes podiam fazer logon nas estações de trabalho do Windows usando o domínio existente do Windows.
Aqui está um despejo testparm das configurações do servidor:
[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
Recentemente adicionei um novo usuário jim . Seguiu o procedimento padrão de usar useradd
para adicionar este usuário e adicioná-lo ao mesmo grupo unix que outros usuários. Eu configurei sua senha unix com passwd
e sua senha do samba com smbpasswd
.
No entanto, acho que o jim não pode fazer logon em nenhuma das estações de trabalho do Windows no escritório. Na estação de trabalho do Windows, você vê a mensagem "Falha de logon: nome de usuário desconhecido ou senha incorreta".
Eu verifiquei o eventvwr em uma estação de trabalho do Windows e não vi nada relacionado a logins com falha.
Para solucionar isso no lado do servidor linux, eu aumentei meu nível de log em smb.conf para
log level = 2 auth:10
E eu vejo isso no log:
[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
o que mais me confunde é a mensagem sobre authentication for use [jim] succeeded
. Isso parece indicar que o uso efetua login corretamente no servidor, mas ele não pode efetuar login na estação de trabalho.
Alguém pode me dizer o que está errado aqui ou onde mais eu deveria procurar solucionar problemas?
Note que eu já tinha configurado o selinux para desabilitado nesta máquina, então não é um problema de selinux.