Script iniciante para adm. de usuarios e quotas
Publicado por Anonymous Misteryous 01/05/2008
[ Hits: 8.205 ]
#!/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
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Habilitando clipboard manager no ambiente COSMIC
A compatibilidade do LibreOffice com o Microsoft Office
Colocando hotcorner no COSMIC para exibir "workspaces"
Quais licenças open source têm valor jurídico? (0)
Problema com som no laptop (2)









