Menu Fermer

Comment changer le MOTD de son serveur Linux

MOTD pour Message Of The Day est un message qui apparaît lors de la connexion utilisateur sur un système Linux via un terminal.
C’est un message de bienvenue affiché à un utilisateur lors de la connexion au terminal, que ce soit via une connexion SSH distante ou directement via un TTY ou un terminal, fait partie de motd, également connu sous le nom de “Message Of The Day”.
Le message motd peut être personnalisé pour répondre aux besoins individuels de chaque utilisateur ou administrateur en modifiant le fichier /etc/motd ou le script dans le répertoire /etc/update-motd.d.

Dans ce tutoriel, je vous montre changer le MOTD de son serveur Linux.

Comment changer le MOTD de son serveur Linux

Comment changer le MOTD de son serveur Linux

Pour générer le message du jour à la connexion SSH et autres, Linux lit les fichiers suivants :

  • /etc/motd – éditez directement le fichier
  • Les scripts dans /etc/update-motd.d/ – ajouter un fichier texte ou script dans /etc/update-motd.d/.
    Vous pouvez les numéroter avec des chiffres, si vous désirez respecter un ordre. Par exemple, 10-XXX, 20-YYY, etc
Le répertoire /etc/update-motd.d/ d'Ubuntu

Par défaut, les distributions Linux ont leurs propres MOTD, par exemple, Ubuntu a son propre MOTD avec le bienvenue indiquant la version Ubuntu et du noyau Linux puis en dessous les liens de documents et le nombre de mises à jour disponibles.
Debian indique que les informations de licence.

Par exemple pour ajouter un message simple :

  • Editez le fichier /etc/motd
sudo nano /etc/motd
Comment changer le MOTD de son serveur Linux
  • Puis ajoutez le texte de votre choix et enregistrez les modifications
  • A la connexion utilisateur, le message s’affiche. Notez ici qu’
Comment changer le MOTD de son serveur Linux

Il est possible d’exécuter un script shell ou une commande, et donc de ce fait, d’agrémenter le message of the day avec des ASCII art, Do’s ou Don’ts of the users.

MODT avec fortune, cowsay ou figlet

Voici comment personnaliser le MOTD Linux avec fortune, figlet ou cowsay.
fortune affiche un message un message pseudo-aléatoire provenant d’une base de données de citations.
Quant à cowsay, il permet de faire afficher un message par une vache qui parle.
Enfin figlet permet d’afficher un message en art ASCII ou le logo de sa distribution Linux.

Le principe est strictement le même pour les deux.

  • Installez le paquet
sudo apt install cowsay
  • Puis créez le fichier de script motd :
sudo nano /etc/update-motd.d/10-cowsay
  • Ajoutez le type de shell et la commande à exécuter avec le chemin complet du binaire :
#!/bin/sh
/usr/games/cowsay "j'aime malekal.com"
sudo chmod +x /etc/update-motd.d/10-cowsay
  • Testez l’exécution du MOTD et validez qu’aucune erreur de script n’apparaît
sudo run-parts /etc/update-motd.d/

Il ne reste plus qu’à admirer le résultat.

Comment changer le MOTD de son serveur Linux
Comment changer le MOTD de son serveur Linux

MOD avec neofetch

Neofetch est un outil d’information système écrit dans le langage de script shell Bash.
Le principe pour modifier le MOTD est le même.

Comment changer le MOTD de son serveur Linux

Une alternative pour afficher la configuration système est screenfetch.

Exemple de script pour un MOTD

Voici un exemple de script qui donne des informations générales sur la configuration du serveur (état de la mémoire, température, utilisation disque, nombre de processus, etc).

MOTD avec configuration système, météo (screenfetch et ansiweather)

Voici un exemple de script qui affiche les informations systèmes, l’utilisation disque et la météo.

  • Installez les paquets suivants :
sudo apt install screenfetch inxi ansiweather
  • Modifiez la ville si besoin pour changer l’emplacement météorologique :
