Strumenti Utente

Strumenti Sito


lca:tutorial_mkldap

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
lca:tutorial_mkldap [09/05/2008 08:59] alessio.cavalierilca:tutorial_mkldap [20/05/2008 19:47] (versione attuale) roberto.alfieri
Linea 1: Linea 1:
 +\\
  
 +<html>
 +<p><hr><p>
 +<center>
 +<p>
 +<H4>
 +<font color="#000099">
 +Incontro su Autenticazione e Autorizzazione<br />
 +12 Maggio 2008 <br />
 +Aula Informatica Edificio Polifunzionale di Scienze<br/>
 +Universita' degli Studi di Parma <br/>
 +</font>
 +</H4>
 +<hr>
 +<H3>Una infrastruttura di autenticazione e autorizzazione flessibile e scalabile per l'Ateneo <br/>
 +<font size="-1">Laboratorio di Calcolo Avanzato del Dipartimento di Fisica</font><br>
 +<font size=+0>lca@fis.unipr.it</font>
 +</h3>
 +</center>
 +</html>
 +\\
 +
 +
 +
 +===== Obiettivi =====
 +
 +
 +  * **Sistema di Autenticazione centralizzato e allineato con l'Identity Server di Ateneo**
 +
 +  * **Separazione del livello di autoririzzazione dall'autenticazione, mediante l'utilizzo di diversi 
 +"Domini" per l'Access Management.**
 +
 +  * **Deployment rapido e semplice**
 +
 +  * **Autenticazione supportata dalle principali risorse (Sistemi operativi e servizi)**
 + 
 +  * ** Architettura scalabile**
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Architettura =====
 +
 +{{lca:architettura.png?500| architettura }} \\
 +
 +
 +
 +
 +{{lca:poster.png?400| Poster}}\\ 
 +
 +[[http://www.fis.unipr.it/lca/poster/poster%20Parma%20CCR2007_web.pdf | Poster INFN]]
 +
 +
 +
 +
 +
 +
 +===== Servizi Forniti =====
 +
 +  * Autenticazione Sistemi (server e Workstation)
 +     * Linux (via LDAP direttamente)
 +     * Windows (via domain controller Samba con o senza Roaming Profile)
 +     * Principali utilizzi:
 +       * [[lca:server_dipartimentali|Server Linux]]
 +       * [[lca:servizi:calcolo|Farm di Calcolo Linux]]
 +       * [[http://fisica.unipr.it/cgi-bin/campusnet/aule.pl/Show?_id=f132&sort=DEFAULT&search=%20%7bubicazione%7d%20%3d%7e%20m%2fPlesso%20Fisico%2fi%20or%20%7bubicazione%7d%20%3d%7e%20m%2fPlesso%20Polifunzionale%2fi%20&hits=18|Aule Informatiche dual boot]]
 +       * PC Pubblici (Biblioteca, scanner, ..) 
 +
 +  * [[lca:servizi:condivisione_files_rete |Condivisione Samba]] (Windows, Linux, Mac) 
 +     * Spazio Utenti
 +     * Spazio Backup  
 +     * Web Personali
 +     * scambio
 +     * gruppi di lavoro e di ricerca
 +
 +  * [[lca:servizi:mail | Autenticazione posta elettronica ]] 
 +     * pop, imap e smtp
 +
 +  * [[lca:servizi:stampa| Stampa]] (Windows, Linux, Mac) con autenticazione e accounting
 +     *[[http://www.fis.unipr.it/lca/riepilogo_stampe/riepilogo_didattica.php | Riepilogo Stampe]]
 +
 +  * Web Application 
 +      * [[http://www.fis.unipr.it/dokuwiki/doku.php |Wiki ]] 
 +      * [[https://www.fis.unipr.it/webmail/src/login.php | WebMail ]]
 +      * [[https://www.fis.unipr.it/booking_calendar/month_view.php?loc=loc2&date=2008-05-09&view=month | Calendario Prenotazioni]]
 +      * [[http://www.fis.unipr.it/intranet.php | Servizi Intranet ]] (in via di sviluppo)
 +
 +  * Proxy Web 
 +
 +
 +
 +
 +
 +
 +===== Prerequisiti =====
 +
 +  * **Server Linux** (noi usiamo Scientific Linux 4.X) 
 +  * **OpenLDAP** con schemi standard + samba (noi usiamo la versione 2.2.13)
 +  * **Samba** (noi usiamo la versione 3.0.25b)
 +  * **smbldap-tools**  (noi usiamo la versione 0.9.4)
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Organizzazione dei file  =====
 + 
 +  * **Gestione centralizzabile dei server con delega della configurazione dei domini**
 +
 +{{lca:mkldap_files.png?400}}
 +
 +
 +  * **local_def.inc**
 +<code php>
 +<?
 +# DEFINIZIONE UTENTI E GRUPPI LOCALI
 +############ USERS  ##############
 +$dst['user']["localuser1@fis.unipr.it"] = array("uidnumber"=>"9001","password"=>"secret1");
 +$dst['user']["localuser2@gmail.com"   = array("uidnumber"=>"9002","password"=>"secret2");
 +$dst['user']["localuser3@libero.it"   = array("uidnumber"=>"9003","password"=>"secret3","description"=>"Ospite");
 +#
 +############### GROUPS  ############ 
 +$dst['group']['biblio']["gidnumber"]="2300";
 +$dst['group']['biblio']["memberuid"]=array(
 +"nome.cognome1",
 +"nome.cognome2",
 +"nome.cognome3"
 +
 +$dst['group']['ammin']["gidnumber"]="2400";
 +$dst['group']['ammin']["memberuid"]=array(
 +"nome.cognome4",
 +"nome.cognome5",
 +"nome.cognome6"
 +?>
 +</code>
 +
 +  * **fisica.conf**
 +<code php>
 +<?
 +# CONFIGURAZIONE DOMINIO FISICA
 +
 +#UTENTI AGGIUNTI DA UNIPR
 +$rule['ldapadd']['Personale'][] = "ou=Dipartimento di Fisica";
 +$rule['ldapadd']['Personale'][] = "mail=nome.cognome1@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=nome.cognome2@unipr.it";
 +$rule['ldapadd']['Ospiti'][] = "(&(ciclodottorato=23)(nomedottorato=fisica))"; #Inizio 09/07
 +$rule['ldapadd']['Ospiti'][] = "(&(ciclodottorato=22)(nomedottorato=fisica))"; #Inizio 09/06
 +#ESCLUSO DALL'INSERIMENTO
 +$rule['ldapban']['Personale'][] = "cn=Bad Prof";
 +
 +#UTENTI E GRUPPI AGGIUNTI DA DEFINIZIONI LOCALI
 +$lrule['user']["localuser2@gmail.com"] = true;
 +$lrule['user']["localuser3@libero.it"] = true;
 +$lrule['group']['biblio'] = true;
 +?>
 +</code>
 +
 +
 +
 +
 +
 +
 +===== Gestione =====
 +
 +{{lca:mkldap.png?500|}}
 +
 +**Crontab**
 +  0-59/10 * * * * /usr/sbin/mkldap -hd             --update fisica
 +  30 1    * * *   /usr/sbin/mkldap -c grid-ce.conf --update grid
 +
 +
 +
 +===== Un esempio di configurazione =====
 +
 +
 +
 +=== fisica.conf ===
 +Modifica sul server samba.fis.unipr.it al file /etc/mkldap/samba/fisica.conf:
 +<code php>
 +############ REGOLE LDAP
 +
 +[...]
 +
 +### Tutorial mkldap ###
 +$rule['ldapadd']['Personale'][] = "mail=evelina.ceccato@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=antonio.paini@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=paolo.pollonara@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=norberto.vignali@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=andrea.pellegrini@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=luca.bergonzi@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=cesare.marchesini@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=giordano.pincolini@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=marco.silvestri@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=vincenzo.palermo@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=massimo.manghi@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=rita.olla@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=andrea.giovanella@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=gianfranco.galli@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=mario.bo@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=franco.sartore@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=davide.peis@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=franco.montanari@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=clara.ninimosi@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=antonio.sarubbi@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=andrea.pescetti@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=sara.valla@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=barbara.bertoli@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=giulio.campanini@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=gianna.goberti@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=fabrizio.russo@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=davide.bettati@unipr.it";
 +$rule['ldapadd']['Personale'][] = "mail=fabrizio.gattamelati@unipr.it";
 +### fine tutorial mkldap ###
 +
 +[...]
 +
 +$lrule['group']['tutorialmkldap'] = true;
 +
 +</code>
 +
 +Il file definisce le regole per il dominio **fisica**
 +
 +Con queste modifiche, vengono aggiunti al dominio **fisica**, residente sul server chiamato **samba** gli utenti facenti parte del **Personale** di ateneo indentificati col campo **mail=**, inoltre viene abilitato il gruppo **tutorialmkldap**
 +
 +
 +
 +
 +
 +=== local_def.inc ===
 +Modifica sul server samba.fis.unipr.it al file /etc/mkldap/local_def.inc
 +<code php>
 +
 +[...]
 +
 +$dst['group']['tutorialmkldap']["gidnumber"]="5030";
 +$dst['group']['tutorialmkldap']["memberuid"]=array(
 +"alessio.cavalieri",
 +"roberto.alfieri",
 +"roberto.covati",
 +"evelina.ceccato",
 +"antonio.paini",
 +"paolo.pollonara",
 +"norberto.vignali",
 +"andrea.pellegrini",
 +"luca.bergonzi",
 +"cesare.marchesini",
 +"giordano.pincolini",
 +"marco.silvestri",
 +"vincenzo.palermo",
 +"massimo.manghi",
 +"rita.olla",
 +"andrea.giovanella",
 +"gianfranco.galli",
 +"mario.bo",
 +"franco.sartore",
 +"davide.peis",
 +"franco.montanari",
 +"clara.ninimosi",
 +"antonio.sarubbi",
 +"andrea.pescetti",
 +"sara.valla",
 +"barbara.bertoli",
 +"giulio.campanini",
 +"gianna.goberti",
 +"fabrizio.russo",
 +"davide.bettati",
 +"fabrizio.gattamelati"
 +);
 +
 +[...]
 +
 +</code>
 +
 +Il file definisce i gruppi e le regole generali che possono valere su tutto il server.
 +
 +Con queste modifiche, viene definito il gruppo **tutorialmkldap** e tutti gli afferenti ad esso.
 +
 +Un utente normalmente ha un **gruppo di default** (es.  gid=6002, Personale) e puo' afferire a piu' di un **gruppo secondario** che gli consente di cooperare con altri utenti, ad esempio attraverso le condivisioni del server samba.
 +
 +Un esempio:
 +
 +<file>
 +# id alessio.cavalieri
 +uid=3216(alessio.cavalieri) gid=6002(Personale) gruppi=6002(Personale),2300(biblio),5002(seminariscuole),5004(bwork),5007(informazioni),5008(lca),5009(segreteria),5013(infn),5014(sustain),5017(grid),5019(albert),5024(microcosmo),5027(hycarb),5030(tutorialmkldap)
 +
 +</file>
 +
 +
 +=== smb.conf ===
 +Modifica sul server samba.fis.unipr.it al file /etc/samba/smb.conf
 +
 +<file>
 +
 +[...]
 +
 +### CONDIVISIONI DI GRUPPO ###
 +
 +[...]
 +
 +[tutorialmkldap]
 +  comment = Condivisione di test per il tutorial su mkldap
 +  path = /home/gruppi/tutorialmkldap
 +  public = no
 +  writable = yes
 +  force create mode= 0665
 +  force directory mode = 0775
 +  valid users = @tutorialmkldap
 +  force group = tutorialmkldap
 +
 +[...]
 +
 +</file>
 +
 +Con queste modifiche, si crea una nuova condivisione, solo i membri del gruppo riescono ad accedervi e scrivono i files in modo che gli altri membri possano modificarli.
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +=== Cosa si ottiene ===
 +Ad esempio con questa combinazione, e' possibile ottenere un flessibile ambiente di lavoro per i gruppi di ricerca: **repository di documenti** e **spazio web modificabile dai membri del gruppo**, il tutto utilizzando i normali strumenti a disposizione su [[lca:servizi:condivisione_files_rete#microsoft_windows_xp|windows, sui mac o su linux]]
 +
 +| {{lca:condivisione_samba_tutorial_mkldap.jpg|}} | Si possono creare directory con file riservati nello spazio quotato di gruppo, inoltre se si ha la necessita' di attivare un sito web di gruppo, e' possibile attingere ad una cartella dal filesystem condiviso col server web ( web.fis.unipr.it ), ecco un esempio di alcuni gruppi che lo usano: | 
 +|  http://www.fis.unipr.it/microcosmo/ \\ http://www.fis.unipr.it/labdid/ \\ http://www.fis.unipr.it/hycarb/ \\ http://www.fis.unipr.it/fullereni/  \\ http://www.fis.unipr.it/infm/infm.html/  | {{lca:condivisioni_di_gruppo_attive.jpg|}} | 

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki