Skip to topic | Skip to bottom
Home
Web attivi: Reteisi | Pmb
user: TWikiGuest
Registrazione | Mappa | Cambiamenti | Indice | Ricerca | Vai | Calcolatrice

Sei qui: Reteisi > DocTecWoody > IsiSamba > IsiLdap



Start of topic | Skip to actions

IL PACCHETTO ISI-LDAP

Un server ldap fornisce un fondamentale servizio di autenticazione centralizzata andando a sostituire la tipica molteplicità di database e meccanismi di autenticazione normalmente presenti su un sistema linux. Il server ldap è responsabile, ad esempio, dell'autenticazione degli utenti linux, di quelli windows via Samba, autorizza l'accesso internet via Squid e conserva tutti i dati significativi degli utenti in modo ben piu' ricco e completo di quanto non possono fare i tradizionali servizi linux basati su password e smbpassword. La configurazione di Openldap e il suo interfacciamento con servizi quali Samba e Squid è generalmente piuttosto complicata, siamo perciò orgogliosi di presentare il pacchetto ISI-LDAP che, per le sue caratteristiche autoconfiguranti e per le utilities che lo accompagnano, rende veloce e semplice una operazione generalmente complessa e cruciale per tutta l'architettura di una intranet di qualunque tipo.

Il sistema di pre/post installazione del pacchetto Debian ISI-LDAP, è stato predisposto per installare automaticamente e preconfigurare anche i pacchetti strettamente correlati Samba, atd, pam e migrationtools. Da un punto di vista funzionale quindi e partendo da una macchina nuda, in pochissimi minuti e confermando semplicemente le opzioni di default proposte, si ottiene:

  • l'installazione e la configurazione del server ldap (slapd)
  • l'installazione e la configurazione minima di samba che usera' il demone slapd come autenticatore
  • la migrazione automatica di tutti gli account linux (tranne root) sull'albero ldap

P.S.= è utile prima di inserire gli utenti, inserire nella cartella /etc/skel/ tutto ciò che si desidera faccia parte della home di ciascun utente. Per far sì che sia semplificato il salvataggio dei profili degli utenti windows, noi abbiamo creato in /etc/skel/ due cartelle nascoste (.w98_profile e .wxp_profile). Durante in processo di creazione degli utenti, in ciascuna home verranno quindi create le due cartelle nascoste (il . iniziale significa che sono nascoste), dove verrnno salvati rispettivamente i profili windows98 e windowsxp. Vedi i dettagli nella pagina della configurazione dei client.

Installazione

Per installare il pacchetto basta dare il comando apt-get install isi-ldap e confermare. Verranno sottoposte le opzioni avanti descritte, accettando i default proposti, si ottiene un sistema funzionante gia' pronto per il caricamento degli utenti.

Popolazione dell'albero ldap e generazione del file system

Il caricamento iniziale dell'albero ldap avviene per mezzo del comando

# ldap_addusers [[-G] [-L]|-GL] file_utenti

in cui

  • l'opzione -G abilita la creazione di home directory posizionate come /home/gruppo_principale/utente, in assenza di questa opzione il path sara' semplicemente /home/utente

  • l'opzione -L abilita la creazione di home directory posizionate come /home/iniziale_nome_utente/utente (opzione LETTERHOME di /etc/useradd.conf)

le due opzioni possono essere combinate.

  • e' un file ascii-delimitato (campi separati da virgole e delimitati da "") contenente tutti gli utenti e avente il seguente formato:
    "user_name" , "cognome e nome" , "lista gruppi (separati da SPAZIO, il primo gruppo e' quello PRINCIPALE", "password"
    esempio: "pippo","Rossi Mario","ALUNNI GEO1A","miapass"

Programmi di utilità

