Administração de Usuários
Publicado por Messias Manoel da Silva Junior 14/07/2009
[ Hits: 8.961 ]
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
Otimiza.sh - Atualiza seu Ubuntu/Debian
Verifica quais ports necessitam de atualização
Script de Instalação Zabbix Server - Debian
tuiteroPreguicoso1.0 - automatiza o envio de mensagens ao Twitter
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (2)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)