Table of Contents
Inserire dati nella protoAAI v1 (DISMESSO)
ATTENZIONE: Protoserv1 è stato dismesso!!!. Ora è necessario usare la Versione 2
Per inserire le entry nella protoAAI e' sufficiente avere un client ssh.
L'autenticazione avviene solo tramite publickey, e' quindi necessario che inviate a Dael Maselli at lnf.infn.it la vostra chiave pubblica ssh in modo da autorizzarla.
Il comando da eseguire e':
ssh -p 57847 [-i rsa_private_key_file] protoserv1@dsa.infn.it
Una volta aperta la connessione, con il comando precedentemente indicato, il server aspetta i comandi uno per linea.
E' possibile eseguire un inserimento singolo scrivendo i comandi come ulteriori parametri nella linea di ssh.
Comandi
Comando | Descrizione | Sintassi |
---|---|---|
TRYADD | Mostra la entry che verrebbe inserita con ADD , senza inserirla realmente | TRYADD dnsDomain userName primaryEmailAddress [mailAlternateAddress [mailAlternateAddress […]]] |
ADD | Esegue l'inserimento | ADD dnsDomain userName primaryEmailAddress [mailAlternateAddress [mailAlternateAddress […]]] |
MOD | Modifica la entry relativa alla userName sostituendo i valori degli attributi con i nuovi | MOD dnsDomain userName primaryEmailAddress [mailAlternateAddress [mailAlternateAddress […]]] |
DEL | Elimina la entry relativa alla userName | DEL dnsDomain userName |
SHO | Mostra la entry relativa alla userName presente in protoAAI | SHO dnsDomain userName (puo' contenere wildcard) |
Esempi
Inserimento di una singola entry - da inserire in un eventuale script di creazione utente:
# ssh -p 57847 protoserv@dsa.infn.it ADD lnf.infn.it dmaselli Dael.Maselli@lnf.infn.it dmaselli@lnf.infn.it maselli@lnf.infn.it 1 actions requested. 1 done. Bye!
Inserimento di piu' entry in interattivo
# ssh -p 57847 protoserv@dsa.infn.it > ADD lnf.infn.it dlenci Davide.Lenci dlenci Line 1: OK - Entry added > ADD lnf.infn.it dmaselli Dael.Maselli dmaselli Maselli Line 2: OK - Entry added > ADD lnf.infn.it dmilazzo Daniele.Milazzo dmilazzo Line 3: OK - Entry added 3 actions requested. 3 done. Bye!
Inserimento di piu' entry da file
# ssh -p 57847 protoserv@dsa.infn.it < file ........... 11 actions requested. 11 done. Bye!
Conversione da userDB di Sendmail
Nel caso si abbia uno userDB e aliases di Sendmail e' possibile generare i comandi da dare a protoserv con lo script sendmailuserdb2protoserv-0.9.zip.
I parametri da indicare sono:
- Il dominio di posta
- Il FQDN
- La lista delle username, uno per linea. Volendo va bene direttamente /etc/passwd o il risultato di `ypcat passwd`, verra' presa solo la parte della username.
- Il file userDB di Sendmail
- (facoltativo) il file aliases di Sendmail
Esempio:
sendmailuserdb2protoserv lnf.infn.it imap0.lnf.infn.it users.list userdb.txt aliases.txt > lnf.proto
NOTA: se il mail gateway e il mailhost (dove risiedono le inbox) coincidono, ripetere due volte il dominio come primo e secondo parametro, ad es:
sendmailuserdb2protoserv roma3.infn.it roma3.infn.it /etc/passwd roma3.userdb.txt roma3.aliases.txt > roma3.proto
Dopo aver eseguito il comando controllare in fondo al file le entry ambigue che sono state escluse e per esse generare i comandi protoserv manualmente.
Una volta preparato il file con i comandi, seguire la guida di protoserv passando il file in input.
Conversione da file Canonical di Postfix
Nel caso si usi Postfix, a e' possibile generare i comandi da dare a protoserv con lo script postfix2protoserv-0.1.zip.
I parametri da indicare sono:
- Il file Canonical
- Il file Aliases
- La lista delle username, uno per linea. Volendo va bene direttamente /etc/passwd o il risultato di `ypcat passwd`, verra' presa solo la parte della username.
- Il dominio di posta elettronica
Esempio:
ypcat passwd > users.list postfix2protoserv /etc/canonical /etc/aliases users.list pi.infn.it > pi.proto
Una volta preparato il file con i comandi, seguire la guida di protoserv passando il file in input.
Conversione da mail routing basato su LDAP
Siccome in questo caso il recupero dei dati necessari per protoserv dipende dal disegno della Directory, e dal tipo objectClass e di attributi usati, non è stato predisposto uno script ad hoc.
Solo a titolo di esempio/suggerimento, nel seguito mostreremo come usare ldapsearch e perl per ottenere un file da dare in pasto a protoserv.
Scenario
Se le entries nella directory sono del tipo:
# pinco, People, le.infn.it dn: uid=pinco, ou=People, dc=le, dc=infn, dc=it objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: eduPerson objectClass: mailRecipient objectClass: infnPerson uid: pinco eduPersonPrincipalName: pinco@le.infn.it cn: Pinco Secondo Pallino givenName: Pinco Secondo sn: Pallino mail: Pinco.Secondo.Pallino@le.infn.it mailAlternateAddress: pinco@le.infn.it mailAlternateAddress: Pinco.II.Pallino@le.infn.it mailAlternateAddress: Pinco.S.Pallino@le.infn.it
ossia se si utulizza l'attributo mail per l'e-mail canonico, e mailAlternateAddress per gli alias di posta elettronica, allora è possibile generare il file di input per protoserv usando il seguente comando
ldapsearch -LLL -h dsa.infn.it -x -b 'dc=le,dc=infn,dc=it' '(objectclass=person)' uid mail mailAlternateAddress |\ perl -ne ' if (/^(.+):\s*(.+)$/) { if ($1 eq 'dn') { print "ADD le.infn.it" } else { print " $2" } } else { print "\n" } ' > le.proto
che per l'entry corrispondente a quella visualizzata sopra, produrra' la seguante linea nel file le.proto
ADD le.infn.it pinco Pinco.Secondo.Pallino@le.infn.it pinco@le.infn.it Pinco.II.Pallino@le.infn.it Pinco.S.Pallino@le.infn.it