Linux: Uma mensagem no login

3

Eu estou procurando por um comando similar ao wall, mas vai entregar uma mensagem para usuários atualmente sshed em e se eles não estiverem logados irá exibir no seu próximo login ssh (mas apenas uma vez). O contexto é que eu posso (não garantido) ter uma interrupção de rede, mas nem todos na (s) máquina (s) receberão o e-mail de manutenção e prefiro encaminhar o e-mail para todos os usuários da (s) máquina (s). Não quer colocar uma mensagem em / etc / motd, uma vez que irá colocar a mensagem em cada login.

    
por VincentAlpha 14.03.2013 / 13:27

2 respostas

4

Existe uma maneira padrão de fazer isso: news . Antigamente este era um comando padrão, mas hoje em dia é um pouco crocante e tem que ser instalado manualmente. O pacote Debian / Ubuntu que você quer é sysnews .

Para usá-lo,

  • crie um arquivo chamado algo como /var/lib/sysnews/login-message contendo sua mensagem
  • adicione news a /etc/profile (ou equivalente para o shell dos seus usuários)

Quando os usuários fizerem login, eles verão a mensagem pela primeira vez, mas .news_time será criado em seu diretório pessoal e só verão itens de notícias que foram modificados desde o registro de data e hora desse arquivo.

    
por 14.03.2013 / 17:13
1

Você tem um /etc/profile global do qual você poderia fazer isso? Não vai pegar todo mundo e sua estranha casca do dia, mas basicamente

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

Problemas:

  • você terá que limpar os arquivos de bloqueio depois
  • sente falta de algumas pessoas que usam $weird_shell
por 14.03.2013 / 13:36

Tags