Amministrazione ahab

Da sia.
Vai alla navigazione Vai alla ricerca

Panoramica

I tornelli delle biblioteche e dell'accesso carraio di via Campi sono gestiti dal software ahab, installato sul server ahab.unimore.it.

Il programma risiede in /usr/local/ahab/bin. Ogni gestore di demone ha il suo file di configurazione.

Il server ahab comunica tramite socket TCP/IP con i concentratori, che raccolgono i segnali che provengono delle connessioni seriali dei tornelli. Il server ahab fa polling (è client) sul concentratore (che è server). La porta usata è 1470/TCP.

Con

netstat -t -n | grep 1470

si ha l'elenco dei concentratori attivi. Il loro indirizzo IP si trova nel file di configurazione di ogni istanza (ad es. /usr/local/ahab/bin/ahabd_BUbsi).

Quando il socket è connesso nmap da' come esito:

[francesco@ahabz bin]$ nmap -p 1470 155.185.253.22
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-04-09 09:33 CEST
Interesting ports on ahabz.dmz-int.unimo.it (155.185.253.22):
PORT     STATE  SERVICE
1470/tcp closed uaiact
Nmap finished: 1 IP address (1 host up) scanned in 0.111 seconds

La logica di funzionamento è un'interrogazione a ldap2 (o localhost -- controllare il file di configurazione del demone) per la presenza dell'utente e un'interrogazione opzionale allo ldap locale per la appartenenza al gruppo.

Fanno eccezione gli utenti "temporanei" che sono in una tabella del db mysql.

Riavviare il servizio

Riavviare i vecchi demoni ahab con i comandi in /etc/init.d, ad esempio:

sudo /etc/init.d/ahab_poli_stab stop
sudo /etc/init.d/ahab_poli_stab start

I nuovi demoni sono pilotati da `ahab_gesteth`. Quindi o riavviare ahab_gesteth (riavvia tutti i demoni nuovi) o fare il kill al demone che ha nel nome lo IP del lettore ethernet che ci interessa ed attendere un minuto perché il super-demone ahabd_gesteth lo riavvii.

Per riavviare tutti i demoni ahab vecchi e nuovi:

   sudo systemctl restart restart_ahab

Guardare i log

I log sono divisi per gestore e sono in /var/log/ahab. Può essere interessante incrociare i log di ahab con le letture della tabella accessi e con i log di ldap (ldap2 e localhost per i gruppi).

Connettersi al db

Ahab usa un db mysql su localhost, la sua istanza di chiama ahab. Username e passwd li si può leggere dalle prime righe del file: /usr/local/ahab/bin/badgestd.

I gruppi ldap

