Como evito a corrupção do banco de dados do Samba? [fechado]

4

Eu tenho problemas com minha configuração do Samba. Eu corro o Samba há 12 ou 13 anos e nunca vi isso antes. Houve um tempo em que eu conhecia bem os domínios do Windows, mas o mundo do Windows passou por mim, e as várias facetas do Samba que cresceram junto com o Active Directory estão me confundindo.

Minha configuração é realmente direta. Acabei de ter um único servidor com algum espaço em disco e uma impressora que eu quero compartilhar entre 4 outros computadores. Por todos esses anos, tenho usado um domínio simples com um único PDC. Ultimamente, algo mudou. Não consigo descobrir se está indo para o Lucid ou se foi uma atualização específica com o Samba, mas algo continua quebrando no meu banco de dados.

Ocasionalmente, a senha da minha conta ficará "errada". Eu poderei fazer o login - usando credenciais em cache, presumo - mas não poderei montar as unidades nem imprimir na impressora. Eu acho que está acontecendo a cada 30 dias. Talvez seja 45. Eu tenho lidado com isso apenas redefinindo a senha no servidor, mas isso se tornou muito chato. Além disso, estou percebendo pelos logs que as senhas de máquinas também estão sendo derrubadas.

Eu finalmente adivinhei que meu banco de dados - que migrei e atualizei por cerca de doze anos agora - estava muito desatualizado, então o excluí e comecei do zero em um novo domínio. Agora está acontecendo de novo, então esse claramente não foi o problema.

Pensei que talvez fosse apenas minha caixa do Windows 7, mas agora minhas máquinas XP também estão fazendo isso.

Eu não acho que seja uma política de expiração de senhas. Se fosse, eu deveria estar recebendo um aviso que diz que é hora de mudar minha senha, certo? Quando vou investigar uma coisa dessas, perco-me com todas as várias permutações dos comandos net e pdbedit e wbinfo . Estou acostumada a não precisar deles em geral. Acho que adicionei minha conta ao grupo "Administradores de domínio" com um deles em algum momento, mas não me lembro como isso é feito.

Eu estou especialmente confuso com os documentos sobre se eu deveria ter o winbind rodando na minha configuração. Eu não acho que sim, mas obviamente rodar wbinfo para fazer diagnósticos precisa disso, e eu acho que não estou machucando nada por tê-lo rodando. Ele é executado por padrão no Ubuntu, então eu queria deixá-lo e trabalhar com ele, se possível. O Winbind NÃO é referenciado no meu /etc/nsswitch.conf.

Estou recebendo muitas mensagens de erro interessantes em meus registros, mas o Google não está me levando a entender nenhuma delas. Aqui está uma no smb.conf dizendo que uma das minhas estações de trabalho não está conectada corretamente:

[2011/08/27 19:02:04,  0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
  _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client PROXIMA machine account PROXIMA$

Vários deles são do log.winbindd-idmap no Google, sem uma indicação clara do que pode estar errado ou se precisa ser consertado. (E, sim, eu preciso de idmapd para NFSv4.) Parece particular para o Ubuntu. Eu não tenho idéia do que pode ser "incompleto" sobre minha "configuração".

[2011/08/27 19:02:04,  0] winbindd/idmap_tdb.c:287(idmap_tdb_open_db)
  Upgrade of IDMAP_VERSION from -1 to 2 is not possible with incomplete configuration
[2011/08/27 19:02:04,  1] winbindd/idmap.c:321(idmap_init_domain)
  idmap initialization returned NT_STATUS_UNSUCCESSFUL

Eu acho que este do log.winbindd é inofensivo, já que o winbindd é apenas descobrir se o meu servidor é um PDC ou algo assim:

[2011/08/27 17:55:46,  0] libsmb/namequery.c:75(saf_store)
  saf_store: refusing to store 0 length domain or servername!
[2011/08/27 17:55:46,  1] rpc_client/cli_pipe.c:949(cli_pipe_validate_current_pdu)
  cli_pipe_validate_current_pdu: RPC fault code DCERPC_FAULT_OP_RNG_ERROR received from host EXCELSIOR!

Finalmente, aqui está meu smb.conf:

[global]
        workgroup = STARFLEET
        map to guest = Bad User
        obey pam restrictions = yes
        smb passwd file = /var/lib/samba/passdb.tdb
        private dir = /var/lib/samba
        pam password change = yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = yes
        log level = 2
        load printers = yes
        printcap name = cups
        add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
        add group script = /usr/sbin/addgroup --force-badname %g
        add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
        logon script = %U.bat
        logon path =
        logon drive = Z:
        logon home =
        domain logons = yes
        os level = 65
        preferred master = yes
        domain master = yes
        wins support = yes
        usershare allow guests = yes
        use sendfile = yes

[homes]
        comment = Home Directories
        path = /data/Users/%U
        valid users = %S
        read only = no
        create mask = 0700
        directory mask = 0700

[netlogon]
        comment = Network Logon Service
        path = /var/lib/samba/netlogon
        guest ok = yes
        browseable = no
        browsable = no
        share modes = no

[printers]
        comment = All Printers
        path = /var/spool/samba
        create mask = 0700
        printable = yes
        browseable = yes
        browsable = yes

[data]
        path = /data
        read only = no
        guest ok = yes

[temp]
        path = /data/Temp
        read only = no
        guest ok = yes
[homes]
        comment = Home Directories
        path = /data/Users/%U
        valid users = %S
        read only = no
        create mask = 0700
        directory mask = 0700

Então ... O que está acontecendo e como conserto?

    
por David Krider 28.08.2011 / 01:19

0 respostas

Tags