Gestione utenze e permessi in LDAP

Usando Phi

Non è ancora completo ma per ora offre un'interfaccia a linea di comando testata e funzionante.

Se invece preferisci continuare ad usare un'interfaccia grafica leggi sotto.

Tunnel SSH

Siccome LDAP non è esposto pubblicamente su Internet occorre accedervi da localhost tramite un tunnel SSH

ssh -L 10389:localhost:389 mio_utente@zaphoda.unit -N -f

In questo modo LDAP sarà accessibile in locale sulla porta 10389

TODO: Altra pagina della wiki su come configurare ssh per accedere al server nuovo

Installazione

Scarica Phi dal relativo repository git:

git clone https://git.abbiamoundominio.org/unit/phi
cd phi

Crea un virtual environment (opzionale)

virtualenv --python=/usr/bin/python3 env
source env/bin/activate

E lancia il setup vero e proprio (se non stai usando il virtual environment assicurarti di lanciarlo con python3)

python setup.py install

Configurazione

Apri il file real.yml con un editor di testo e cambia il campo port in 10389 e quello password con la password di root di LDAP

ldap:
    host: localhost
    port: 10389

    encryption: TLSv1.2 # Can either be None or TLSv1.2. Default: None
    ciphers: "HIGH"

    username: cn=root,dc=unit,dc=macaomilano,dc=org
    password: la_mia_password_di_root

    base_dn: dc=unit,dc=macaomilano,dc=org

Utilizzo

Creare un nuovo utente:

src/phicli adduser luther_blisset

Verranno chiesti diversi campi, premendo invio vengono lasciati i valori di default

Common name: [luther_blisset] Luther
Last name: [luther_blisset] Blisset
Mail: [luther_blisset@localhost] luther_blisset@autisitci.org
Password: 
Retype password: 

Aggiungerlo ai gruppi Wiki e Git:

src/phicli addtogroup luther_blisset WikiUsers
src/phicli addtogroup luther_blisset GitUsers

E abbiamo finito.

Usando Apache Directory Studio (vecchio metodo)

I servizi offerti da zaphoda sono tutti linkati ad un'unico LDAP, presente sulla macchina stessa. In attesa che phi sia completo, e renda quindi più semplice la gestione delle utenze, possiamo operare a mano.

Io non sono riuscito a far funzionare correttamente ldapvi (editor di ldap simile a vi), e ricorro quindi ad una applicazione ad interfaccia grafica: ApacheDirectoryStudio

Per installarlo su debian:

sudo apt install apacheds

Per usarlo, dato che LDAP è bindato solo in localhost, bisogna fare un forward locale con ssh. Io uso localmente la porta 10389 per parlare alla 389 (porta di LDAP) su localhost di zaphoda:

ssh -L 10389:localhost:389 mio_utente@abbiamoundominio.org -N -f

Si possono omettere -N -f, e il processo ssh non andrà in background.

Possiamo adesso usare ApacheDirectoryStudio parlando con ldap sul nostro localhost:10389.

Configurazione ApacheDirectoryStudio

Dal menu in alto a sinistra, andiamo su File > New

Main menu

Selezioniamo LDAP Browser > LDAP Connection

Creiamo una nuova connessione LDAP

Chiamiamo la connessione come vogliamo, ad esempio zaphoda-localhost e specifichiamo i seguenti parametri di connessione:

Hostname: locahost

Port: 10389 (o la porta su cui scegliamo di fare il bind locale nel passo precedente di ssh)

Encryption method: Use StartTLS extension

Parametri di connesione

Clicchiamo Next e andiamo al pannello di inserimento delle credenziali del'utente root (quindi facciamo attenzione)

User: cn=root,dc=unit,dc=macaomilano,dc=org (Nell'immagine l'utente è diverso :D )

Password: ***************************************

Credenziali di connessione

Clicchiamo su Finish. A questo punto nel pannello in basso a sinistra dovremmo vedere la nostra connessione LDAP creata con nome zaphoda-localhost. Doppio click e ci connettiamo. Se appaiono errori di certificato TLS è abbastanza normale perché LDAP presenta un certificato TLS per un nome diverso da localhost. Continuiamo e dovremmo ottenere questa lista nel pannello di sinistra in alto:

Lista di utenti e gruppi

Aggiunta utente

Aprendo la voce ou=Hackers possiamo vedere la lista utenti già esistenti.

Lista degli utenti

Ogni utente è una voce LDAP con i seguenti campi:

I campi LDAP di un utente

Quelli in grasseto identificano il tipo di entry LDAP

e sono attributi che hanno un'utilità interna allo schema LDAP che stiamo usando. I seguenti sono attributi qualificanti per l'utente:

Solitamente, cn, sn e uid hanno lo stesso valore, ma il campo importante è uid.

Per aggiungere qualcun* possiamo cliccare su ou=Hackers col tasto destro e selezionare "New Entry".

Nuovo utente Scegliamo il template

Dobbiamo aggiungere tutti i campi elencati in grassetto sopra.

In alternativa possiamo clonare un utente e modicare i suoi dati.

Usiamo un utente esistente per crearne uno nuovo

In questo caso avremo la lista di campi necessari a LDAP già popolata

La lista di campi

Per terminare dobbiamo scegliere un uid non esistente

Diamo un nome al nuovo utente

Se abbiamo clonato un nuovo utente, ricordiamoci di aprire la voce del nuovo utente creato e modificare le voci

Che altrimenti resterebbero uguali a quelle dell'utente clonato. L'ultimo campo, la password, ha una modalità di modifica dedicata (tasto destro sul campo userPassword > Edit Value With > Password Editor)

Aggiunta ai gruppi

A questo punto possiamo aggiungere il nostro utente ai gruppi. Ci sono 5 gruppi esistenti.

I gruppi su zaphoda

Quelli di interesse sono

Per aggiungere un utente ad un gruppo, selezioniamo il gruppo in questione

Gli utenti nel gruppo WikiUsers

Tasto destro su members > New Value e aggiungiamo la stringa che identifica il nostro utente. Ad esempio

uid=pinco,dc=unit,dc=macaomilano,dc=org

E abbiamo finito.

Come aggiungere un utente ad LDAP (last edited 2020-10-12 21:00:59 by uid)