mirror of
https://github.com/AAAAAEXQOSyIpN2JZ0ehUQ/SSHPLUS-MANAGER-FREE.git
synced 2025-01-31 09:31:33 +00:00
101 lines
3.1 KiB
Bash
101 lines
3.1 KiB
Bash
#!/bin/bash
|
|
username=$1
|
|
password=$2
|
|
dias=$3
|
|
sshlimiter=$4
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; tput sgr0
|
|
echo ""
|
|
|
|
awk -F : ' { print $1 }' /etc/passwd > /tmp/users
|
|
if grep -Fxq "$username" /tmp/users
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "0" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if (echo $username | egrep [^a-zA-Z0-9.-_] &> /dev/null)
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "1" ; tput setab 1 ; echo "" ; tput setab 4 ; echo "" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
sizemin=$(echo ${#username})
|
|
if [[ $sizemin -lt 2 ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "2" ; echo "" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
sizemax=$(echo ${#username})
|
|
if [[ $sizemax -gt 32 ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "3" ; echo "" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if [[ -z $username ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "4" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
|
|
if [[ -z $password ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "5" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
sizepass=10
|
|
if [[ $sizepass -lt 6 ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "6" ; echo "" ; echo "" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
|
|
if (echo $dias | egrep '[^0-9]' &> /dev/null)
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "7" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if [[ -z $dias ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "8" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if [[ $dias -lt 1 ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "9" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
|
|
if (echo $sshlimiter | egrep '[^0-9]' &> /dev/null)
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "10" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if [[ -z $sshlimiter ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "11" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
if [[ $sshlimiter -lt 1 ]]
|
|
then
|
|
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "12!" ; echo "" ; tput sgr0
|
|
exit 1
|
|
else
|
|
final=$(date "+%Y-%m-%d" -d "+$dias days")
|
|
gui=$(date "+%d/%m/%Y" -d "+$dias days")
|
|
pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
|
|
useradd -e $final -M -s /bin/false -p $pass $username
|
|
[ $? -eq 0 ] && tput setaf 2 ; tput bold ; echo ""; echo "13" ; echo "" ; echo "" ; echo "" || echo "14" ; tput sgr0
|
|
echo "$password" > /etc/SSHPlus/senha/$username
|
|
echo "$username $sshlimiter" >> /root/usuarios.db
|
|
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi |