Piano migrazione "multiserver"
Vista ormai la vecchiaia del server artista e la disponibilità di altra "forza computazionale", è il caso di mettere a punto una infrastruttura informatica di servizi ed informazioni che consenta di spostare servizi e/o dati su altri server. Questo obiettivo trova una sua ragione anche nelle esigenze di manutenzione di artista che essendo punto nevralgico dell'attuale infrastruttura, difficilmente subire interventi di manutenzione pesanti e lunghi.
I servizi e i dati sono per funzionare correttamente o per essere adeguatamente disponibili necessitatano delle seguenti informazioni:
- i servizi vengono eseguiti nel contesto di uno specifico utente (normalmente un utente di sistema) e forniscono dati agli utenti;
- l'accessibilità dei dati è contrassegnata con un utente ed un gruppo che possono eseguire operazioni quali creazione, lettura, modifica, cancellazione.
Da ciò discende che una infrastruttura di rete adeguata deve essere in grado come minimo di:
- autenticare gli utenti, generalmente tramite l'utilizzo di una password, in qualsiasi modalità sia predeisposta: terminale grafico, login, ssh;
- avere un database disponibile via rete che contenga la lista degli utenti e dei gruppi disponibili oltre alle informazioni di appartenenza dell'utente ai gruppi.
L'infrastruttura disponibile
Su carnera (192.168.1.252), macchina con linux-vserver:
- dns.artiemestieri.tn.it, dns:
- Un dns per la risoluzione dei nomi interni implementato con dnsmasq. Il file da modificare per la configurazione è /etc/hosts.
- kerberos.artiemestieri.tn.it, kerberos:
- Un Kerberos Heimdal per la gestione delle autenticazioni.
- directory.artiemestieri.tn.it, directory:
Un server LDAP basato su OpenLDAP per la condivisione delle informazioni su gruppi ed utenti che è ad accesso pubblico (quindi senza autenticazione) per la rete interna AeM.
Per interagire con la directory usare l'applicativo grafico gq o ldapsearch, ldapadd, ldapmodify e ldapdelete da command line.
Nota
questa directory non contiene le password, sebbene ogni record possieda il campo da valorizzare.
- ntp.artiemestieri.tn.it (fornito direttamente da carnera):
Un time server per la sincronizzazione dell'orologio di ogni macchina connessa alla rete.
Attenzione!
per il funzionamento di Kerberos è indispensabile che gli orologi siano sincronizzati!
Procedura per l'aggiunta di un nuovo utente
Creazione del principal Kerberos
Da una macchina che già autentica su Kerberos, aprire un terminale e digitare:
azazel@pickup:~$ kadmin kadmin> add nuovo_login_utente azazel/admin@ARTIEMESTIERI.TN.IT's Password: Max ticket life [1 day]: Max renewable life [1 week]: Principal expiration time [never]: Password expiration time [never]: Attributes []: nuovo_login_utente@ARTIEMESTIERI.TN.IT's Password: Verifying - nuovo_login_utente@ARTIEMESTIERI.TN.IT's Password: kadmin>^D
Si può specificare now alla voce Password expiration time e in tal caso sarà chiesto all'utente di inserire una nuova password la prossima volta che cercherà di autenticarsi.
Creazione dell'utente e del suo gruppo nella directory
Preparare un nuovo file /tmp/nuovo.ldif modificando il contenuto che segue:
dn: uid=nuovo_login_utente,ou=utenti,dc=artiemestieri,dc=tn,dc=it uid: nuovo_login_utente cn: Nome Cognome givenName: Nome sn: cognome mail: nuovo_login_utente@artiemestieri.tn.it objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: shadowLastChange: 12354 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: <inserire valore numerico> gidNumber: <inserire valore numerico> homeDirectory: /home/nuovo_login_utente gecos: Nome Cognome,,, dn: cn=nuovo_login_utente,ou=gruppi,dc=artiemestieri,dc=tn,dc=it objectClass: posixGroup objectClass: top cn: nuovo_login_utente gidNumber: <inserire valore numerico>
Salvare il file ed in un terminale eseguire:
ktinit utente/admin
per acquisire i il permesso di scrittura. Rimpiazzare utente con il proprio nome di login. Successivamente, eseguire:
ldapadd -f /tmp/nuovo.ldif
Se la scrittura va a buon fine. L'utente è pronto per essere utilizzato.
Per copiare/duplicare un utente è utile il seguente comando:
kinit utente/admin ldapvi -Q "(|(uid=<id utente da copiare>)(memberUid=<id utente da copiare>))"
Questo comando apre una finestra dell'editor (Emacs) contenente i dettagli dei record dell'utente richiesto e di tutti i gruppi di cui fa parte.
Copiare tutta la lista, modificare i dettagli con quelli del nuovo utente e sostituire al posto del codice numerico iniziale la stringa add; salvare ed uscire.
ldapvi mostrerà una conta numerica delle modifiche effettuate altre varie opzioni, utilizza v per verificarle. Ok, è ora di comfermarle ed inviarle al server. Premi b per fare il bind (login) sul server ed enter per confermare il campo autorization name: vuoto e premi y per inviare le modifiche.
Modifica password utente
La procedura raccomandata è:
entrare nel vserver kerberos su eos, dopodiché:
kadmin -l password nomeutente
Se l'utente accede alla propria mailbox dall'esterno, occorre impostare anche la relativa password su artista