Script iniciante para adm. de usuarios e quotas

Publicado por Anonymous Misteryous 01/05/2008

[ Hits: 7.913 ]

Download usrquotas.sh





  



Esconder código-fonte

#!/bin/bash
#Organizando os menus

trap ''  2
 Principal() {
   
   echo -e '\e[33;1m UNIVERSIDADE FEDRAL DE MATO GROSSO - CPD\e[m'
   echo "------------------------------------------"
   echo "Opções:"
   echo 
   echo "1. Criar conta de usuarios "
   echo "2. Mudar senha de usuarios"
   echo "3. Verifica quota de usuario"
   echo "4. Limpa Area de usuarios de email com quota estourada"
   echo "5. Desliga quota Geral"
   echo "6. Desliga quota de um usuario especifico"
   echo "7. Liga novamente a quota do usuario do item 6 "
   echo "8. Liga quota Geral "
   echo "9. SAIR"
   echo -n "Qual a opção desejada? "
   read -n1 opcao             
   #read -n1 -t15 opcao
   echo ' '
#   trap 'echo            \$\$ Iniciando Menu.;return'  2
   
   case $opcao in
   1) Criar ;;
   2) Mudar ;;
   3) Verificar ;;
   4) Limpar ;;
   5) Desligar ;;
   6) Desligaruser ;;
   7) Ligaruser ;;
   8) Ligar ;;
   9) Sair ;;
   *) clear; echo "Você tem de entrar com um parâmetro válido" ; Principal ;;
#   *) "Opcao Desconhecida." ; echo ; Principal ;;
   esac
}

 Criar() {
   #if [ $opcao -eq 1 ];then
   echo -n "Digite o nome do usuario ( ate 20 caracteres)[]: "
   read usuario
   adduser $usuario
   echo -e "{FONTE}33[33;1mUsuario $usuario criado com sucesso! {FONTE}33[m"
   Principal
}

 Mudar() {
   #elif [ $opcao -eq 2 ];then
   echo -n "Digite o nome do usuario[]: "
   read usuario
   passwd $usuario
   echo "Senha do usuario $usuario alterada!"
   Principal
}

 Verificar() {
   #elif [ $opcao -eq 3 ]; then
   echo -n "Digite o nome do usuario[]: "
   read usuario
   repquota -a |grep $usuario
   Principal 
}

 Limpar() {
   #elif [ $opcao -eq 4 ];then
   echo -n "Esta opcao limpara a area dos usuarios de email com quota
estourada. Deseja Continuar? (s/n)"
   read var
   
   if [ $var = "s" ]; then
      for i in $(repquota -a| grep --color '+' | awk -F " " '{print $1}')
      do
cp /usr/local/openwebmail/users/$i/mail/sent-mail /root/bkpMAIL/sent-mail_$i 2> /dev/null 
         
         if [ -e /root/bkpMAIL/sent-mail_$i ]
                then
cat /dev/null >/usr/local/openwebmail/users/$i/mail/sent-mail
cat /dev/null >/usr/local/openwebmail/users/$i/mail/mail-trash
         else
   echo -e "Nao foi possivel copiar. Nao sera apagado o sent-mail do usuario $i"
#exit
         echo -e "backup -> $i"

         fi
      done
      Principal
   elif [ $var = "n" ]; 
   then
      Principal
   fi
}

 Desligar() {
   echo "Esta opcao desligara a quota para todos os usuarios. Deseja
continuar?(s/n)"
   read var
   
   if [ $var = "s" ]; 
   then
      /sbin/quotaoff -avug; echo "quota Desligada"
   else
      Principal
   fi
}

 Desligaruser() {
 
echo -n "Digite o nome do usuario[]: "
   read user   

setquota -u $user 0 0 0 0 -a

   echo -e "\e[33;1mQuota do usuario desligada com sucesso! Nao esqueca de religa-la dentro de alguns minutos!\e[m"

Principal

} 

 Ligaruser() {
   setquota -u $user 40000 40000 0 0 -a
   echo -e "\e[33;1mA quota para o usuario foi religada com sucesso!"

   Principal

}

Ligar() {
        /sbin/quotaon -avug
        echo "Quotas ligadas com sucesso"
        Principal
}
                         
 Sair() {
   echo "Deseja sair? (s/n)"
   read var
   if [ $var = "s" ]; 
   then
      exit
   else
      Principal
   fi
}

Principal

Scripts recomendados

Formatação de pendrives

usando o jSMS direto do pendrive (v2.0)

Script para informar o IP válido

shieldscript - Script para defesa básica do seu GNU/Linux

Script para montar dispositivo Android


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts