van.jp01
(usa KUbuntu)
Enviado em 23/04/2011 - 16:11h
Era simples mesmo. Foi só um exercício que o meu professor passou pra conhecer os aplicativos de interface gráfica com shell. Tenho um de rede pra entregar em 15 dias que falta fazer a parte de rede sem fio e por interface gráfica. Aqui o script pra adcionar e remover usuários completo:
#! /bin/bash
# Administração de Sistemas - CST Redes de Computadores - IFPB
# Script para adcionar e remover usuários
# Por Josivan Barbosa
#ivan_jp01@hotmail.com
#Verifica se o usuário é root
if [ "`id -u`" != "0" ] ; then
gksu $0
exit
fi
Menu () {
opcao=$(zenity --list --column "Gerência de usuários." \
--title="Gerência de usuários." \
"Adcionar usuário." \
"Remover usuário." )
case ${opcao} in
"Adcionar usuário.")Adcionar ;;
"Remover usuário.")Remover ;;
esac
}
Adcionar () {
usuario=`zenity --entry \
--title="Adicionar usuário" \
--text="Digite o nome do usuário:"`
if [ $? -eq 1 ] ; then # Volta ao menu principal se o usuário clicar em "Cancelar"
Menu
elif [ -z $usuario ] ; then # Verifica se foi digitado um nome para o usuário.
zenity --error --text="Informe um nome para o usuário!"
Adcionar
elif ! [ -z `grep -w $usuario /etc/passwd` ] ; then # Verifica se o usuário ja existe.
zenity --error --text="Usuário já existe!"
Adcionar
else
while true ; do # Campo para cadastro da senha
senha=`zenity --entry \
--title="Adcionar usuário." \
--text="Digite a senha:" \
--hide-text`
if [ $? -eq 1 ] ; then # Volta ao menu principal se o usuário clicar em "cancelar".
break
elif [ -z $senha ] ; then # Verifica se foi digitado uma senha.
zenity --error --text="Informe uma senha!"
else
useradd -m $usuario # Adciona o novo usuário
echo $usuario:$senha | chpasswd
zenity --info --text="Usuário '$usuario' adcionado com sucesso!"
break
fi
done
Menu
fi
}
Remover () {
usuario=`zenity --entry \
--title="Remover usuário." \
--text="Digite o nome do usuário:"`
if [ $? -eq 1 ] ; then # Volta ao menu principal se o usuário clicar em "cancelar".
Menu
elif [ -z $usuario ] ; then # Verifica se foi informado um usuário.
zenity --error --text="Informe o nome do usuário!"
Remover
elif [ -z `grep -w $usuario /etc/passwd` ] ; then # Verifica se o usuário existe.
zenity --error --text="Usuário não existe!"
Remover
elif zenity --question \
--text="Deseja remover o diretório home do usuário '$usuario'"?""
then
userdel -r $usuario # Remove o usuário e seu diretório home.
zenity --info --text="Usuário '$usuario' removido com sucesso!"
Menu
else
userdel $usuario # Remove o usuário e mantém seu diretório home.
zenity --info --text="Usuário '$usuario' removido com sucesso!"
Menu
fi
}
Menu