Come bloccare la chat web di GMAIL con Dansguardian

La webmail di Gmail offre, al suo interno, la possibilità di “chattare” con altri utenti Gmail.
In pratica ha all’interno un piccolo client Google Talk.
DansGuardian permette di bloccare la chat di Gmail in modo semplice. Basta aggiungere al file “bannedsitelist” (la path completa è: /etc/dansguardian/bannedsitelist) le seguenti URL:

# Blocca la chat di google
chatenabled.mail.google.com
talkgadget.google.com
talk.google.com
talkx.l.google.com

Riferimento: http://www.google.com/support/chat/bin/answer.py?hl=it&answer=161980

Script per la comunicazione agli utenti della scadenza dell’account su un server basato su LDAP

Uno dei problemi più annosi nella gestione di server è quello della scadenza delle utenze.
In molti contesti vengono creati utenti temporanei (magari dipendenti a tempo determinato o stagisti).
LDAP molto agevolemente permette di gestire la scadenza dell’account.
Il problema resta quello di notificare all’utente che il suo account sta per scadere.
Questo è possibile effettuarlo tramite uno script da mettere in crontab …

#!/bin/bash

########################################################
#
# Script per la comunicazione via mail agli utenti
# della scadenza dell’account
#
# BoB 20-01-2010
# Rel. 1.200
########################################################

#############################
# Variabili
#############################
# A chi invio la mail per conoscenza (bcc) ?
bcc=”area-ict@dominio.it”

# variables for LDAP search
ldapHost=”localhost”
ldapContext=”dc=dominio,dc=it”
ldapUser=”cn=admin,dc=dominio,dc=it”
ldapPasswd=”password_server_ldap”
checkTime=”7 days”
checkTimeITA=”7 giorni”
expireDate=”8 days”

# Files di appoggio temporanei
tmpMsg=/root/passwordsToExpireMsg
tmpLdapResult=/root/passwordsToExpire

# Calcolo delle date
# datenow = data odierna + il checktime in formato gg/mm/aa
datenow=`date -d “$checkTime” “+%d/%m/%y”`
# unixtime_datenow = data odierna + il checktime in formato Unix
unixtime_datenow=`date -d “$checkTime” +%s`
# epoch = data di partenza dello UnixTime
epoch=’01/01/1970′
# unixtime_epoch = data di partenza dello UnixTime in formato Unix
unixtime_epoch=`date -d ‘Jan 01 1970 01:00:00′ +%s`

# Inizio della procedura di calcolo delle date
# e stampa a video delle informazioni
clear
echo “Epoch in data (data di nascita dello UNIXtime): “$epoch
echo “Epoch in UNIXtime (data di nascita dello UNIXtime): “$unixtime_epoch
echo “Data odierna: “$datenow
echo “Data odierna in UNIXtime: “$unixtime_datenow
echo “”
echo “Calcolo della differenze tra le date:”
echo “————————————-”
datediff=”$(( ($unixtime_datenow-$unixtime_epoch)/( 60*60*24) ))”
echo “Data arrivo:”$unixtime_epoch “- Data partenza:”$unixtime_datenow
echo “Risultato in giorni: ” $(( ($unixtime_datenow-$unixtime_epoch)/( 60*60*24) ))
echo “Data di riferimento della scadenza password: “$datediff

# Ricerca della data di scandenza delle utenze
# con riferimento ai parametri CN e UID
# cn = common name
# uid = user id
ldapsearch -x -D $ldapUser -w $ldapPasswd -b $ldapContext “(&(objectclass=posixAccount)(shadowExpire=$datediff))” cn uid > $tmpLdapResult

# Estrazione delle informazioni dal file di appoggio
# tmpLdapResult=/root/passwordsToExpire
# Estrai i dati UID e CN.
# Nel caso di “ldap_mail” aggiunge il dominio di riferimento
ldap_uid=`less $tmpLdapResult | gawk ‘/uid:/’`
ldap_mail=`less $tmpLdapResult | gawk ‘/uid:/ {print $2″@dominio.it”}’`
ldap_cn=`/usr/bin/less $tmpLdapResult | gawk ‘/cn:/ {print $2″ ” $3″ ” $4″ ” $5″ “}’`

