[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