Per i dettagli si rimanda alle relative pagine man (o all'help del comando: comando -h).

NEW ldap_updusers: automatizza completamente l'aggiornamento degli utenti da un anno all'altro

NEW ldap_prepusers: produce un file di aggiornamento utente da un report di SISSI (*)

NEW ldap_checkclassi: confronta il db ldap a fronte del file utenti controllando i gruppi classe

NEW ldap_checkfield: controlla il valore di un campo ldap

NEW ldap_putattr: assegna un valore al campo ldap di un utente

NEW ldap_nousers: lista gli utenti del gruppo ldap che non sono presenti nel file utenti

NEW ldap_saveall: salva il db ldap

NEW ldap_restall: recupera il db ldap salvato

UPDATED ldap_addusers: aggiunge utenti al db ldap leggendoli da un file oppure, omettendo il file, in modo interattivo direttamente da tastiera.

ldap_adduser: aggiunge un utente ad db ldap

ldap_passwd: cambia la password dell'utente

ldap_addgroup: aggiunge un gruppo al db ldap

UPDATED ldap_deluser: cancella l'utente dal db ldap, opera anche sui gruppi o sugli utenti letti da un file

ldap_getattr: legge il dato ldap indicato relativo all'utente indicato

ldap_groupcat: restituisce la lista degli utenti di un gruppo

ldap_quota: assegna la quota disco a tutti gli utenti di un gruppo

ldap_alulink: scrive nella cartella di ciascuna classe una sottocartella 'alulink' in cui inserisce i link simbolici alle cartelle home degli alunni della classe stessa (per facilitare il ritrovamento di queste da parte dei docenti)

le utilities successive hanno senso in relazione al sistema di cartelle gestite da samba.

alu_setclasse: registra nel db ldap, nel campo utente departmentNumber, la classe frequentata dall'alunno, per tutti gli alunni

home_setclasse: utilizzato da una direttiva di smb.conf durante il processo di logon; serve per generare la connessione dell'utente alla cartella della propria classe, che sara' raggiungibile attraverso Risorse del computer, unita' L

home_setperm: setta i permessi delle cartelle personali del gruppo indicato e del relativo contenuto. Aggiorna il contenuto delle home sulla base del modello in /etc/skel.

home_du: genera un report sullo spazio disco occupato dalle home degli utenti di un gruppo

html_setindex: personalizza la homepage di default dell'utente ospitata in public_html, qualora sia stata attivata tale funzionalità.

ldap_pwexpired: utilizzata internamente da samba/ldap_passwd, dichiara scaduta una password (purtroppo reagiscono alla sua azione solo i client xp)

ldap_pwmaxage: utilizzata internamente da samba/ldap_passwd, ripristina la durata della password dell'utente

In conclusione

Concludiamo con quanto e' necessario digitare in una console di root su macchina su cui e' stato appena installato ArgoLinux, per trasformarla in un PDC samba/ldap pronta a gestire la nostra rete d'istituto. I prerequisiti sono:
  • e' stato preparato (in /root) il file degli utenti, chiamiamolo lista-utenti (noi, ad esempio, lo costruiamo con excel e lo esportiamo come file csv pronto all'uso)
  • e' stata creata la cartella /home/classi e le sottocartelle /home/classi/nome-classe con nome-classe uguale a al nome del gruppo classe utilizzato nel file lista-utenti

# apt-get update
# apt-get install isi-ldap (confermare tutte le opzioni, bisognera' solo scrivere per TRE volte la stessa password)
# ldap_addusers -G _lista-utenti_
# alu_setclasse
# ldap_quota /home alunni 10000 15000 0 0
# ldap_alulink

nel caso in cui le cartelle personali vengano riempite con un precedente contenuto migrato da altro filesystem (ad esempio in seguito a una migrazione window-linux), si potranno settare i permessi sulle home e sul relativo contenuto utilizzando in comando:

# home_setperm <gruppo>
Questo comando si preoccupa anche di aggiornare le home con il contenuto di /etc/skel (se più recente).

