cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu

motd (“Message of the day”/« message du jour ») est une fonctionnalité native de Linux qui affiche le contenu du fichier /etc/motd après une identification réussie et avant d’exécuter l’interpréteur de commandes.



L’idée initiale

Ce message du jour était traditionnellement utilisé sur les anciens systèmes Unix tournant avec un modèle du type : 1 ordinateur avec plusieurs terminaux physiques pour transmettre un message à tous les utilisateurs du système. Le message étant mis à jour par l’administrateur du système lorsque cela était nécessaire.

Ce n’est donc pas un mécanisme destiné à générer des messages dynamiquement.

Il s’agit tout simplement d’afficher le contenu du fichier /etc/motd sans autre traitement.



Les évolutions depuis sa mise en place

Le processus autour de cette fonctionnalité à évoluer de manière chaotique entre les différents dérivés d’Unix. Même sur les dérivés de Debian (comme Linux-Mint et Raspi-OS) cette fonctionnalité à fait l’objet d’évolution et de régressions.

Les fichiers (ou dossiers) évoqués par différentes versions du manuel sont :

  • /etc/init.d/motd
  • /etc/motd
  • /etc/pam.d/login
  • /etc/update-motd.d/
  • /run/motd.dynamic

Cette liste n’est pas exhaustive, notamment pour la mise à jour dynamique du message. Mais il semble que ce ne soit pas extrêmement transposable, ni simple à mettre en œuvre.

Pour obtenir un affichage dynamique, il existe des solutions faciles à écrire en s’appuyant par exemple sur /etc/profile.



Un cas d’usage statique mais utile

Ce n'est pas tant le fait le message soit statique qui me pausait problème, mais le fait que le fichier soit unique.

Pour identifier mes machines (mettre en évidence : une production vs une machine de test, connaître les applications installées), je souhaitais avoir tout simplement plusieurs fichiers et je me suis inspiré de la notation usuelle pour faire cela, c’est-à-dire créer un dossier ayant le même nom que le fichier de configuration en ajoutant .d. (ex : /etc/apt/sources.list et /etc/apt/sources.list.d/).

J’ai donc créé le dossier /etc/motd.d et j’ai fait un petit script pour afficher son contenu lors de la connexion d’un utilisateur. Oh, surprise mes fichiers se sont affichés deux fois. En effet, après désactivation de mon script, je me suis aperçu que le dossier /etc/motd.d était déjà pris en charge.



Mise en évidence du fonctionnement de motd

Pour tester motd, je vous propose d’exécuter le code suivant depuis un terminal ou une console :

F='/etc/motd' ; echo "$F" | sudo tee "$F"
sudo mkdir /etc/motd.d
F='/etc/motd.d/a.motd' ; echo "$F" | sudo tee "$F"
F='/etc/motd.d/b.motd' ; echo "$F" | sudo tee "$F"

Pour voir ce qu'il se passe :

Cas depuis une machine avec une interface graphique :

  • Afficher le terminal 6 (Ctrl + Alt + F6) et connectez-vous depuis la console,
  • Pour revenir à l’interface graphique utilisez Ctrl + Alt + F7.

Cas depuis une machine sans interface graphique ou depuis un accès SSH :

Il suffit de vous déconnecter et de vous connecter de nouveau.



Liens

ᦿ


ℹ 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog