En DHCP, pour pouvoir utiliser sont propre serveur DNS au lieu de se voir imposer celui du serveur:

  • Avant:
$ cat /etc/resolv.conf   
# Generated by NetworkManager   
 domain lan   
 search lan   
 nameserver 192.168.1.1
  • La modification consiste à utiliser la ligne suivante dans le fichier /etc/dhcp3/dhclient.conf (ou dans le fichier /etc/dhcp/dhclient.conf )
prepend domain-name-servers 127.0.0.1;

Optionnellement supprimerdomain-name-servers de la ligne request

  • Après:
$ cat /etc/resolv.conf   
# Generated by NetworkManager   
domain lan   
search lan   
nameserver 127.0.0.1   
nameserver 192.168.1.1

Pour ceux qui se retrouvent avec des sources de mails au format RFC 2822.. et qui veulent extraire les pièces jointes (encodées dans le source en base64)…

$ munpack monSourceDeMail  
image01.jpg (image/pjpeg)  
image02.jpg (image/pjpeg)  

Ici les 2 pièces jointes sont extraites et enregistrées dans le répertoire courant.

Bien plus rapide que tailler le source à coups de openssl enc -d base64

The munpack program (Package “mpack”) reads each RFC-822 message filename and writes all non-text MIME parts or split-uuencoded files as files.

Une commande pouvant être utilisée pour envoyer un mail lors de la détection est:

$ tail -f /var/log/messages | awk ' /toto/ { system("echo toto | mail -s pouet toto@aaa.tld") }'

Pour déclencher lors d’un test on peut utiliser:

$ logger -t TEST totofgdfsdfsdf

Extraits des man:

man awk
The pattern comes first, and then the action. Action statements are enclosed in { and }.
For /regular expression/ patterns, the associated statement is executed for each input record that matches the regular expression.
system(cmd-line) Execute the command cmd-line, and return the exit status.
EXAMPLES
Run an external command for particular lines of data:
tail -f access_log | awk ‘/myhome.html/ { system(“nmap " $1 “» logdir/myhome.html”) }’

man system
system - Exécuter une commande shell
La fonction system() exécute la commande indiquée dans commande en appelant /bin/sh -c commande…

Qui n’a jamais eu un doute lors de la création d’une entrée dans la crontab ?
Après les colonnes minute et heure, c’est d’abord le jour du mois, ou le numéro du mois ?

man crontab ne donne PAS la réponse.

Mais la commande man 5 crontab la donne.

5 pour “Formats des fichiers et conventions.”

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# m h dom mon dow usercommand
  17 * * * *  root  cd / && run-parts --report /etc/cron.hourly
  25 6 * * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report ...

Extrait du man ssh

/etc/ssh/sshrc
Commands in this file are executed by ssh when the user logs in, just before the user’s shell (or command) is started. See the sshd(8) manual page for more information.

Exemple ici de fichier /etc/ssh/sshrc pour l’envoi d’un mail d’alerte à l’administrateur:

DATE=$(date "+%d.%m.%Y--%Hh%Mm")
IP=$(echo $SSH_CONNECTION | awk '{print $1}')
REVERSE=$(dig -x $IP +short)

echo "Connexion de ${USER} sur ${HOSTNAME}

IP: ${IP}
ReverseDNS: ${REVERSE}
Date: ${DATE}

" | mail -s "Connexion de ${USER} sur ${HOSTNAME}" user@example.org

USER et HOSTNAME sont les variables d’environnement déjà existantes.

MailLoginSsh-uggy1

Il va de soit pour tout le monde qu’OpenSSH doit être sécurisé en authorisant UNIQUEMENT les authentifications par clé (et non pas par mot de passe)… Mais ceci est un autre sujet.