Table of Contents
Inserire Utenti e Gruppi in protoAAI <infnUUID>
Per inserire le entry e' sufficiente collegarsi tramite protocollo SSH al nodo protoserv.infn.it
sulla porta 57847
.
L'autenticazione può avvenire in due modi:
- SSH Publickey: e' necessario che inviate ad aai-support at infn.it la vostra chiave pubblica ssh in modo da autorizzarla.
- Kerberos5 GSSAPI: se avete un principal Kerberos correttamente registrato in AAI e siete membri di un servizio di calcolo o della ccr.
Per autenticarsi con SSH pubkey
ssh -i key_file ...
Per autenticarsi con K5 (dopo aver preso il TGT)
ssh -K ...
L'utente SSH dipende dal tipologia di dati che si vogliono gestire.
Gestione Utenti
Anche se per tradizione si è sempre utilizzato il Codice Fiscale come chiave univoca per identificare le identità digitali, la sempre maggiore presenza di identità digitali relativi a stranieri ed i vincoli imposti dal GDPR e dal garante della privacy (minimizzazione dei dati richiesti) ci hanno imposto l'utilizzo di una chiave primaria differente.
Grazie al nuovo sistema per la registrazione delle Identità Digitali, la chiave univoca da utilizzare è il valore dell'attributo infnUUID assegnato all'identità digitale (che quindi deve essere definita precedentemente).
Il valore di infnUUID può essere visualizzato sia usando l'interfaccia grafica GODiVA-GUI sia attraverso una semplice qyery LDAP non autenticata. In questo caso è ovviamente necessario conoscere il valore di un altro attributo univoco, come l'indirizzo e-mail utilizzato in fase di registrazione dell'anagrafica.
Supponendo di voler trovare il valore di infnUUID di Pinco Pallino il cui indirizzo e-mail è Pinco.Pallino@mail.io, la query LDAP sarebbe
/usr/bin/ldapsearch -o ldif-wrap=no -ZZ -x -LLL -h ds.infn.it -b ou=people,dc=infn,dc=it 'mailAlternateAddress=Pinco.Pallino@mail.io' dn 2>/dev/null | cut -d " " -f 2 | cut -d "=" -f 2 | cut -d "," -f 1
Una volta che si è ottenuto il valore di infnUUID basterà collegarsi via SSH come utente extuserserv
al nodo protoserv.infn.it. Il comando da eseguire e' quindi:
ssh -p 57847 { -i key_file | -K } extuserserv@protoserv.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:infnUUID:Nome:Cognome:[kerberosPrincipal@REALM]:primaryEmailAddress[:mailAlternateAddress[…]] |
ADD | Esegue l'inserimento | ADD dnsDomain:userName:infnUUID:Nome:Cognome:[kerberosPrincipal@REALM]:primaryEmailAddress[:mailAlternateAddress[…]] |
MOD | Modifica la entry relativa alla userName sostituendo i valori degli attributi con i nuovi | MOD dnsDomain:userName:infnUUID:Nome:Cognome:[kerberosPrincipal@REALM]:primaryEmailAddress[:mailAlternateAddress[…]] |
FIXUID | Allinea la username del ramo locale a quella del ramo nazionale | FIXUID dnsDomain:userName |
ROLLBACKFIXUID | Annulla l'allineamento della username del ramo locale a quella del ramo nazionale | ROLLBACKFIXUID dnsDomain:userName |
DEL | Elimina la entry relativa alla userName | DEL dnsDomain:userName |
SHO | Mostra la entry relativa alla userName presente in AAI | SHO dnsDomain:userName (puo' contenere wildcard) |
NOTA: Nel caso in cui non sia disponibile un Principal Kerberos omettere il contenuto di tale campo, usando quindi due separatori consecutivi.
NOTA: Per i comandi TRYADD, ADD e MOD verra' controllata l'univocita' della username e la coerenza dell'associazione username-infnUUID a livello nazionale. Per questo si consiglia di effettuare il TRYADD prima di aggiungere le identita' nei propri DataBase.
NOTA: Solo nel Comando SHO è possibile, come dominio, usare la chiave "all", in questo modo la ricerca sarà effettuata su tutto l'albero delle sedi.
Posix data
I comandi ADDPOSIX
e DELPOSIX
permettono di aggiungere le informazioni posix nelle entry degli utenti.
Comando | Descrizione | Sintassi |
---|---|---|
ADDPOSIX | Aggiunge dati posix ad un utente esistente | ADDPOSIX dnsdomain:userName:password:uidNumber:gidNumber:gecos:homeDirectory:loginShell |
DELPOSIX | Rimuove solo i dati posix di un utente | DELPOSIX dnsdomain:userName |
ATTENZIONE: Per non inserire la password in ldap, per chi ha Kerberos, usare la stringa KRBPW nel campo password.
Esempi
Inserimento di una singola entry - da inserire in un eventuale script di creazione utente:
# ssh -p 57847 extuserserv@protoserv.infn.it 'ADDlnf.infn.it:dmaselli:6e4b0a83-4067-4966a4c1-5d4797114fef:Dael:Maselli:dmaselli@LNF.INFN.IT:Dael.Maselli@lnf.infn.it:dmaselli@lnf.infn.it:maselli@lnf.infn.it' # ssh -p 57847 extuserserv@protoserv.infn.it 'ADDPOSIX lnf.infn.it:dmaselli:KRBPW:5748:3101:Dael Maselli,#14/6,:/afs/lnf/user/d/dmaselli:/bin/tcsh'
Inserimento di piu' entry in interattivo
# ssh -p 57847 extuserserv@protoserv.infn.it > ADD lnf.infn.it:dlenci:XXXXXXXXXXXXXXX:Davide:Lenci::Davide.Lenci:dlenci Line 1: OK - Entry added > ADD lnf.infn.it:dmaselli:MSLDLAXXXXXXXXXX:Dael:Maselli:dmaselli:Dael.Maselli:dmaselli:maselli Line 2: OK - Entry added > ADDPOSIX lnf.infn.it:dmaselli:KRBPW:5748:3101:Dael Maselli,#14/6,:/afs/lnf/user/d/dmaselli:/bin/tcsh 3 actions requested. 3 done. Bye!
Inserimento di piu' entry da file
# ssh -p 57847 extuserserv@protoserv < file ........... 11 actions requested. 11 done. Bye!
Gruppi
Per la gestione dei gruppi collegarsi come utente groupserv
. Il comando da eseguire e' quindi:
ssh -p 57847 [-i rsa_private_key_file] groupserv@protoserv.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 |
---|---|---|
ADDGROUP | Esegue l'inserimento di un gruppo | ADDGROUP dnsDomain:groupName:gidNumber |
MODGROUP | Modifica la entry relativa a groupName sostituendo il gidNumber | MODGROUP dnsDomain:groupName:gidNumber |
ADDUSER | Aggiunge un utente a un gruppo | ADDUSER dnsDomain:groupName:userName |
DELUSER | Rimuove un utente da un gruppo | DELUSER dnsDomain:groupName:userName |
DELGROUP | Elimina la entry relativa a groupName | DELGROUP dnsDomain:groupName:gidNumber |
SHO | Mostra la entry relativa a groupName | SHO dnsDomain:groupName (puo' contenere wildcard) |
Netgroup
Per la gestione dei netgroup collegarsi come utente netgroupserv
. Il comando da eseguire e' quindi:
ssh -p 57847 [-i rsa_private_key_file] netgroupserv@protoserv.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 |
---|---|---|
ADDNETGROUP | Esegue l'inserimento di un gruppo | ADDNETGROUP dnsDomain:netGroupName |
ADDELEMENT | Aggiunge una tripletta o un altro netgroup a un netgroup | ADDELEMENT dnsDomain:netGroupName:ELEMENT |
DELELEMENT | Rimuove una tripletta o un altro netgroup da un netgroup | DELELEMENT dnsDomain:netGroupName:ELEMENT |
DELNETGROUP | Elimina la entry relativa a netGroupName | DELNETGROUP dnsDomain:netGroupName |
SHO | Mostra la entry relativa a netGroupName | SHO dnsDomain:netGroupName (puo' contenere wildcard) |