Executar comandos ao efetuar login ou logout no Linux
Para que um comando seja executado quando o usuário efetua LOGIN (iniciar uma sessão) ou LOGOUT (finalizar a sessão), insira o seu comando nos respectivos arquivos que devem estar localizados no HOME de cada usuário:
.bash_login
.bash_logout
Obs.: Se estes arquivos não existirem, você deve criá-los.
Exemplos:
1) Exibir uma mensagem quando o usuário efetua LOGIN (adicionar em .bash_login):
2) Limpar a tela quando o usuário efetua LOGOUT (adicionar em .bash_logout):
clear
Para que os novos usuários herdem estes arquivos de configuração, copie-os para a pasta /etc/skel. Assim sempre que um novo usuário for criado, serão copiados os arquivos .bash_login e .bash_logout para sua pasta HOME.
[4] Comentário enviado por kleytonmaia em 19/10/2015 - 16:55h
No meu caso só deu certo esse esquema do .bash_login nos ubuntu(14), para os red hat(6) foi necessario criar o script login.sh no diretorio /etc/profile.d/login.sh, dai sim quando o usuairo loga ele faz o que eu preciso, mas ja deu uma luz obrigado.
[5] Comentário enviado por tcboeira em 07/03/2018 - 15:15h
Coloquei o arquivo .sh no diretorio /etc/profile.d/ pois uso o Ubuntu 16.04 e não há o tal do .bash_login
No meu caso ele não funciona. Até roda na tela, mas sempre tem um erro
Erro encontrado ao carregar /etc/profile:
/etc/profile.d/script.sh: linha 1: #!bin/bash: Arquivo ou diretório não encontrado
sudo: nenhum tty presente e nenhum programa de askpass especificado
sudo: nenhum tty presente e nenhum programa de askpass especificado
sudo: nenhum tty presente e nenhum programa de askpass especificado
sudo: nenhum tty presente e nenhum programa de askpass especificado