Newsgroup: it.comp.os.linux.sys
Titolo: Username e pwd "temporanei" su ldap o simili

Una domanda su cui dovro' sbattere la testa in estate prima delle ferie:
Abbiamo una web-app che si raggiunge previa autenticazione user/pass via 
ldap. L'applicazione e' una demo e gli utenti che vogliono raggiungerla 
dovrebbero prima registrarsi su un lato del sito e, quindi, ricevere 
un'e-mail o altro brodo di polipo con un nome utente e una password.
E fin qui, niente di pazzesco. Il punto e' che l'applicazione che ha 
controllato i dati dell'utente e mi va ad infilare su ldap un username e una 
password... dovrebbe fornire tali dati come "temporanei". Ossia io vorrei che 
l'applicazione creasse un nome utente del tipo user00123456 con password 
casuale, e che tale utente venisse infilato su ldap per scadere dopo 60 
minuti. Ossia che se io alle 22:50 ottengo il nome utente user001 con 
password pass001 (ad esempio), io sia in grado di autenticarmi 
sull'interfaccia della web-app al massimo fino alle 23:49. Dalle 23:50 se 
provo a dare user001/pass001 deve bellamente fallire l'autenticazione.
Ora. Il punto e': io conosco poco ldap e sto ravanando in giro alla ricerca 
di soluzioni che si avvicinino a cio'. Non mi interessa necessariamente la 
"pappa pronta", ma magari qualche script o spunto per vedere come gestire 
chiavi di autenticazione temporanea. Magari evitando di infilare uno script 
in cron ogni minuto per vedere quali account in ldap hanno gia' 59 minuti 
(penso che se la macchina mi deve anche lanciare un cron al minuto, nel giro 
di una settimana trovo l'hard disk che mi aspetta fuori dalla porta 
dell'ufficio...).
Mi sapete consigliare qualcosa? Preferibilmente usando ldap, appunto, ma non 
obbligatoriamente (che ne so, via pam, via autenticazione flatfile, via 
sql(*), via incantesimi e pozioni...)
(*) Diciamo che comunque vorrei tenere sql quale piu' che ultima ipotesi 
plausibile
Va da se', e lo ammetto prima, che conosco poco ldap e ci sto ravandando 
adesso, ma che non mi pare d'aver capito ci sia un modo di mettere una 
"scadenza" dell'account in toto... o mi sbaglio clamorosamente? (-:
Tnx
-- 
Saluti, Grizzly - 
http://www.g-sr.eu/
  4 anni di weblog, newsgroup ed e-mail condensati (-:
  "Estrazioni dal weblog", online su 
http://www.lulu.com/g-sr
  Ordinabile in libreria, ISBN 978-1-84753-836-9
-Questo messaggio e' sottoposto a Licenza Creative Commons-
(CC)by-nc-nd 
http://creativecommons.org/licenses/by-nc-nd/2.5/it/
Quindici anni fa  non c'erano i videofonini,  ma c'erano lo stesso le
stron$$te a scuola. Ma se non diceva la stampa che dei co$$$$ni hanno
messo il filmato su internet  vuol dire che prima di allora non c'era
bullismo.  Come la storia del nonnismo a militare, che non c'era o al
massimo  i  nonni si  facevano  allacciare le  scarpe dalle  reclute,
finche' non e' successo che Lele (stupisce sapere che l'articolo piu'
completo sul caso lo ha pubblicato "L'Isola dei Cani", un giornale di
atmosfera principalmente satirica,  ma scritto da gente orgogliosa di
essere siracusana),  un *mio* *amico*, che voleva fare la carriera ai
paracadutisti  della   Folgore,  non  gli   hanno  fatto  lo  scherzo
definitivo. La "killer-application" del nonnismo, in tutti i sensi.
  - Grizzly: principio dello scoop sui media

 Mi sapete consigliare qualcosa?
ldap è una specie di db in cui un oggetto ha diversi attributi. alla 
fine è come una tabella sql con il nome oggetto come chiave e altri 
campi come attributi.
tu puoi fare attributo che si chiama come ti pare e farlo testare 
all'applicazione.
esempio:
quando crei un oggetto, ci metti un attributo chiamato "expires" con la 
data in cui l'oggetto stesso spira. se quando fai logon l'account è 
spirato, l'applicazione rifiuta il logon.
poi fai un lavoro di cron che una volta alla settimana butta via gli 
account spirati.
è un'idea. sicuramente migliorabile...

 in cron ogni minuto per vedere quali account in ldap hanno gia' 59 minuti 
Che ne dici di schedulare con at, all'atto della creazione, il job di
rimozione? Semplice e pulito (e non č un cron al minuto)
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 Mi sapete consigliare qualcosa? 
Cerca informazioni sul nis.schema di OpenLDAP, specialmente riguardo
al funzionamento degli attributi shadow (quello che dovrebbe interessare
a te e` shadowExpire). Altrimenti, usa il samba.schema (non e`
necessario che tu abbia Samba installato)
Enrico
P.S. nis.schema e` uno degli schemi caricati di default, almeno su Debian

 è un'idea. sicuramente migliorabile...
Mah, intanto provo a partire da questo ragionamento...
-- 
Saluti, Grizzly - 
http://www.g-sr.eu/
  4 anni di weblog, newsgroup ed e-mail condensati (-:
  "Estrazioni dal weblog", online su 
http://www.lulu.com/g-sr
  Ordinabile in libreria, ISBN 978-1-84753-836-9
-Questo messaggio e' sottoposto a Licenza Creative Commons-
(CC)by-nc-nd 
http://creativecommons.org/licenses/by-nc-nd/2.5/it/
GENUINE INTEL INSIDE:
  E' uscito il Pentium III.  Ma io, al cinema, devo ancora vedere l'I e
  il II.
  - Andrea `Zuse' Balestrero, "Struscia la Novizia", 1999

 P.S. nis.schema e` uno degli schemi caricati di default, almeno su Debian
Il server in oggetto e' ubuntu, quindi dovremmo esserci. (-:
Sara' comunque un impresa ardua...
-- 
Saluti, Grizzly - 
http://www.g-sr.eu/
  4 anni di weblog, newsgroup ed e-mail condensati (-:
  "Estrazioni dal weblog", online su 
http://www.lulu.com/g-sr
  Ordinabile in libreria, ISBN 978-1-84753-836-9
-Questo messaggio e' sottoposto a Licenza Creative Commons-
(CC)by-nc-nd 
http://creativecommons.org/licenses/by-nc-nd/2.5/it/
 > Rtf non ha molte cose che Doc ha.
E, se anche ce le avesse, non si riprodurrebbero da sole.
  - Leonardo Serni

 Ma hai anche della home dir da dover cancellare alla fine?
No. Il "db" mi deve contenere solo coppie di username/password per 
l'autenticazione di apache.
-- 
Saluti, Grizzly - 
http://www.g-sr.eu/
  4 anni di weblog, newsgroup ed e-mail condensati (-:
  "Estrazioni dal weblog", online su 
http://www.lulu.com/g-sr
  Ordinabile in libreria, ISBN 978-1-84753-836-9
-Questo messaggio e' sottoposto a Licenza Creative Commons-
(CC)by-nc-nd 
http://creativecommons.org/licenses/by-nc-nd/2.5/it/
Quando l'ultimo albero sara' stato abbattuto,
l'ultimo fiume avvelenato,
l'ultimo pesce pescato,
l'ultimo animale libero ucciso...
Vi accorgerete che non si puo' mangiare il denaro.
  - Nativi Cree