Enviado em 14/09/2016 - 11:38h
Ola,
Meus caros, Gostaria de saber como faço para limitar usuarios conectados em uma ssh, eu editei esse script mais Quando chega um limite total estabelecido todos os usuarios sao desconectados e reiniciados posteriormente. Eu queria limitar uma quantidade de usuarios em uma conta ssh e bloquear novas conexões mais sem desconectar os ja conectados...
arqUsers="usuarios.txt" - Local onde coloco o nome do login/usuario e a quantidade de logins nessa conta
sleepTime=10
echo $$ > pidSshKill.txt
if [ ! -f "$arqUsers" ]
then
echo "Lista de usuarios $arqUsers nao encontrada"
exit 0
fi
while true
do
while read userLine
do
user="$(echo $userLine | cut -d' ' -f1)"
maxSessions="$(echo $userLine | cut -d' ' -f2)"
ps x | grep $user | grep -v grep | grep -v pts > tmp.tmp
qtdSessions="$(cat tmp.tmp | wc -l)"
echo "Usuario: $user - $qtdSessions/$maxSessions"
if [ "$qtdSessions" -gt "$maxSessions" ]; then
echo 'Desconectando conexoes SSH simultaneas'
while read line
do
tmp="$(echo $line | cut -d' ' -f1)"
echo "Desconectando conexao SSH com ID $tmp"
kill $tmp
done < tmp.tmp
rm tmp.tmp
fi
done < "$arqUsers"
echo "Aguardando $sleepTime segundos para verificar novamente..."
sleep $sleepTime
done
Meus caros, Gostaria de saber como faço para limitar usuarios conectados em uma ssh, eu editei esse script mais Quando chega um limite total estabelecido todos os usuarios sao desconectados e reiniciados posteriormente. Eu queria limitar uma quantidade de usuarios em uma conta ssh e bloquear novas conexões mais sem desconectar os ja conectados...
arqUsers="usuarios.txt" - Local onde coloco o nome do login/usuario e a quantidade de logins nessa conta
sleepTime=10
echo $$ > pidSshKill.txt
if [ ! -f "$arqUsers" ]
then
echo "Lista de usuarios $arqUsers nao encontrada"
exit 0
fi
while true
do
while read userLine
do
user="$(echo $userLine | cut -d' ' -f1)"
maxSessions="$(echo $userLine | cut -d' ' -f2)"
ps x | grep $user | grep -v grep | grep -v pts > tmp.tmp
qtdSessions="$(cat tmp.tmp | wc -l)"
echo "Usuario: $user - $qtdSessions/$maxSessions"
if [ "$qtdSessions" -gt "$maxSessions" ]; then
echo 'Desconectando conexoes SSH simultaneas'
while read line
do
tmp="$(echo $line | cut -d' ' -f1)"
echo "Desconectando conexao SSH com ID $tmp"
kill $tmp
done < tmp.tmp
rm tmp.tmp
fi
done < "$arqUsers"
echo "Aguardando $sleepTime segundos para verificar novamente..."
sleep $sleepTime
done