Como faço para rastrear a origem de uma mensagem de login ssh?

2

Eu instalei o mailutils na minha máquina linux com o Linux Mint 15 (basicamente o Ubuntu 13.04).

Quando faço o login, recebo o seguinte:

Welcome to Linux Mint 15 Olivia (GNU/Linux 3.8.0-32-generic i686)

Welcome to Linux Mint
 * Documentation:  http://www.linuxmint.com
No mail.
Last login: Wed Nov  6 01:33:10 2013 from xxxxxxxxxxxxxxxxxxxxxxx
BFL SingleSC: 3s ago - [2013-11-06 01:37:33] 5s:57.83 avg:57.96 u:56.96 Gh/s

Eu adicionei a última linha, colorida como eu prefiro, como um script personalizado que me atualiza sobre o status do meu hashing bitcoin BFL em ~ / .bashrc.

Agora quero colorir o restante, especialmente a No mail. line, de mailutils, e remover as mensagens duplicadas 'Welcome to Linux Mint' e newline.

Eu tenho procurado a seção mailutils especificamente, e não consigo encontrar nenhuma referência a ela em:

  • ~ / .bashrc
  • ~ / .profile
  • / etc / profile
  • /etc/profile.d / *
  • / etc / bashrc
  • /etc/init.d / *
  • /etc/rc.local
  • /etc/rc*.d (1, 2, 3, 4, 5, 6, S)

Então - como faço para encontrar onde essas mensagens são geradas para que eu possa modificá-las e colori-las como eu gosto?

    
por Ehryk 06.11.2013 / 08:45

1 resposta

4

Resposta atualizada com base em algumas pesquisas

Remover mensagens de boas vindas duplicadas

  • Como você faz login no ssh, a primeira mensagem de boas-vindas deve vir de /etc/issue.net . Para remover a mensagem, basta remover o conteúdo desse arquivo.
  • Para remover a segunda mensagem de boas-vindas, remova o conteúdo de /etc/motd .

Colorir a linha sobre correio

Para colorir essa linha, a opção mais fácil que eu posso imaginar requer um pouco de trabalho de baixo nível: a opção é que você modifique e construa pam_mail.so você mesmo.

Estas são as etapas para modificá-lo e instalar a versão modificada

  1. Faça o download da fonte Linux-PAM do linux-pam.org (o projeto oficial site) .
  2. Extraia a fonte (isso criará um novo diretório chamado Linux-PAM-1.1.8 ) e cd para ele:

    # tar xzvf Linux-PAM-1.1.8.tar.gz
    # cd Linux-PAM-1.1.8
    
  3. Altere as linhas a seguir (as linhas que começam com + , 4 linhas de todo) no arquivo modules/pam_mail/pam_mail.c para que sejam mostradas as seguintes mostras de diferenças (produzidas com diff -u ) (o nome do arquivo pam_mail.c.new é apenas meu arquivo temporário que eu poderia produzir esse diff):

    --- pam_mail.c  2013-06-18 17:11:21.000000000 +0300
    +++ pam_mail.c.new      2013-12-29 16:57:49.759298926 +0200
    @@ -294,17 +294,17 @@
              switch (type)
                {
                case HAVE_NO_MAIL:
    -             retval = pam_info (pamh, "%s", _("No mail."));
    +             retval = pam_info (pamh, "%s", _("\033[0;1;31mNo mail.\033[0m"));
                  break;
                case HAVE_NEW_MAIL:
    -             retval = pam_info (pamh, "%s", _("You have new mail."));
    +             retval = pam_info (pamh, "%s", _("\033[0;1;31mYou have new mail.\033[0m"));
                  break;
                case HAVE_OLD_MAIL:
    -             retval = pam_info (pamh, "%s", _("You have old mail."));
    +             retval = pam_info (pamh, "%s", _("\033[0;1;31mYou have old mail.\033[0m"));
                  break;
                case HAVE_MAIL:
                default:
    -             retval = pam_info (pamh, "%s", _("You have mail."));
    +             retval = pam_info (pamh, "%s", _("\033[0;1;31mYou have mail.\033[0m"));
                  break;
                }
            else
    

    Eu simplesmente adicionei \033[0;1;31m ao início dessas mensagens e \033[0m ao final dessas mensagens.

    Observação: agora ele exibe essas mensagens como vermelhas; da página ascii-table.com sobre sequências de escape Ansi sob o título Definir o modo gráfico , você pode encontrar uma lista mais completa sobre cores e outros truques sobre como personalizar a saída do terminal.

  4. Compile ( Nota: daqui até o final eu assumo que o seu diretório de trabalho é Linux-PAM-1.1.8 , o mesmo diretório para o qual nós cdd no começo, ie o "root" diretório do pacote Linux-PAM):

    # ./configure
    # make
    
  5. Faça o backup de seu pam_mail.so existente no caso de o novo quebrar o seu sistema (duvido que ele quebre, mas é sempre bom ter o arquivo original em segurança):

    # cp /lib/i386-linux-gnu/security/pam_mail.so ~/
    
  6. Copie o arquivo modules/pam_mail/.libs/pam_mail.so para /lib/i386-linux-gnu/security/ :

    # cp modules/pam_mail/.libs/pam_mail.so /lib/i386-linux-gnu/security/
    
  7. Efetue logout e novamente em (ou inicie uma nova sessão ssh, seja qual for), e você deverá ver vermelho "No mail". mensagem (supondo que você não tenha novos e-mails).

A resposta antiga e obsoleta

A mensagem de e-mail pode ser desativada alterando a seguinte linha no arquivo /etc/pam.d/system-login de

session optional pam_mail.so dir=/var/spool/mail standard

para

session optional pam_mail.so dir=/var/spool/mail nopen

Referência dos fóruns do archlinux.

O texto antes das informações de e-mail está em /etc/motd e você pode desativá-lo para ser impresso quando fizer login com ssh, colocando a seguinte linha em ~/.ssh/config :

PrintMotd no
    
por 06.11.2013 / 09:55