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 --append "$F"
sudo mkdir /etc/motd.d
F='/etc/motd.d/a.motd' ; echo "$F" | sudo tee --append "$F"
F='/etc/motd.d/b.motd' ; echo "$F" | sudo tee --append "$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.
-
Nettoyage
Les 4 lignes ci-dessus ajoutent aux fichiers le nom complet du fichier a chaque fois que le groupe de ligne est exécuté.
Pour nettoyer ce qui a Ă©tĂ© fait, dans lâhypothĂšse oĂč vous aviez quelque chose dans ces fichiers regarder le contenu de :
cat '/etc/motd' cat '/etc/motd.d/a.motd' cat '/etc/motd.d/b.motd'
Le fichier
/etc/motd
par défaut du systÚme se trouve ici :/usr/share/base-files/motd
, une procédure de nettoyage raisonnable est :sudo cp '/usr/share/base-files/motd' '/etc/motd' sudo rm '/etc/motd.d/a.motd' sudo rm '/etc/motd.d/b.motd'
Liens
- Le manuel du fichier motd en français.
- Billet sur les đ Raccourcis clavier pour les utilisateurs de Linux Mint
Merci Ă caseihâ© đș pour ces remarques.
኿đș