Novos usuários de samba não podem fazer logon em estações de trabalho depois de mudar do CentOS 4 para o 6

2

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.

    
por Phil Hollenback 15.05.2013 / 22:37

2 respostas

2

Alguns amigos da Internet sugeriram que algum tipo de cache pode ser o culpado. Com base nisso, decidi tentar remover uma estação de trabalho do domínio e adicioná-la novamente.

Isso funcionou! Uma vez que forcei a estação de trabalho a limpar o domínio e adicioná-lo novamente, o usuário jim poderia finalmente fazer o logon. Whee!

    
por 16.05.2013 / 21:37
0

Acredito que tudo que você precisa fazer é desativar o SELinux usando este método descrito neste link . O SELinux provavelmente não fazia parte do CentOS4. Existe uma maneira de fazer o Samba funcionar com o SELinux ativado, mas não é trivial.

    
por 15.05.2013 / 22:43

Tags