[Samba-it] winbind pam password scaduta

simo simo.sorce at xsec.it
Sat Jun 27 07:28:08 MDT 2009


On Sat, 2009-06-27 at 11:07 +0200, Aldo Bortot wrote:
> Un saluto a tutti.
> 
> Ho installato un nuovo desktop con Ubuntu 9.04 come domain member.
> Samba di default e il 3.3.2.
> Inserito in dominio gestito da con Samba ed LDAP.
> Le configurazioni del nuovo domain member sono identiche ad altri già 
> funzionanti.
> L'autenticazione dovrebbe avvenire tramite pam_winbind.
> Il problema è che qualsiasi utente di dominio non riesce ad accedere con 
> segnalazione di Password scaduta.
> 
> Alcune verifiche con effetto positivo già effettuate riguardano:
> 
> - wbinfo -a user%pass
> - perfetto funzionamento se setto acctflag a X
> - perfetto funzionamento se usato direttamente pam_ldap (ma ovviamente 
> mi perdo la gestione di dominio in senso "windowsiano")
> 
> Da un estratto di /var/log/auth.log (che riporto sotto) rilevo che:
> 
> 1) pam_winbind riporta una ipotetica policy che farebbe scadere la 
> password 1 secondo prima del momento in cui la password è stata settata.
> 
> 2) procede correttamente il cambio password "obbligatorio"
> 
> 3) comunque viene effettuato un confronto fra il "last set " e l' 
> "expire" calcolato con un secondo di anticipo, riproponendosi un ciclo 
> senza uscita.
> 
> Già capitato a qualcuno? E' problema noto?

So che c'e' stato del lavoro recentemente per fixare questo baco, apri
un bug e chiedi un backport.

Questo e' il commit di Guenther:


commit 3815e87f1ffea44c4d76e6c2515ff4894f6896c9
Author: Günther Deschner <gd at samba.org>
Date:   Tue May 5 12:54:21 2009 +0200

    s3-pam_winbind: Fix Bug 6253: Use correct value for password expiry
calculation.
    
    Based on patch from Blindauer Emmanuel <samba at mooby.net>.
    
    Guenther

diff --git a/source/nsswitch/pam_winbind.c
b/source/nsswitch/pam_winbind.c
index 26ef1d4..1211ffd 100644
--- a/source/nsswitch/pam_winbind.c
+++ b/source/nsswitch/pam_winbind.c
@@ -914,7 +914,8 @@ static void _pam_warn_password_expiry(struct
pwb_context *ctx,
        /* now check for the global password policy */
        /* good catch from Ralf Haferkamp: an expiry of "never" is
translated
         * to -1 */
-       if (policy->expire <= 0) {
+       if ((policy->expire == (int64_t)-1) ||
+           (policy->expire == 0)) {
                return;
        }
 





More information about the samba-it mailing list