ahab usa i gruppi di grouper (https://grouper.unimore.it).

In genere i gruppi sono nello stem: unimore:plains:ahab

Il gruppo per ingegneria

Il gruppo che permette l'abilitazione/disabilitazione dell'allarme di ingegneria (demoni MO25s, MO25n, MO26, MO27, MO28) il gruppo unimore:plains:ahab:ing-allarme che è così generato:

  • unimore:plains:ingegneri: grouperLoader LDAP con refresh 8 volte al giorno con il filtro:
   (&(ou=dipendenti)(|(edupersonaffiliation=faculty)(edupersonaffiliation=staff))(|(unimorediporg2=*300024*)(unimorediporg2=*021042*)))

cioe' gli utenti delle strutture Dipartimento di Ingegneria dell'informazione Dipartimento di Ingegneria Meccanica e Civile Dipartimento di Ingegneria "Enzo Ferrari" (300024) e Ufficio Tecnico (021042).

  • unimore:plains:veto:ingegneria: gruppo manuale con gli utenti strutturati che non debbono entrare.
  • unimore:plains:composite:ingegneria: è il gruppo complemento tra unimore:plains:ingegneri - unimore:plains:veto:ingegneria
This group has no direct members
   This is a composite group
   Group unimore:plains:ingegneri
   complement
   Group unimore:plains:veto:ingegneria
  • unimore:plains:ahab:ing-sparse: sono gli utenti abilitati uno ad uno
  • unimore:plains:ahab:ing-allarme: è il gruppo unione unimore:plains:ahab:ing-sparse e unimore:plains:composite:ingegneria.

La logica è: ( gruppo degli ingegneri secondo ldap - quelli colpiti da veto ) + quelli aggiunti a mano nel gruppo unimore:plains:ahab:ing-sparse. Se un utente è sia nel gruppo di veto sia aggiunto a mano prevale il secondo.


I gruppi per il DIEF

Questi gruppi controllano l'accesso a MO25, MO26, MO27 e MO28.

  • unimore:plains:util:dief: grouperLoader LDAP con refresh 8 volte al giorno con il filtro:
   (&(|(ou=dipendenti)(ou=esterni)(&(ou=dottorandi)(!(ou=alum))))(|(unimorediporg2=*300024*)(unimorediporg2=*021042*)(unimorediporg4=*300122*)(unimorecorscodicecorso=*95-1003)(unimorecorscodicecorso=*95-1005)(unimorecorscodicecorso=*95-113)(unimorecorscodicecorso=*95-114)))

oppure (variante non attiva):

   (&(|(ou=dipendenti)(ou=esterni))(|(unimorediporg2=*300024*)(unimorediporg2=*021042*)(unimorediporg4=*300122*)(unimorecorscodicecorso=*95-1003)))

(variante senza i dottorandi)

oppure anche (neanche questa attiva):

   (&(|(ou=esterni)(&(ou=dipendenti)(!(&(unimoreDipCodiceRuolo=*AR)(!(unimoredipcodiceruolo={2}*))))))(|(unimorediporg2=*300024*)(unimorediporg2=*021042*)(unimorediporg4=*300122*)(unimorecorscodicecorso=*95-1003)))

(senza i dottorandi e gli assegnisti senza altri incarichi)

  • unimore:plains:ahab:dief_diurno_manuale: gruppo gestito appunto manualmente per gli accessi diurni
  • unimore:plains:veto:dief: utenti banditi dall'accesso diurno
  • unimore:plains:ahab:dief_diurno: gruppo risultante dalla somma di ( ( unimore:plains:util:dief - unimore:plains:veto:dief ) + unimore:plains:ahab:dief_diurno_manuale ) )

I gruppi per MO51

  • accesso all'edificio: il personale ed i dottorandi di DSCG e DSV + le eccezioni (unimore:plains:ahab:MO51_edificio_sparse_geo e unimore:plains:ahab:MO51_edificio_sparse_vita)
  • accesso al parcheggio: tutti i dipendenti, gli esterni, i dottorandi e gli specializzandi (idem come per le sbarre di via Campi)
  • accesso al garage interrato: solo gli strutturati incardinati nella struttura (unimore:plains:ahab:mo51) + le eccezioni di dscg e scienze vita
  • accesso ai laboratori di geologia piano terra: tutti i dipendenti di unimore (employee) + le eccezioni
  • accesso alle aree studi: chiunque con un tesserino valido
  • accesso all'amministrazione: unimore:plains:ahab:mo51_amm_geo + unimore:plains:ahab:mo51_amm_vita (entrambi statici)

I gruppi per S. Geminiano

  • dip_giur_sparse: utenti aggiunti manualmente (include anche i membri dell'ufficio appalti e gare)
  • dip_giur_residenti: tutti gli utenti (anche non strutturati) che hanno come afferenza organizzativa il Dipartimento di Scienze Giuridiche
  • dip_giur: gruppo somma che è interrogato da ahab

Tracciato tessere studenti

Controllare bene che siano 32 caratteri.

Vecchio tracciato:

1-5 codice mensa
6-10 numero tessera
11-24 valore fisso (00000000003609)
25-29 numero tessera (ripetuto)
30-32 valore fisso (000)

Nuovo tracciato:

1-5 codice mensa
6-10 numero tessera
11-12 prefisso
13-24 valore fisso (000000003609)
25-29 numero tessera (ripetuto)
30-32 valore fisso (000)

La differenza e' il prefisso (caratteri 11-12) che deve essere concatenato con il numero tessera per ottenere il nuovo numero tessera.

Per gli studenti piu' antichi il prefisso e' 00 e va bene cosi', per gli studenti con tessera che supera il 100mila il prefisso vale 01 e poi sale.

I codici mensa sono: 02250 (specializzandi), 09016 (mensa fascia D).

Problemi che si sono verificati almeno una volta

BSI: mancata risposta dal server

Non funziona il ping verso il lettore di badge. Dire ai bibliotecari della BSI che c'è da abbassare e rialzare gli interruttori del quadro in alto a sinistra della finestrella della reception.