# Per ogni UID trovato nel file manda una email all’utente
# ed una mail in ccn all’utenza definita come BCC all’inizio del file
for user in $ldap_mail; do
echo;
echo “Gentile utente,” >>$tmpMsg;
echo “si comunica che il tuo account di posta elettronica: $user scadra’ il giorno $datenow.”>>$tmpMsg;
echo “Si prega contattare l’Area servizi ICT aziendale entro $checkTimeITA dal `date +%d/%m/%y` per maggiori informazioni.” >>$tmpMsg;
echo “In caso contrario l’account sara’ sospeso a partire dalle ore 00:00 del `date -d “$expireDate” +%d/%m/%y`.”>>$tmpMsg;
echo “Cordiali saluti.”>>$tmpMsg;
echo>>$tmpMsg;
echo “Questa e’ una mail generata automaticamente dal sistema”>>$tmpMsg;
echo “———————————————————–”>>$tmpMsg;
echo “Area servizi ICT – famosa azienda informatica …”>>$tmpMsg;
echo “Riferimenti telefonici: 091/xxxxxxxxx – 335/xxxxxxxx”>>$tmpMsg;
echo “———————————————————–”>>$tmpMsg;
# Invia la mail preparata e manda una copia in BCC …
cat $tmpMsg | /bin/mail -s “Comunicazione scadenza account [Area ICT/$user]” $user -b $bcc;
# Rimuove il messaggio …
rm $tmpMsg
# Stampa a video le informazioni sugli account scaduti
echo $ldap_uid “- Nome utente: “$ldap_cn;
done

# Rimuove i risultati …
rm $tmpLdapResult

exit 0

Recovery di OpenLDAP se il db bdb si corrompe/è in sola lettura

Può capitare che, riavviando il servizio LDAP di un server, compaia questo messaggio di errore:

Controllo file di configurazione per slapd: bdb_db_open: unclean shutdown detected; attempting recovery.
bdb_db_open: Recovery skipped in read-only mode. Run manual recovery if errors are encountered.
config file testing succeeded

In questo caso basta digitare:

cp /etc/openldap/DB_CONFIG.example DB_CONFIG
service ldap restart

… e il problema scompare !

Backup e restore di MailMan

Mailman è il più famoso gestore di mailing list sotto Linux.
Per effettuare il backup/restore della configurazione e delle mailing list da un server ad un altro server basta un semplicissimo:

scp -rv indirizzo_ip_del_vecchio_server:/var/lib/mailman/ /var/lib/mailman

Backup e restore di OTRS

Ci sono due tipi di backup in OTRS: il backup dell’applicazione ed il backup dei dati.
In OTRS è disponibile uno script che si chiama “backup.pl” (la path completa è: /opt/otrs/scripts/backup.pl).

Per creare un backup digitare il comando:

mkdir -p /root/otrs-backup
/opt/otrs/scripts/backup.pl -d /root/otrs-backup

Backup /root/otrs-backup/2011-01-12_21-43/Config.tar.gz … done
Backup /root/otrs-backup/2011-01-12_21-43/Application.tar.gz … done
Dump MySQL rdbms … done
Compress SQL-file… done

Come si può intuire i files creati sono 2: uno per la configurazione (Config.tar.gz) ed uno per l’applicazione (Application.tar.gz).

Per effettuare il restore, invece, utilizzeremo lo script “restore.pl” (la path completa è: /opt/otrs/scripts/restore.pl).
Occorre precisare una cosa: il database MySQL “otrs” presente sul sistema sul quale viene effettuato il restore deve essere vuoto.

/opt/otrs/scripts/restore.pl -b /root/otrs-backup/2011-01-12_21-43/ -d /opt/otrs/

Restore /root/otrs-backup/2011-01-12_21-43//Config.tar.gz …
Restore /root/otrs-backup/2011-01-12_21-43//Application.tar.gz …
create MySQL
decompresses SQL-file …
cat SQL-file into MySQL database
compress SQL-file…

Conversione delle mail da MBOX a MAILDIR

Durante la migrazione di un server ho avuto la necessità di trasformare le caselle di posta da MAILBOX a Maildir.
Per fare questo ho utilizzato mb2md (nella versione 3.20 scaricabile qui). Per i più curiosi la home page di riferimento è questa
In seguito mi sono realizzato uno script bash che converte tutto quello che trova in /var/spool/mail e lo mette in /home/$user/Maildir
Questo lo script:

#!/bin/bash
set -x
MAILBOX_DIR=”/var/spool/mail”
#MAILDIR_DIR=”/home/maildir-oldserver”
MAILDIR_DIR=”/home”
[ -d $MAILDIR_DIR ] || mkdir -p $MAILDIR_DIR
cd $MAILBOX_DIR
for user in *; do
mkdir -p $MAILDIR_DIR/$user/Maildir
done

for user in *; do
perl /root/mb2md-3.20.pl -s $MAILBOX_DIR/$user -d $MAILDIR_DIR/$user/Maildir
done

for user in *; do
perl /root/mb2md-3.20.pl -s /home/$user/mail/ -d $MAILDIR_DIR/$user/Maildir
done

for user in *; do
chown -R $user.users $MAILDIR_DIR/$user/
done

Non ho grande esperienza negli script bash … Pertanto si accettano suggerimenti per il miglioramento dello script !

Creazione di un trunk Messagenet con FreePBX

Trunk Description: Messagenet

Outgoing Settings
Trunk Name: Messagenet_OUT

authname=5369xxx
authuser=5369xxx
canreinvite=no
dtmfmode=rfc2833
fromdomain=sip.messagenet.it
fromuser=5369xxx
host=sip.messagenet.it
insecure=very
nat=yes
port=5061
regexten=5369xxx
secret=password
type=peer
username=5369xxx
qualify=yes

Registration
Register String:
5369xxx:password@sip.messagenet.it:5061/5369xxx

Creazione di un trunk VoipBuster (Betamax) su FreePBX

Trunk Description: VoipBuster
Maximum Channels: 2


Outgoing Settings

Trunk Name: VoipBuster_OUT
username=user
type=friend
srvlookup=yes
secret=password
qualify=yes
nat=yes
insecure=very
host=sip1.voipbuster.com
fromuser=0039091987654
fromdomain=sip1.voipbuster.com
dtmfmode=inband
disallow=all
context=from=pstn
allow=alaw&ulaw&gsm

Registration
Register String:
user:password@sip1.voipbuster.com/user

Cambiare il nome del file aggiungendo il caller ID in Elastix (How to change filename with caller ID in Elastix)

Un mio amico mi ha rappresentato una esigenza: ha un centralino VoIP (Elastix) e deve registrare delle conversazioni in uscita.
Fin qui gioco semplice. E’ possibile digitare un codice durante la telefonata oppure, al momento della configurazione della estensione (extension) fare in modo che qualsiasi telefonata venga registrata.
Ma la domanda del mio amico era ancora più “insidiosa” !!!
I files vengono registrati all’interno della cartella “/var/spool/asterisk/monitor” con un nome che rappresenta il numero di estensione, il “timestamp” ed un ID casuale che identifica il numero della telefonata.
L’amico invece voleva, all’interno del nome del file, anche il numero chiamato.
Cosa non semplice, anche perchè non esiste alcuna documentazione.
Ho chiesto anche sul forum di Elastix (vedi qui e qui) ma nessuna “soluzione del problema.
Invece, navigando su internet e con un pizzico (mi permetto) di intuizione credo di avere risolto il problema :D
Basta modificare il file: /etc/asterisk/extensions_override_freepbx.conf digitando …

vi /etc/asterisk/extensions_override_freepbx.conf

Basta modificare il file da:

[macro-record-enable]
…..
…..
exten => s,n,Set(CALLFILENAME=OUT${ARG1}-${STRFTIME(${EPOCH},,%Y%%d-%H%M%S)}-${UNIQUEID})
…..
…..

a

[macro-record-enable]
…..
…..
exten => s,n,Set(CALLFILENAME=OUT-From:${ARG1}_to:${CALLERID(dnid)}-date:${STRFTIME(${EPOCH},,%d-%m-%Y_%H%M%S)}-CallID:${UNIQUEID})
…..
…..

Il bandolo della matassa è l’aggiunta di “{CALLERID(dnid)}” alla stringa già esistente.
In questo caso il file sarà così formato:

OUT-From_101_to_03351234567-Date:11-11-2010_191436-CallID:1289499276.0.gsm

Spero possa tornare utile a qualcuno …

Thunderbird e funzionalità avanzate del client di posta elettronica

La posta elettronica oggi ha assunto una notervole importanza all’interno degli uffici soppiantando il tradizionale fax.
I vantaggi della posta elettronica sono sicuramente l’economicità e l’immediatezza (ad esempio oggi è possibile leggere le mail anche sui cellulari Blackberry, Symbian e Windows Mobile).
Di programmi che permettono di leggere in assoluta comodità la posta elettronica ne esistono diversi: da quelli a pagamento come Microsoft Outlook (compreso nella suite Microsoft Office) a quelli storici come Eudora.
Una menzione speciale merita Thunderbird. E’ un client disponibile per diverse piattaforme molto flessibile (ad esempio importa configurazioni e rubrica da Outlook Express) che si può “accessoriare” con vari plugin scaricabili dal sito https://addons.mozilla.org/it/thunderbird/featured
E’ possibile, ad esempio, aggiungere dizionari per il controllo ortografico delle mail in diverse lingue (https://addons.mozilla.org/it/thunderbird/language-tools/), crittografare le mail (https://addons.mozilla.org/it/thunderbird/addon/71/), cambiare tema -skin- al programma (https://addons.mozilla.org/it/thunderbird/themes/).
Una funzionalità comoda all’interno di un ufficio in cui tutti gli utenti stampano su una unica stampante e quella di fare stampare il nome della “identità principale” dell’utente che utilizza il programma nella parte superiore della pagina (cosa che già Outlook Express e Outlook fanno). Questa funzionalità può essere aggiunta grazie ad un plugin chiamato “Printing tools” che può essere scaricato da questa pagina: http://www.extenzilla.org/scheda_estensione.php?id=435

Follow

Get every new post delivered to your Inbox.

Join 32 other followers