Administraçăo de Usuários
Publicado por Messias Manoel da Silva Junior 14/07/2009
[ Hits: 9.088 ]
Permite em modo gráfico ( kdialog ) adicionar usuário, remover usuário, listar usuários,
adicionar um usuário num grupo, listar grupos, adicionar grupos, remover grupos...
O script é todo intuitivo. Espero que gostem.
#!/bin/bash
# Autor: Messias Manoel da Silva Junior
#Script: Gerenciamento de Sistema
#Data: 15/05/2009
#
# ----- Variáveis ----
addusuario=$(which useradd)
delusuario=$(which userdel)
blqusuario=$(which passwd)
addgrupo=$(which addgroup)
remgrupo=$(which groupdel)
addusergrp=$(which gpasswd)
# ---- Tela de Boas vinda
kdialog \
--title " ------------ Seja Bem Vindo ------------ " \
--msgbox "Este script te ajudará nas tarefas de administraçăo do sistema."
while [ 1 = 1 ]; do
# ----- Exibi o menu na tela.
resultado=$(
kdialog --title "- Admin de Usuários" \
--menu " O que vocę gostaria de fazer? " \
1 "Adicionar usuário" \
2 "Remover usuário" \
3 "Bloquear usuário" \
4 "Desbloquear usuário" \
5 "Adicionar grupo" \
6 "Remover grupo" \
7 "Adicionar usuário ao grupo" \
8 "Verificar usuários existentes" \
9 "Verificar grupos existentes" \
0 "Sair" )
# --- Se for presionado CANCELAR ou ESC, sai do script
[ $? -ne 0 ] && break
case $resultado in
1)
nome=`kdialog --inputbox "Digite o nome do usuário"`
# --- Verifica se o sudo está ativo
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$addusuario -d /home/$nome -s /bin/bash $nome"
clear
kdialog --msgbox "Usuário Adicionado com Sucesso"
fi ;;
2)
kdialog --msgbox "Listando a relaçăo de usuários para vocę:"
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Lista de Usuários" \
--textbox /tmp/usuarios.txt 290 80
nomedel=`kdialog --inputbox "Digite o nome do usuário que deseja remover:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$delusuario -r $nomedel"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Usuário "$nomedel" removido com sucesso."
fi ;;
3)
kdialog --msgbox "Listando a relaçăo de usuários para vocę:"
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Lista de Usuários" \
--textbox /tmp/usuarios.txt 290 80
nomebloq=`kdialog --inputbox "Digite o nome do usuário que deseaja bloquear:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$blqusuario -l $nomebloq"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Usuário "$nomebloq" bloqueado com sucesso"
fi ;;
4)
kdialog --msgbox "Listando a relaçăo de usuários para vocę:"
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Relaçăo dos Usuários no Sistema" \
--textbox /tmp/usuarios.txt 290 80
nomedesbloq=`kdialog --inputbox "Digite o nome do usuário que deseaja desbloquear:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$blqusuario -u $nomedesbloq"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Usuário "$nomedesbloq" desbloqueado com sucesso." \
fi ;;
5)
kdialog --msgbox "Listando a relaçăo de grupos para vocę:"
awk -F : '$3 > 1000 {print"Grupo: " $1 }' /etc/group > /tmp/grupos.txt
kdialog --title "Relaçăo dos Grupos no Sistema" \
--textbox /tmp/grupos.txt 290 80
nomegrupo=`kdialog --inputbox "Digite o nome do grupo que deseaja criar: "`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo $addgrupo $nomegrupo
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Grupo "$noegrupo" adicionado com sucesso"
fi ;;
6)
awk -F : '$3 > 1000 {print"Grupo: " $1 }' /etc/group > /tmp/grupos.txt
kdialog --title "Relaçăo dos Grupos no Sistema" \
--textbox /tmp/grupos.txt 290 80
grupo=$`kdialog --msgbox "Digite o nome do grupo que deseja remover: "`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$remgrupo $GROUP"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Grupo "$regrupo" removid coom sucesso"
fi ;;
7)
# ---- Lista de usuários --------------
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
# --------------------------------------
# ---- Lista de grupos --------------
awk -F : '$3 > 1000 {print" Grupo: "$1 }' /etc/group > /tmp/grupos.txt
# ------------------------------------
# ---- Cocatenando os dois arquivos ---------
paste -d" " /tmp/usuarios.txt /tmp/grupos.txt > /tmp/cocat.txt
# -------------------------------------------
kdialog --title "Lista de usuários e grupos para vocę:" \
--textbox /tmp/cocat.txt 290 80
usergrupo=`kdialog --inputbox "Digite o nome do usuário existente que deseja adicionar no grupo:"`
grupouser=`kdialog --inputbox "Digite o nome do grupo existente que o usuário deve ser adicionado:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$addusergrp -a $usergrupo $grupouser"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Usuário "$usergrupo" adicionado no grupo "$grupouser" com sucesso"
else
kdialog --msgbox "Comando invalido."
fi ;;
8)
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Relaçăo dos Usuários no Sistema" \
--textbox /tmp/usuarios.txt 290 80 ;;
9)
awk -F : '$3 > 1000 {print"Grupo: " $1 }' /etc/group > /tmp/grupos.txt
kdialog --title "Relaçăo dos Grupos no Sistema" \
--textbox /tmp/grupos.txt 290 80 ;;
0)
break ;;
*)
kdialog -- msgbox "Cancelado" ;;
esac
done
FIREWALL COM IPTABLES - PARA INTERNET DISCADA E ADSL
Plugin do Nagios para checar disco via SNMP
CBQU - Utilitário para controle de banda de forma fácil e interativa
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - RESUMO DE MSGS COM VIRUS
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botăo "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE năo quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









