Buon Anno 2012!

Buon Anno – Bonne Année – Happy New Year – Gelukkig Nieuwjaar

Buon Natale 2011!

|
'.'.'
-= o =-
.'.'.
|
,
/ \
.'. o'.
/ 6 s ^.\
/.-.o *.-.\
`/. '.'9 \`
.'6. * s o '.
/.--.s .6 .--.\
`/ s '. .' * .\`
.' o 6 .` .^ 6 s'.
/.---. * ^ o .----.\
`/s * `.^ s.' ^ * \`
.' o , 6 `.' ^ o 6 '.
/,-^--, o ^ * s ,----,\
`'-._s.;-,_6_^,-;._o.-'
| |
`"""`

Buon Natale – Merry Christmas – Joyeux Noël – Feliz Navidad – Frohe Weihnachten

Quello che vi mostrerò è un pezzo di codice per extensions_custom.conf che non fa altro che rispondere a una chiamata e richiedere un pin.

[pin_auth]
exten => s,1,Answer
exten => s,n,Set(VALIDPIN=1234)
exten => s,n,Read(PIN,vm-password,,,,)
exten => s,n,Gotoif($[${PIN}=${VALIDPIN}]?valid)
exten => s,n,NoOp(PIN:NOK)
exten => s,n,Wait(1)
exten => s,n,Hangup
exten => s,n(valid),NoOp(PIN:OK)
exten => s,n,Wait(1)
exten => s,n,Hangup
exten => h,1,Hangup

Nel Dettaglio:

    • Risponde
    • Si mette in memoria il PIN (1234)
    • Parte una voce che dice “Password”
    • Aspetta il PIN digitato
    • Controlla se il PIN digitato è uguale a quello in memoria e di conseguenza risponde OK o NOK
    • Chiude la chiamata

Su asterisk poi si può agganciare questa “App” a un interno chiamabile, ovviamente il codice lo si può modificare a piacimento per effettuare altri tipi di servizi, io l’ho applicato per fare una “Strong Authentication”:

    • l’utente si logga su una pagina web, se l’utente e la password sono riconosciuti, viene chiamato il telefono dell’utente e richiesto il PIN (diverso per ogni utente), se il PIN è corretto vieni autenticato se no ricevi un bel “Access Denied”.

Per far si che il servizio web faccia scaturire la chiamata uso un file “numero.call generato dalla pagina in php con owner e gruppo asterisk e che viene messo dentro /var/spool/asterisk/outgoing

Il contenuto del file è questo:

Channel: DAHDI/0/123456789
Context: from-internal
Extension: 1000
Priority: 1

Cosa avviene:

    • asterisk vede il file e occupa il canale DAHDI 0 per chiamare il numero 123456789 e appena risponde ci cortocircuita l’interno 1000 che non è altro che l’“App” per la richiesta del PIN.

See you! Bye! :-)

Linux: Montare un disco di un Raid1 Software

L’altro giorno in azienda ci è scoppiato il processore del nostro firewall secondario per cui da un “PC” un po’ carrozzato siamo passati a un serverino decente con almeno il raid hw, ma avevo bisogno di alcune configurazioni che si trovavano sul vecchio disco.

Il problema è sorto quando ho collegato il disco, un normale SATA, a un altro pc e facendolo bootare con una Debian Live Rescue, ovviamente il mount non me lo faceva fare perchè il disco faceva parte di un RAID1, questo l’errore:

root@debian:~# mount /dev/sda1 /mnt/
mount: unknown filesystem type 'linux_raid_member'

ovviamente ci ho ragionato un po’ e ho provato a creare un array md0 con un solo disco per provare a montarlo:

root@debian:~# mdadm -A -R /dev/sda1 /dev/md0

Vediamo nello specifico cosa significano le opzioni usate:
-A : Assemble a pre-existing array, per cui crea l’array con un disco già configurato, era già un raid1
-R : Insist that mdadm run the array [...], per cui forza l’avvio dell’array senza fare ulteriori domande, di solito chiede delle conferme se trova componenti di altri array attivi.

Ora dato che non vi sono problemi di creazione, possiamo montare l’array:

root@debian:~# mount /dev/md0 /mnt

Se non vi ritrovate errori in fase di mount potete leggere tranquillamente il contenuto del disco.

Alla prossima!

Debian: dist-upgrade lenny to squeeze

Dopo aver visto il dist-upgrade da sarge a etch e quello da etch a lenny non poteva mancare il salto di release alla Squeeze

Ecco come fare, in pochi, semplici passi:

Per prima cosa sulla Lenny aggiornare all’ultimo patchlevel:

apt-get update
apt-get dist-upgrade
reboot

NB: Se l’apt-get update vi restituisce l’errore NO_PUBKEY, qua la soluzione.

Ora commentiamo i repository di Lenny ed aggiungiamo quelli di Squeeze:

deb http://debian.fastweb.it/debian/ squeeze main
deb-src http://debian.fastweb.it/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

Poi:

apt-get update
apt-get dist-upgrade

Ed infine:

reboot

E così dopo 2 anni di duro lavoro, da parte del team di Debian, abbiamo una release tutta nuova! :-)

Un po’ di me


Omar on Twitter Omar on Facebook Omar on LinkedIn

Eventi


    RomagnaCamp

Qualche foto da Flickr

Calendar

January 2012
M T W T F S S
« Dec    
 1
2345678
9101112131415
16171819202122
23242526272829
3031