Existe uma maneira de criar um MOTD com detalhes de login?

3

Existe uma maneira de exibir detalhes de login SSH ativos no display MOTD? Como, eu queria exibir o endereço IP de onde a conexão foi originada e quanto tempo a sessão está ativa. Isso é possível?

Atualização adicional:

# tty --silent && finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone   Host
root      root       pts/0          Jun 22 00:33                           (192.168.2.2)
root      root       pts/1          Jun 22 00:38                           (192.168.2.2)

Existe uma maneira de remover o Office & Office Phone da saída acima para que pareça um pouco melhor? Além disso, apenas diz em que momento o usuário está logado. Existe também uma maneira de mostrar quanto tempo o usuário está logado?

    
por Gokulnath Kumar 21.06.2018 / 15:52

1 resposta

5

Você pode exibir os usuários atuais com who ou finger . Para executar um deles no login, você poderia adicioná-lo aos arquivos de inicialização do shell dos usuários. Supondo que seus usuários executem Bash (ou algum outro shell que leia /etc/profile ), você poderia colocar algo assim:

tty --silent && finger

( tty descobre se o shell está aberto em um terminal. Sem testá-lo, a saída pode atrapalhar os utilitários não interativos).

Pelo menos no Debian / Ubuntu, o padrão /etc/profile também executa scripts em /etc/profile.d/ (os arquivos precisam terminar com .sh ), então você poderia colocar o comando em um novo arquivo lá.

Além disso, o Ubuntu possui um sistema especificamente para atualizar o arquivo MOTD dinamicamente. O módulo pam_motd executa scripts em /etc/update-motd.d e armazena sua saída em /etc/motd.dynamic , que é exibido ao usuário. Nesse caso, ele passa pelo processo MOTD usual, portanto, você não precisa verificar tty nem nada. Veja por exemplo update-motd(5) e o UpdateMotd page no wiki do Ubuntu.

    
por 21.06.2018 / 16:03

Tags