a questo punto non resta che perfezionare la configurazione di samba, modificando opportunamente /etc/samba/smb.conf e configurare le stampanti (se si possiedono stampanti di rete, la cosa richiede l'utilizzo del pacchetto CUPS)

Se durante l'anno....

Se durante l'anno dovrete aggiungere uno studente, potete farlo in due modi:
  1. in modo interattivo eseguendo ldap_addusers senza parametri e rispondendo alle domande
  2. costruendo il file utenti col formato precedentemente descritto ed eseguendo ldap_addusers -G file_utenti

Subito dopo si potra' aggiornare la cartella /home/classi/classe/alulink eseguendo ldap_alulink classe

L'anno dopo....

Le operazioni che si dovranno fare sono:
  1. cancellazione degli utenti che non ci sono più (es. studenti che non frequenteranno più)
  2. aggiunta dei nuovi utent (es. nuovi studenti)
  3. modifica dei dati, eventualmente delle password (fortemente consigliato) e dell´appartenenza ai gruppi per gli utenti che rimangono attivi

Gli script del pacchetto isi-ldap rendono tutte le operazioni quasi automatiche. Ecco come procedere...

Preparazione del file utenti

Il file utenti è un normalissimo file di testo (con fine riga di tipo unix), composto da tre campi obbligatori, eventualmente quattro:

USERUID , NOMINATIVO, GRUPPI, [eventualmente PASSWORD (fortemente sconsigliato)]

il campo NOMINATIVO è generalmente composto da nome e cognome separati da spazio o, meglio, concatenati con _ il campo GRUPPI è composto dal gruppo principale, dalla classe e da qyalunque altro gruppo separati da spazio.

Per preparare questo file si può procedere in tre modi:

  1. modificare il file utilizzato per il caricamento dei dati dell´anno precedente (si aggiungono a mano i nuovi studenti, e quelli da cancellare si marcano iniziano la riga con un segno - (meno)

  1. usare il comando ldap_fileusers per produrre la lista degli utenti esistenti e modificare quella come al punto precedente.

  1. produrre il file di tutti gli studenti estraendolo direttamente da Open Sissi ed elaborandolo con il comando ldap_prepusers, sottoponendo questo file al comando ldap_updusers tutte le operazioni di cancellazione, aggiunta, modifica e ridefinizione dei gruppi saranno svolte in automatico.

Aggiornamento del db ldap

Una volta che si disponga del file utenti, l'aggiornamento del db ldap è fatta dal comando ldap_updusers, il cui uso è il seguente
============================================================================
uso    : ldap_updusers [-d] [-n] [-p|-P] [-a] [-e|-E] file_dati_utenti
opzioni:
      -h    questo help  
      -d    stampa i comandi eseguiti ma li esegue ugualmente
      -n    non esegue i comandi
      -s    esegue senza conferma
      -p    cambia la pwd attuale con quella nel campo 4 del file dati
      -P n  cambia la pwd attuale con pwd casuale di lunghezza
      -a    tratta gli utenti con uid inesistente come nuovi e li aggiunge
      -e    tratta gli uid che iniziano con un '-' come utenti da cancellare
            verranno cancellate anche le rispettive homedirs
      -E    come -e solo che le homedirs sono salvate in formato tar.gz
NOTA1: le opzioni -p -P sono incompatibili
NOTA2: gli utenti non riconosciuti o prefissati con meno sono comunque
       accumulati nei file /root/users_add.data e /root/users_del.data
============================================================================

ldap_updusers confronta il contenuto del db ldap con il file degli utenti precedentemente preparato ed effettua tutte le modifiche necessarie agli utenti esistenti, elimina quelli marcati come cancellandi (via ldap_deluser automaticamente richiamato), individua gli utenti nuovi e li passa a ldap_addusers che si incarica di aggiungerli. Alla fine vengono prodotti i seguenti file:

/root/users-add_dataoperazione - contiene la lista degli utenti da aggiungere (passata a ldap_addusers)

/root/users-del_dataoperazione - contiene la lista degli utenti cancellati

/root/users-pwd_dataoperazione - contiene la lista degli utenti modificati con le password assegnate

/root/users-log_dataoperazione - contiene il log con i messaggi generati durante l'aggiornamento

/root/nomi.txt - prodotto da ldap_addusers, contiene l'elenco degli utenti aggiunti con le password assegnate

Gestione delle password

Controlli



Reteisi.IsiLdap r1.1 - 08 Sep 2021 - 19:38 - TWikiGuest
Copyright © 1999-2006 degli autori degli articoli. Tutto il materiale presente su questa piattaforma collaborativa è di proprietà di chi l'ha prodotto. Idee, richieste, problemi relativi a TWiki? Invia feedback