Administraçăo de Usuários
Publicado por Messias Manoel da Silva Junior 14/07/2009
[ Hits: 9.047 ]
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
Alterando resoluçăo de monitor externo
Registar automáticamente o dns de uma maquina no DNS via DHCP
Automatizar a instalaçăo do IRPF no Linux
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









