J'ai un CentOS 5.7 VPS utilisant bash comme shell qui affiche un message d'accueil de marque immédiatement après la connexion via SSH. J'ai essayé de le modifier, mais je n'arrive pas à trouver où il se trouve aux endroits habituels. Jusqu'à présent, j'ai regardé dans le motd
fichier et vérifié sshd_config
les paramètres du fichier de bannière. Un fichier de bannière n'est pas défini.
Où puis-je chercher où se trouve le message de connexion?
grep
dans/etc
pour un sous - ensemble du message./
aussi, prend une éternité sur un disque de 1 To, laissez-moi vous dire ... Mais je n'ai jamais été sur Twitter :)Réponses:
Les systèmes Unix traditionnels s'affichent
/etc/motd
aprè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 lepam_motd
module PAM, qui peut être configuré dans/etc/pam.conf
ou/etc/pam.d/*
pour afficher un fichier différent.Le serveur ssh lui-même peut être configuré pour imprimer
/etc/motd
si l'PrintMotd
option n'est pas désactivée dans/etc/sshd_config
. Il peut également imprimer l'heure de la connexion précédente s'ilPrintLastLog
n'est pas désactivé.Un autre message traditionnel pourrait vous dire si cela
You have new mail
ouYou have mail
. Sur les systèmes avec PAM, cela se fait par lepam_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 shell interactif, si la connexion de l'utilisateur est un shell de type Bourne, regardez dans
/etc/profile
,~/.profile
, plus~/.bash_profile
et~/.bash_login
pour bash. Pour une connexion interactive à zsh, consultez/etc/zprofile
,/etc/zlogin
,/etc/zshrc
,~/.zprofile
,~/.zlogin
et~/.zshrc
. Pour une connexion interactive à csh, recherchez 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, bash s'exécute
~/.bashrc
(ce qui est vraiment étrange, car il~/.bashrc
n'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~/.bashrc
pour renflouer si le shell n'est pas interactif:la source
.bash_profile
ne vous envoie qu'un message. Certaines personnes aiment voir des messages utiles ou drôles lorsqu'elles se connectent. Je ne peux pas parler pour le compte root de votre système car je ne connais ni le contenu du message, ni les personnes et les paramètres impliqués.Il y a un peu:
aditionellement
Vous devrez peut-être également parcourir tous les programmes appelés à partir de ces scripts, car quelque chose comme
fortune
pourrait stocker les quips dans lesquels il s'affiche/usr/share
. Pour l'isoler, vous pouvez faire:Sur Ubuntu, il existe également un fichier:
la source
/etc/issue
est traditionnellement affiché avant qu'un utilisateur se connecte, pas après.profile
etprofile.d
. Hélas, vos quatre suggestions n'ont abouti à rien. Je me demande si quelque chose de personnalisé est compilé dans le binaire bash ...?Les nouveaux systèmes stockent les composants MOTD
/etc/update-motd.d
afin que différentes macros puissent être exécutées pour personnaliser le motd afin que les informations de mise à jour, les alertes système, etc. s'affichent à la connexion.Ajoutez votre personnalisation dans un autre fichier avec la priorité de
00
à99
99-footer
se charge généralement/etc/motd.tail
si le clouer à la fin est suffisant et que vous ne souhaitez utiliser aucun des éléments de macro.la source
Vous pouvez regarder dedans
/etc/shell
, c'est là que j'ai trouvé un message que j'essayais de changer. Cela ne fonctionne pas de commenter avec un "#", il vous suffit de supprimer tout texte et d'ajouter le vôtre. Des espaces et de nouvelles lignes apparaissent également lorsque vous les placez dans le fichier.la source