mirror of
https://github.com/AAAAAEXQOSyIpN2JZ0ehUQ/SSHPLUS-MANAGER-FREE.git
synced 2024-11-27 06:09:04 +00:00
70 lines
2.8 KiB
Bash
70 lines
2.8 KiB
Bash
#!/bin/bash
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; printf '%20s%s\n' " Alterar limite de conexões simultâneas " ; tput sgr0
|
|
database="/root/usuarios.db"
|
|
if [ ! -f "$database" ]; then
|
|
tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Arquivo $database não encontrado" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
tput setaf 3 ; tput bold ; echo ""; echo "LISTA DE USUARIOS E SEUS LIMITES:" ; tput sgr0
|
|
echo ""
|
|
_userT=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody)
|
|
i=0
|
|
unset _userPass
|
|
while read _user; do
|
|
i=$(expr $i + 1)
|
|
_oP=$i
|
|
[[ $i == [1-9] ]] && i=0$i && oP+=" 0$i"
|
|
if [[ "$(grep -wc "$_user" $database)" != "0" ]]; then
|
|
limit=$(grep -w "$_user" $database |cut -d' ' -f2)
|
|
else
|
|
limit='1'
|
|
fi
|
|
l_user=$(echo -e "\033[1;31m[\033[1;36m$i\033[1;31m] \033[1;37m- \033[1;32m$_user\033[0m")
|
|
lim=$(echo -e "\033[1;33mLimite\033[1;37m: $limit")
|
|
printf '%-65s%s\n' "$l_user" "$lim"
|
|
_userPass+="\n${_oP}:${_user}"
|
|
done <<< "${_userT}"
|
|
echo ""
|
|
num_user=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody | wc -l)
|
|
echo -ne "\033[1;32mDigite ou selecione um usuario \033[1;33m[\033[1;36m1\033[1;31m-\033[1;36m$num_user\033[1;33m]\033[1;37m: " ; read option
|
|
usuario=$(echo -e "${_userPass}" | grep -E "\b$option\b" | cut -d: -f2)
|
|
if [[ -z $option ]]; then
|
|
tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Usuário vazio ou não existente" ; echo "" ; tput sgr0
|
|
exit
|
|
elif [[ -z $usuario ]]; then
|
|
tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Usuário vazio ou não existente" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if cat /etc/passwd |grep -w $usuario > /dev/null; then
|
|
echo -ne "\n\033[1;32mNovo limite para o usuario \033[1;33m$usuario\033[1;37m: "; read sshnum
|
|
if [[ -z $sshnum ]]
|
|
then
|
|
tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Você digitou um número inválido!" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if (echo $sshnum | egrep [^0-9] &> /dev/null)
|
|
then
|
|
tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Você digitou um número inválido!" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if [[ $sshnum -lt 1 ]]
|
|
then
|
|
tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "Você deve digitar um número maior que zero!" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
grep -v ^$usuario[[:space:]] /root/usuarios.db > /tmp/a
|
|
sleep 1
|
|
mv /tmp/a /root/usuarios.db
|
|
echo $usuario $sshnum >> /root/usuarios.db
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Limite aplicado para o usuário $usuario foi $sshnum " ; tput sgr0
|
|
sleep 2
|
|
exit
|
|
fi
|
|
fi
|
|
fi
|
|
else
|
|
tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo "O usuário $usuario não foi encontrado" ; echo "" ; tput sgr0
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi |