Administraçăo de Usuários
Publicado por Messias Manoel da Silva Junior 14/07/2009
[ Hits: 8.810 ]
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
Script para controle do Squid e firewall
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituiçăo
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automaçăo de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas ŕs imagens de uma pasta