17 de dez de 2009

Samba por xinet.d

Gastei muitas horas procurando uma solução para o samba que havia migrado. As configurações eram as mesmas sendo que a única mudança era a versão do samba, sendo 3.0.14 e atual 3.2.5. Pela documentação tudo absolutamente estava correto e mesmo por inetd ou daemon, o servidor parava de responder.

Pelo nestat (netstat -nat) a porta 445 não aparecida listen então foquei a pesquisa em descobrir qual o motivo. Todas as consultas web não apontavam um caminho a seguir, algumas indicavam algumas features para tunning, mas não mostrava a solução e as consultas através de smbclient -L localhost demoravam e surgia a mensagem always returns NT_STATUS_CONNECTION_REFUSED.

A configuração do samba que utilizo trabalha como PDC e nem mesmo a autenticação estava funcionando ou autenticava com lentidão.  O samba deve subir ou por "daemons" que é recomendado ou por inetd, mas como não conseguia uma solução testei através do xinetd, criando um serviço assim:

cat /etc/xinetd.d/samba


service netbios-ssn
{
    port        =    139
    socket_type    =    stream
    wait        =    no
    user        =    root
    server        =    /usr/sbin/smbd
    log_on_failure    +=    USERID
    disable        =    no
    mdns        =    yes
    instances    =    1
}
service microsoft-ds
{
    protocol    = udp
    port        = 445
    socket_type    =    dgram
    wait        =    yes
    user        =    root
    server        =    /usr/sbin/nmbd
    disable        =    no
    mdns        =    yes
    instances    =    1
}



A partir deste ponto, a porta 445 aparece normalmente como listen e os serviços de rede pelo samba estão perfeitos como sempre.


Configuração do smb.conf:


[global]
      workgroup = GRUPO
      netbios name = SERVER
      server string = Servidor PDC
      domain master = yes
      preferred master = yes
      local master = yes
      domain logons = yes
      logon script = netlogon.bat
      security = user
      encrypt passwords = yes
      os level = 100
      logon home = \\%L\%U\.profiles
      logon path = \\%L\profiles\%U
      admin users = useradmin

[homes]
    comment = Home Directories
    valid users = %S
    read only = No
    create mask = 0700
    directory mask = 0700
    veto files = /*.wav/*.mp3/*.wmv/*.wma/*.ogg/*.exe/*.bat/*.com/*.pif/*.reg/*.lnk/*.dll/*.url/*.pps/
    browseable = No

[printers]
    comment = All Printers
    path = /tmp
    create mask = 0700
    guest ok = Yes
    printable = Yes
    browseable = No

[print$]

    comment = Printer Drivers
    path = /var/lib/samba/printers
    write list = root

[netlogon]
      comment = Servico de Logon
      path = /var/samba/netlogon
      guest ok = Yes
      browseable = No

[profiles]
      path = /var/profiles
      writeable = Yes
      browseable = No
      create mask = 0600
      directory mask = 0700

[share]
    comment = diretorio de dados
    path = /var/dados
    read only = No
    create mask = 0660
    directory mask = 0770
    guest ok = Yes
    vfs objects = audit