[Samba-it] Modifica a samba.schema

simo simo.sorce at xsec.it
Fri Sep 8 02:50:01 MDT 2006


On Thu, 2006-09-07 at 18:33 +0200, Cristian Manfredini wrote:
> Salve a tutti,
> nel gestire un DC samba3 con backend LDAP mi sono posto il problema di
> automatizzare la disabilitazione degli utenti dopo 6 mesi di
> inattività (come da L. 196/03).
> 
> La search piu' efficente che mi è venuta in mente è la seguente: 
> 
> #! /bin/bash
> let "DEADLINE=`date +%s` - 15552000"
> `ldapsearch -x -b ou=users,ou=dominio,o=provinciare
> '(&(uid=*)(!(sambaAcctFlags=[d*))(sambaLogonTime<='$DEADLINE'))' uid`
> 
> Il problema è che con lo schema attuale sambaAcctFlags non fa match
> con una sottostringa e sambaLogonTime non è confrontabile con un altro
> intero. 
> 
> Quindi ho modifcato lo samba.schema come segue:
> 
> attributetype ( 1.3.6.1.4.1.7165.2.1.26 NAME 'sambaAcctFlags'
>         DESC 'Account Flags'
>         EQUALITY caseIgnoreIA5Match
>         SUBSTR caseIgnoreSubstringsMatch 
>         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16} SINGLE-VALUE )
> 
> attributetype ( 1.3.6.1.4.1.7165.2.1.30 NAME 'sambaLogonTime'
>         DESC 'Timestamp of last logon'
>         EQUALITY integerMatch
>         ORDERING integerOrderingMatch 
>         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
> 
> Funziona!
> 
> ...vengo alla domanda:
> Quali garanzie ho che samba continui a funzionare correttamente avendo
> modificato lo schema di openldap?

Nessuna ovviamente :-)
Comunque il tuo problema e' che samba non aggiorna il sambaLogonTime,
abbiamo scoperto che e' un'operazione troppo onerosa in caso di Ldap
replicati e in caso di login multipli che avvengono tutti allo stesso
momento, per cui non aggiorniamo piu' questo parametro.

Simo.




More information about the samba-it mailing list