mirror of
https://github.com/AAAAAEXQOSyIpN2JZ0ehUQ/SSHPLUS-MANAGER-FREE.git
synced 2024-11-27 06:09:04 +00:00
70 lines
2.0 KiB
Bash
70 lines
2.0 KiB
Bash
#!/bin/bash
|
|
database="/root/usuarios.db"
|
|
echo $$ > /tmp/pids
|
|
fun_drop () {
|
|
port_dropbear=`ps aux | grep dropbear | awk NR==1 | awk '{print $17;}'`
|
|
log=/var/log/auth.log
|
|
loginsukses='Password auth succeeded'
|
|
clear
|
|
pids=`ps ax |grep dropbear |grep " $port_dropbear" |awk -F" " '{print $1}'`
|
|
for pid in $pids
|
|
do
|
|
pidlogs=`grep $pid $log |grep "$loginsukses" |awk -F" " '{print $3}'`
|
|
i=0
|
|
for pidend in $pidlogs
|
|
do
|
|
let i=i+1
|
|
done
|
|
if [ $pidend ];then
|
|
login=`grep $pid $log |grep "$pidend" |grep "$loginsukses"`
|
|
PID=$pid
|
|
user=`echo $login |awk -F" " '{print $10}' | sed -r "s/'/ /g"`
|
|
waktu=`echo $login |awk -F" " '{print $2"-"$1,$3}'`
|
|
while [ ${#waktu} -lt 13 ]; do
|
|
waktu=$waktu" "
|
|
done
|
|
while [ ${#user} -lt 16 ]; do
|
|
user=$user" "
|
|
done
|
|
while [ ${#PID} -lt 8 ]; do
|
|
PID=$PID" "
|
|
done
|
|
echo "$user $PID $waktu"
|
|
fi
|
|
done
|
|
}
|
|
if [ ! -f "$database" ]
|
|
then
|
|
echo "Arquivo /root/usuarios.db não encontrado"
|
|
exit 1
|
|
fi
|
|
while true
|
|
do
|
|
clear
|
|
echo -e "\E[42;1;37m LIMITER DROPBEAR \E[0m"
|
|
echo -e "\E[42;1;37m Ususario Conexao/Limite \E[0m"
|
|
while read usline
|
|
do
|
|
user="$(echo $usline | cut -d' ' -f1)"
|
|
s2ssh="$(echo $usline | cut -d' ' -f2)"
|
|
s3drop="$(fun_drop | grep "$user" | wc -l)"
|
|
if [ -z "$user" ] ; then
|
|
echo "" > /dev/null
|
|
else
|
|
fun_drop | grep "$user" | awk '{print $2}' |cut -d' ' -f2 > /tmp/userpid
|
|
sed -n '2 p' /tmp/userpid > /tmp/tmp2
|
|
rm /tmp/userpid
|
|
tput setaf 3 ; tput bold ; printf ' %-35s%s\n' $user $s3drop/$s2ssh; tput sgr0
|
|
if [ "$s3drop" -gt "$s2ssh" ]; then
|
|
echo -e "\E[41;1;37m Usuário desconectado por ultrapassar o limite! \E[0m"
|
|
while read line
|
|
do
|
|
tmp="$(echo $line | cut -d' ' -f1)"
|
|
kill $tmp
|
|
done < /tmp/tmp2
|
|
rm /tmp/tmp2
|
|
fi
|
|
fi
|
|
done < "$database"
|
|
sleep 6
|
|
done |