Les systèmes Unix traditionnels s'affichent /etc/motdaprès que l'utilisateur a été authentifié avec succès et avant que le shell de l'utilisateur soit appelé. Sur les systèmes modernes, cela se fait par le pam_motdmodule PAM, qui peut être configuré dans /etc/pam.confou /etc/pam.d/*pour afficher un fichier différent.
Le serveur ssh lui-même peut être configuré pour imprimer /etc/motdsi l' PrintMotdoption n'est pas désactivée dans /etc/sshd_config. Il peut également imprimer l'heure de la connexion précédente s'il PrintLastLogn'est pas désactivé.
Un autre message traditionnel pourrait vous dire si cela You have new mailou You have mail. Sur les systèmes avec PAM, cela se fait par le pam_mailmodule. 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 shell interactif, si la connexion de l'utilisateur est un shell de type Bourne, regardez dans /etc/profile, ~/.profile, plus ~/.bash_profileet ~/.bash_loginpour bash. Pour une connexion interactive à zsh, consultez /etc/zprofile, /etc/zlogin, /etc/zshrc, ~/.zprofile, ~/.zloginet ~/.zshrc. Pour une connexion interactive à csh, recherchez dans /etc/csh.loginet ~/.login.
Si le shell de connexion de l'utilisateur est bash et qu'il s'agit d'une connexion non interactive, bash s'exécute ~/.bashrc(ce qui est vraiment étrange, car il ~/.bashrcn'est exécuté pour les shells interactifs que si le shell n'est pas un shell de connexion). Cela peut être une source de problèmes; Je recommande d'inclure l'extrait de code suivant en haut de ~/.bashrcpour renflouer si le shell n'est pas interactif:
if [[ $- != *i* ]]; then return; fi
grepdans/etcpour un sous - ensemble du message.