Administraçăo de Usuários
Publicado por Messias Manoel da Silva Junior 14/07/2009
[ Hits: 8.979 ]
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
Monitorando processo do Squid em diferentes redes
Unificando arquivos de bloqueio e liberaçăo no squid
slacklibre - Seu Slackware 100% Livre
Instalando e configurando o AIDE em 15 minutos
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (5)
E aí? O Warsaw já está funcionando no Debian 13? (2)
Dúvidas sobre a originalidade de conteúdos online (12)