Les systèmes Unix traditionnels affichent /etc/motd
après l'authentification réussie de l'utilisateur et avant l'appel du shell de l'utilisateur. Sur les systèmes modernes, cela est fait par le pam_motd
Module PAM, configurable en /etc/pam.conf
ou /etc/pam.d/*
pour afficher un autre fichier.
Le serveur ssh lui-même peut être configuré pour imprimer /etc/motd
si le PrintMotd
l'option n'est pas désactivée dans /etc/sshd_config
. Il peut également imprimer l'heure de la connexion précédente si PrintLastLog
n'est pas désactivé.
Un autre message traditionnel pourrait vous dire si ce You have new mail
ou You have mail
. Sur les systèmes avec PAM, cela est fait par le pam_mail
module. Certains shells peuvent imprimer un message sur le courrier disponible.
Une fois le shell de l'utilisateur lancé, les fichiers de démarrage de l'utilisateur peuvent imprimer des messages supplémentaires. Pour une connexion interactive, si le shell de connexion de l'utilisateur est un shell de style Bourne, regardez dans /etc/profile
, ~/.profile
, plus ~/.bash_profile
et ~/.bash_login
pour bash. Pour une connexion interactive à zsh, regardez dans /etc/zprofile
, /etc/zlogin
, /etc/zshrc
, ~/.zprofile
, ~/.zlogin
et ~/.zshrc
. Pour une connexion interactive à csh, regardez dans /etc/csh.login
et ~/.login
.
Si le shell de connexion de l'utilisateur est bash et qu'il s'agit d'une connexion non interactive, alors bash exécute ~/.bashrc
(ce qui est vraiment étrange, puisque ~/.bashrc
est exécuté pour les shells interactifs uniquement si le shell n'est pas un shell de connexion). Cela peut être une source de problèmes; Je recommande d'inclure l'extrait suivant en haut de ~/.bashrc
pour renflouer si le shell n'est pas interactif :
if [[ $- != *i* ]]; then return; fi
Il y en a quelques-uns :
/etc/motd
/etc/issue
/etc/profile - Could echo the message
/etc/profile.d/* - Would be called from /etc/profile
De plus
/etc/bash_bashrc
/etc/.bashrc
/etc/bashrc
$HOME/.profile
$HOME/.bashrc
Vous devrez peut-être également parcourir chaque programme appelé à partir de ces scripts, car quelque chose comme fortune
pourrait stocker les plaisanteries qu'il affiche dans /usr/share
. Pour l'isoler vous pouvez faire :
. /etc/profile
. /etc/bash.bashrc
. $HOME/.profile
. $HOME/.bashrc
Sur Ubuntu il y a aussi le fichier :
/etc/motd.tail
Les systèmes plus récents stockent les composants MOTD dans /etc/update-motd.d
afin que diverses macros puissent être exécutées pour personnaliser le motd afin que les informations de mise à jour, les alertes système, etc. s'affichent lors de la connexion.
Ajoutez votre personnalisation dans un autre fichier avec une priorité de 00
à 99
99-footer
charge généralement /etc/motd.tail
s'il suffit de le clouer à la fin et que vous ne souhaitez utiliser aucun des éléments de la macro.