Administraçăo de Usuários

Publicado por Messias Manoel da Silva Junior 14/07/2009

[ Hits: 8.729 ]

Download t.sh




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.

  



Esconder código-fonte

#!/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



Scripts recomendados

Firewall Drop

Limpeza de Cache no Squid

Pequeno, simples mas interessante chat desenvolvido totalmente em shell script.

Script para autenticar usuario ip fixo speedy

Iniciar firewall quando houver rede habilitada (Internet)


  

Comentários
[1] Comentário enviado por Lisandro em 14/07/2009 - 07:33h

Năo testei, mas a leitura do Script está fácil, bem comentado e clean. Muito bom para aprender. Parabéns.

[2] Comentário enviado por juniormj em 14/07/2009 - 11:00h

Obrigado, Lisandro.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts