sorahx0

Untitled

May 29th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.61 KB | None | 0 0
  1. #!/bin/bash
  2. tput setaf 7 ; tput setab 4 ; tput bold ; printf '%30s%s%-15s\n' "Criar Usuário SSH" ; tput sgr0
  3. echo ""
  4. read -p "Nome do usuário: " username
  5. awk -F : ' { print $1 }' /etc/passwd > /tmp/users
  6. if grep -Fxq "$username" /tmp/users
  7. then
  8.     tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Este usuário já existe. Crie um usuário com outro nome." ; echo "" ; tput sgr0
  9.     exit 1 
  10. else
  11.     if (echo $username | egrep [^a-zA-Z0-9.-_] &> /dev/null)
  12.     then
  13.         tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário inválido!" ; tput setab 1 ; echo "Use apenas letras, números, pontos e traços." ; tput setab 4 ; echo "Não use espaços, acentos ou caracteres especiais!" ; echo "" ; tput sgr0
  14.         exit 1
  15.     else
  16.         sizemin=$(echo ${#username})
  17.         if [[ $sizemin -lt 2 ]]
  18.         then
  19.             tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário muito curto," ; echo "use no mínimo dois caracteres!" ; echo "" ; tput sgr0
  20.             exit 1
  21.         else
  22.             sizemax=$(echo ${#username})
  23.             if [[ $sizemax -gt 32 ]]
  24.             then
  25.                 tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário muito grande," ; echo "use no máximo 32 caracteres!" ; echo "" ; tput sgr0
  26.                 exit 1
  27.             else
  28.                 if [[ -z $username ]]
  29.                 then
  30.                     tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário vazio!" ; echo "" ; tput sgr0
  31.                     exit 1
  32.                 else   
  33.                     read -p "Senha: " password
  34.                     if [[ -z $password ]]
  35.                     then
  36.                         tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou uma senha vazia!" ; echo "" ; tput sgr0
  37.                         exit 1
  38.                     else
  39.                         sizepass=$(echo ${#password})
  40.                         if [[ $sizepass -lt 6 ]]
  41.                         then
  42.                             tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou uma senha muito curta!" ; echo "Para manter o usuário seguro use no mínimo 6 caracteres" ; echo "combinando diferentes letras e números!" ; echo "" ; tput sgr0
  43.                             exit 1
  44.                         else   
  45.                             read -p "Dias para expirar: " dias
  46.                             if (echo $dias | egrep '[^0-9]' &> /dev/null)
  47.                             then
  48.                                 tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um número de dias inválido!" ; echo "" ; tput sgr0
  49.                                 exit 1
  50.                             else
  51.                                 if [[ -z $dias ]]
  52.                                 then
  53.                                     tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deixou o número de dias para a conta expirar vazio!" ; echo "" ; tput sgr0
  54.                                     exit 1
  55.                                 else   
  56.                                     if [[ $dias -lt 1 ]]
  57.                                     then
  58.                                         tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deve digitar um número de dias maior que zero!" ; echo "" ; tput sgr0
  59.                                         exit 1
  60.                                     else
  61.                                         read -p "Nº de conexões simultâneas permitidas: " sshlimiter
  62.                                         if (echo $sshlimiter | egrep '[^0-9]' &> /dev/null)
  63.                                         then
  64.                                             tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um número de conexões inválido!" ; echo "" ; tput sgr0
  65.                                             exit 1
  66.                                         else
  67.                                             if [[ -z $sshlimiter ]]
  68.                                             then
  69.                                                 tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deixou o número de conexões simultâneas vazio!" ; echo "" ; tput sgr0
  70.                                                 exit 1
  71.                                             else
  72.                                                 if [[ $sshlimiter -lt 1 ]]
  73.                                                 then
  74.                                                     tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deve digitar um número de conexões simultâneas maior que zero!" ; echo "" ; tput sgr0
  75.                                                     exit 1
  76.                                                 else
  77.                                                     read -p "Informe Email do cliente : " email
  78.                                                     final=$(date "+%Y-%m-%d" -d "+$dias days")
  79.                                                     gui=$(date "+%d/%m/%Y" -d "+$dias days")
  80.                                                     pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
  81.                                                     useradd -e $final -M -s /bin/false -p $pass $username
  82. sendEmail -f "EMAIL_SCRIPT" -t "$email" -u "Cadastro de Usuario VPS" -m "Ola\n\nSeu Cadastro em minha VPS Foi Efetuado com Sucesso.\nUsuario $username Criado com sucesso.\n Data de expiracao $gui\n Numero de conexoes permitidas $sshlimiter \n ATT \n Admin VPS" -s "smtp.gmail.com":587 -o tls=auto -xu "USUARIO_SCRIPT" -xp "SENHA_SCRIPT"
  83.                                                     [ $? -eq 0 ] && tput setaf 2 ; tput bold ; echo ""; echo "Usuário $username criado" ; echo "Data de expiração: $gui" ; echo "Nº de conexões simultâneas permitidas: $sshlimiter" ; echo "" || echo "Não foi possível criar o usuário!" ; tput sgr0
  84.                                                     echo "$username $sshlimiter" >> /root/usuarios.db
  85.                                                 fi
  86.                                             fi
  87.                                         fi
  88.                                     fi
  89.                                 fi
  90.                             fi
  91.                         fi
  92.                     fi
  93.                 fi
  94.             fi
  95.         fi
  96.     fi
  97. fi
Advertisement
Add Comment
Please, Sign In to add comment