Atualizando o MOTD no login

4

Eu tenho mexido com meu procedimento de login do servidor CentOS, quero ter minha atualização do MOTD usando o linux_logo programa. Eu já tentei fazer isso de algumas maneiras, mas não obtive o efeito desejado. Eu comecei com este comando:

/usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd

A informação chave a ser atualizada aqui é o tempo de atividade.

Eu tentei adicioná-lo ao meu arquivo .bashrc e adicionar o comando a um novo script bash na pasta /etc/profile.d/ e torná-lo executável. Ambos os métodos fazem com que ele seja executado no login, mas somente depois que o MOTD foi impresso, então é um login por trás.

Eu também criei um script de inicialização com o comando usando chkconfig para configurá-lo para iniciar nos níveis de tempo de execução 345, isso acredito que apenas o tenha feito executar o script durante a inicialização.

Eu também tentei adicionar o seguinte ao meu arquivo sshd_config :

ForceCommand /usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd

Isso teve o efeito de fechar minha conexão ssh toda vez que eu entrei: /

Estas foram todas as sugestões de postagens similares que encontrei quando pesquisei por isso, então acho que estou perdendo alguma coisa, neste momento alguma ajuda seria apreciada.

Para resumir, quero que o comando a seguir, ou similar, seja executado no login, antes de o motd ser impresso. Isso é possível?

if [ -f /usr/bin/linux_logo ]; then
  /usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd
fi
    
por Rumbles 21.10.2014 / 20:28

3 respostas

4

Não há motivo para essa execução quando um usuário faz logon, basta adicioná-lo ao crontab do root ou /etc/crontab . Para executar seu comando e atualizar o pacote a cada 5 minutos, adicione esta linha a /etc/crontab :

*/5 * * * * root /usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd
    
por 21.10.2014 / 21:40
4

De acordo com o artigo da wikipedia , o /etc/motd é chamado antes ele executa o shell de login. Isso explica por que incluir qualquer coisa no arquivo .bashrc não funciona.

Via chkconfig e links em /etc/rcX.d/ a atualização é feita apenas na inicialização.

Uma coisa que você pode tentar é substituir /etc/motd por um pipe nomeado ( mkfifo /etc/motd ) e fazer com que um programa detecte de alguma forma a leitura desse pipe e preencha o pipe com a saída desejada.

    
por 21.10.2014 / 21:10
-1

no linux moderno, qualquer coisa que escreva para /etc/motd.dynamic mudará o login.

Se você quiser fazer isso 'certo', crie /etc/update-motd.d e coloque scripts lá cuja saída irá compor o MOTD.

Veja

link

    
por 06.04.2017 / 15:05

Tags