Administraçăo de Usuários
Publicado por Messias Manoel da Silva Junior 14/07/2009
[ Hits: 9.115 ]
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
Free VPN - download de VPNs do vpnbook.com
Limitando largura de banda com o CBQ
Enviar e visualizar Twitter no terminal
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalaçăo de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









