4 votes

Linux: Message unique à la connexion

Je recherche une commande similaire à wall mais qui enverra un message aux utilisateurs actuellement connectés en ssh et s'ils ne sont pas connectés, affichera le message lors de leur prochaine connexion en ssh (mais une seule fois). Le contexte est que je pourrais (sans garantie) avoir une panne de réseau mais que tout le monde sur la ou les machines n'aura pas reçu l'e-mail de maintenance et je préférerais transférer l'e-mail à tous les utilisateurs de la ou des machines. Je ne cherche pas à mettre un message dans /etc/motd car cela affichera le message à chaque connexion.

3 votes

Quel est le problème de recevoir ce message plusieurs fois lors de la connexion? Il suffit de le supprimer après la panne ou il n'est pas nécessaire du tout.

1 votes

C'est énervant de se faire spammer avec d'innombrables messages quand c'est toujours la même chose, je suppose que c'est la seule raison.

0 votes

C'est à peu près la raison, je sais que j'ouvre deux ou trois sessions shell et qu'un assez grand nombre d'utilisateurs se connectent avec des connexions Internet un peu instables, donc recevoir le même message plusieurs fois par jour devient rapidement irritant.

5voto

Flup Points 7496

Il y a une manière standard de faire cela: news. Autrefois, il s'agissait d'une commande standard, mais de nos jours elle est un peu obsolète et doit être installée manuellement. Le paquet Debian/Ubuntu que vous voulez est sysnews.

Pour l'utiliser,

  • créez un fichier appelé quelque chose comme /var/lib/sysnews/login-message contenant votre message
  • ajoutez news à /etc/profile (ou l'équivalent pour le shell de vos utilisateurs)

Lorsque vos utilisateurs se connectent, ils verront le message la première fois, mais ensuite .news_time est créé dans leur répertoire personnel, et ils ne verront que les nouveautés qui ont été modifiées depuis l'horodatage de ce fichier.

0 votes

On dirait exactement ce que je cherche, il me suffit juste de trouver un paquet pour CentOS alors. Cheers!

0 votes

@VincentAlpha as-tu trouvé le package pour CentOS ? J'ai cherché pendant un moment mais en vain. Le poster ici pourrait aider les futurs utilisateurs.

0 votes

@user3243242 Malheureusement non, et il semble qu'à l'époque je n'ai même pas trouvé la source (ou envisagé de la construire à partir de la source); j'ai juste vérifié un serveur Rocks que j'administre et pas de chance dans les dépôts 7.0 non plus (celui de la question était CentOS 5 ou 6).

1voto

MeBigFatGuy Points 12489

Avez-vous un fichier global /etc/profile que vous pourriez utiliser pour cela? Cela ne capturera pas tout le monde et leur étrange shell du jour, mais en gros

if [ ! -e "$HOME/.saw-the-message" ];
   echo "Le système va s'arrêter demain, mais je ne vous le dirai jamais!"
   touch $HOME/.saw-the-message
fi

Problèmes:

  • vous devrez nettoyer les fichiers de verrouillage par la suite
  • manque certaines personnes qui utilisent $weird_shell

0 votes

Ne voulez-vous pas dire si [ ! -e "$HOME/.saw-the-message" ]; ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X