Script iniciante para adm. de usuarios e quotas
Publicado por Anonymous Misteryous 01/05/2008
[ Hits: 8.254 ]
#!/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
Pinga vários IPs, tentando descobrir o hostname e MAC
Crie bash scripts "on-the-fly"
Filtro para importação de extrato do Banco do Brasil para Kmymoney
Carrega o VNC em uma tela do X11 separada e com mouse para canhotos
Juntando páginas separadas num único PDF
Nenhum comentário foi encontrado.
Vale a pena ter mais de uma interface grafica no seu Linux?
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
Instalação e Configuração do Void com Cinnamon
Montagem pré automática de HD externo usb em NTFS não funciona no Debian Trixie - Solução
Guia de instalação do Gentoo Linux com Cinnamon (UEFI, LUKS2, Btrfs)









