Suponha que você configurou acesso ao seu servidor via SSH apenas para duas contas: suporte e joao. Porém, você percebe que ao executar o comando # w esses mesmos logins estão conectados mais de uma vez e até por meio de máquinas distintas. Isso ocasiona mais processamento do servidor e uma insegurança, pois, pode ser algum atacante que usurpou os dados dessas contas e pode estar controlando o sistema.
O script abaixo, vai fazer uma verificação dos usuários com permissão de logar no servidor e caso haja mais de uma conexão por parte dos mesmos, estes serão deslogados do sistema. Confira!
-----------------------------------
#!/bin/bash
#Apenas os usuários com permissão conectar via SSH
ALLOWUSERS="joao suporte"
for i in $ALLOWUSERS;
do
# Verifica se há algum usuário conectado
FNDUSER=$(w | cut -d ' ' -f1 | grep -i $i | wc -l)
#Caso hajam 2 ou mais conexoes do mesmo usuário, ele sera deslogado
if [ $FNDUSER -ge 2 ];
then
for x in $(ps -u $i | cut -d ' ' -f2); do kill -9 $x;done
fi
done
-----------------------------------
Dê permissão de execução a esse arquivo e em seguida configure a execução do mesmo a cada 1 ou 5 minutos.
# crontab -e
*/5 * * * * /root/logoffuser.sh
Dúvidas, Sugestões é só postar nos comentários.
Nenhum comentário:
Postar um comentário