#!/bin/sh
echo "INFORMATIONS SUR LE SYSTEME"
/usr/bin/screenfetch
echo
echo "UTILISATION DISQUE"
inxi -D 2> /dev/null
echo
echo "METEO DE PARIS"
ansiweather -l paris
MOTD avec configuration système, météo (screenfetch et ansiweather)

MOTD avec la configuration système complète du serveur Linux

Voici un autre script complet pour afficher les informations et configuration système à la connexion utilisateur.

  • Vous devez installer avec APT les paquets lm_sensors, hddtemp, neofetch et lsof
sudo apt install lm_sensors hddtemp, neofetch lsof
  • Remplacez les variables en haut relatives aux disques et à la partition racine.
#!/bin/bash
dd="/dev/nvme0n1"
ddp="/dev/md2"
meteo="1"

ip=$(hostname -I|awk '{print $1}')
host=$(hostname)
user=`whoami`
printf "\033[34mBienvenue $user sur `hostname`\033[m ($ip)\n"
if [[ -f /usr/bin/neofetch ]] ; then neofetch ; fi
apt-get update > /dev/null
aptmaj=$(apt-get -s upgrade | grep -P "\d\K upgraded")
nbprocessus=$(ps -e | wc -l)
ttprocessus=$(cat /proc/sys/kernel/pid_max)
if [[ -f /usr/bin/lsof ]] ; then nbfichiers=$(lsof|grep DIR|wc -l) ; else nbfichiers="lsof n'est pas installé" ; fi
temphdd=$(hddtemp $dd|awk '{print $4}')
derniereco=$(lastlog|grep -v "Never logged"|tail +2)
diskusage=$(df -h | grep $ddp | awk {'print $5 "% de " $2'})
inodeusage=$(df -i | grep $ddp | awk {'print $5'})
uptime=$(uptime -p)
swaptotal=$(cat /proc/meminfo | grep SwapTotal | awk {'print $2 " " $3'})
memfree=$(cat /proc/meminfo | grep MemFree | awk {'print $2'})
memtotal=$(cat /proc/meminfo | grep MemTotal | awk {'print $2'})
swaptotal=$(cat /proc/meminfo | grep SwapTotal | awk {'print $2 " " $3'})
pourcentfree=$((($memfree * 100)/$memtotal))
if [[ -f /usr/bin/sensors ]] ; then temperature=$(sensors  | grep Core  | awk {'print $3'} | xargs) ; else temperature="lm-sensors n'est pas installé" ; fi
usersco=$(users | tr ' ' '\n' | sort | uniq | wc -w)

printf "\033[1;32mUptime :\033[m ${uptime}\n"
printf "\033[1;32mUtilisateur(s) :\033[m ${usersco} utilisateur(s) connecté(s)\n"
printf "\033[1;32mDernière connexion :\033[m\n"
printf "${derniereco}\n"
printf "\033[1;32mAPT :\033[m ${aptmaj}\n"
printf "\033[1;32mNombre processus :\033[m ${nbprocessus} / ${ttprocessus}\n"
printf "\033[1;32mNombre de fichiers ouverts:\033[m ${nbfichiers}\n"
printf "\033[1;32mUtilisation disque (${dd}):\033[m ${diskusage} - ${inodeusage}% (\033[0;32;31mInode\033[m)\n"
printf "\033[1;32mTemperature :\033[m ${temperature} (\033[0;32;31mCPU\033[m) - ${temphdd} (\033[0;32;31mDisque\033[m)\n"
printf "\033[1;32mUtilisation Mémoire :\033[m ${pourcentfree}%% - ${swaptotal} (\033[0;32;31mSwap\033[m)\n"
printf "\n"
if [[ $meteo == "1" && -f /usr/bin/curl ]] ; then curl http://wttr.in/Paris\?lang\=fr ; fi
MOTD avec la configuration système complète du serveur Linux