L'ultimo giorno di lavoro ho deciso di fare l'aggiornamento di un server di produzione Ubuntu dalla 7.04 alla 8.04. Devo dire che ho deciso di fare questo aggiornamento solo dopo averlo provato su altre 3 macchine senza aver avuto grossi problemi. Gli unici problemi effettivi riscontrati sono stati con gli aggiornamenti dei pacchetti delle lingue, che si bloccavano durante il processo di update e dovevano essere killati manualmente perché l'update proseguisse. Ad ogni modo i problemi che mi attendevano erano ben più seri.
Dell'ora prevista per l'aggiornamento ce ne sono volute circa 2 solo per lo scaricamento e l'installazione dei pacchetti. E al riavvio del server OpenLdap non andava più. In effetti il sistema mi aveva indicato degli errori su appunto OpenLdap e Samba (la cui autenticazione dipende da OpenLdap). Ho così cominciato a cercare di far funzionare OpenLdap, fino all'errore, dettato dallo stress, che mi ha portato a rimuovere il contenuto di /var/lib/ldap/ e quindi il database ldap effettivo. Fortuna che l'aggiornamento di Ubuntu aveva provveduto a fare un backup del database. Ma la copia hot dei file del database non ha funzionato al primo colpo, o almeno non si rilevavano errori nel demone slapd ma non si otteneva l'accesso al sistema. Finalmente, una volta individuati i file di backup corretti e sistemati i permessi degli stessi, finalmente il server ldap mostrava il contenuto di tutti gli utenti e si riusciva ad autenticarsi sul sistema.
Ma l'autenticazione samba ancora non andava!
Anzitutto pensavo che la colpa fosse dell'aggiornamento Ubuntu, che (come spesso accade) aveva rimosso lo schema Samba dai file di configurazione di ldap. Ma oltre a questo, si era venuto a creare una sorta di doppio database degli oggetti ldap, percui ogni utente figurava due volte sotto due rami distinti, solo che mentre le informazioni di un ramo erano corrette, quelle dell'altro ramo non lo erano. Ho così cancellato l'intero ramo difettoso, sperando nella ripresa di Samba, che effettivamente ha ripreso a funzionare ma non prima di aggiungere manualmente gli utenti con smbpasswd. A questo punto il problema finale: reinserire tutti gli utenti e le relative password. Fortunatamente, grazie ad uno script che faceva uso di awk sono riuscito a dare in pasto al sistema il mio file CSV con gli utenti, e a ripristinare definitivamente lo stato del sistema.

Ma alla fine di tutto questo mi chiedo: come mai gli aggiornamenti di Ubuntu creano spesso problemi con ldap?

The article La mia cattiva esperienza con LDAP, Ubuntu e do-release-upgrade has been posted by Luca Ferrari on August 15, 2008

Tags: linux