¿Cómo evito la "corrupción" de la base de datos Samba?

¿Cómo evito la "corrupción" de la base de datos Samba?

Tengo problemas con mi configuración de Samba. He estado ejecutando Samba durante unos 12 o 13 años y nunca había visto esto antes. Hubo un tiempo en el que tenía bastante conocimiento sobre los dominios de Windows, pero el mundo de Windows me ha pasado de largo y las diversas facetas de Samba que han crecido junto con Active Directory me confunden.

Mi configuración es realmente sencilla. Solo tengo un servidor con algo de espacio en disco y una impresora que quiero compartir con otras 4 computadoras. Durante todos estos años he estado usando un dominio simple con un único PDC. Últimamente algo ha cambiado. No puedo determinar si fue a Lucid o si fue una actualización particular con Samba, pero algo sigue rompiéndose en mi base de datos.

De vez en cuando, la contraseña de mi cuenta será "incorrecta". Podré iniciar sesión (supongo que usando credenciales almacenadas en caché) pero no podré montar las unidades ni imprimir en la impresora. Creo que sucede aproximadamente cada 30 días. Tal vez sea 45. He estado lidiando con esto simplemente restableciendo la contraseña en el servidor, pero esto se ha vuelto realmente molesto. Además, noto en los registros que las contraseñas de las máquinas también se están confundiendo.

Finalmente supuse que mi base de datos, que había migrado y actualizado durante aproximadamente una docena de años, estaba demasiado desactualizada, así que la eliminé y comencé desde cero con un nuevo dominio. Ahora está sucediendo de nuevo, así que claramente ese no fue el problema.

Pensé que tal vez era sólo mi caja de Windows 7, pero ahora mis máquinas XP también lo hacen.

No creo que sea una cuestión de política de caducidad de contraseñas. Si así fuera, debería recibir un mensaje que diga que es hora de cambiar mi contraseña, ¿verdad? Cuando voy a investigar algo así, me pierdo con todas las diversas permutaciones de los comandos netand . Estoy acostumbrado a no necesitarlos en general. Creo que agregué mi cuenta al grupo "Administradores de dominio" con uno de ellos en algún momento, pero no recuerdo cómo se hizo.pdbeditwbinfo

Estoy especialmente confundido con los documentos sobre si debería tener winbind ejecutándose en mi configuración. No creo que lo haga, pero obviamente ejecutarlo wbinfopara hacer diagnósticos lo necesita, y creo que no estoy dañando nada al tenerlo en ejecución. Se ejecuta de forma predeterminada en Ubuntu, por lo que quería dejarlo y trabajar con él si es posible. NO se hace referencia a Winbind en mi /etc/nsswitch.conf.

Recibo muchos mensajes de error interesantes en mis registros, pero Google no me ayuda a comprender ninguno de ellos. Aquí hay uno en smb.conf que me dice que una de mis estaciones de trabajo no está conectada correctamente:

[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$

Mucho de este de log.winbindd-idmap en Google, sin una indicación clara de qué podría estar mal o si es necesario arreglarlo. (Y sí, necesito idmapd para NFSv4). Parece específico de Ubuntu. No tengo idea de qué podría estar "incompleto" en mi "configuración".

[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

Ipensareste de log.winbindd es inofensivo, ya que winbindd simplemente está averiguando si mi servidor es un PDC o algo más:

[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, aquí está mi 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

Entonces... ¿Qué está pasando y cómo lo soluciono?

información relacionada