User Tools

Site Tools


cn:ccr:aai:howto:protoserv

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
cn:ccr:aai:howto:protoserv [2018/04/03 15:36] enrico@infn.itcn:ccr:aai:howto:protoserv [2018/04/03 15:37] (current) enrico@infn.it
Line 1: Line 1:
 +====== Inserire dati nella protoAAI v1 (DISMESSO)======
  
 +
 +**__ATTENZIONE: Protoserv1 è stato dismesso!!!__**. Ora è necessario usare la [[cn:ccr:aai:howto:protoaai:protoserv2|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 {{:cn:ccr:aai:howto:sendmailuserdb2protoserv-0.9.zip|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 {{:cn:ccr:aai:howto:postfix2protoserv-0.1.zip|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
 +
 +<code>
 +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
 +</code>
 +
 +che per l'entry corrispondente a quella visualizzata sopra, produrra' la seguante linea nel file **le.proto**
 +
 +<code>
 +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
 +</code>
cn/ccr/aai/howto/protoserv.txt · Last modified: 2018/04/03 15:37 by enrico@infn.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki