Linux:一次login消息

我正在寻找类似于墙的命令,但会传递一个消息给当前用户,如果他们没有login将显示在他们的下一个SSHlogin(但只有一次)。 上下文是我可能(不保证)有networking中断,但不是机器上的每个人都会得到维护邮件,我宁愿将电子邮件转发给机器的所有用户。 不想在/ etc / motd中input消息,因为这会在每次login时都会显示消息。

有一个标准的做法: news 。 在古代,这是一个标准的命令,但是现在这有点硬,需要手动安装。 你想要的Debian / Ubuntu软件包是sysnews

要使用它,

  • 创build一个名为/var/lib/sysnews/login-message其中包含消息
  • news添加到/etc/profile (或等同于您的用户的shell)

当用户login时,他们会第一次看到消息,但是.news_time在他们的主目录中创build,他们只会看到自该文件的时间戳以来已经被修改的新闻项目。

你有一个全球的/etc/profile ,你可以做到这一点? 基本上不会抓住每个人和他们奇怪的shell

 if [ ! -e "$HOME/.saw-the-message" ]; echo "The system will go down tomorrow, but I will never tell you again!" touch $HOME/.saw-the-message fi 

问题:

  • 之后你必须清理locking文件
  • 错过了一些使用$weird_shell