Administração de Usuários

Publicado por Edersom 26/11/2004

[ Hits: 9.868 ]

Download manut.zip




Script criado, inicialmente, para auxiliar na manutenção dos usuários em um servidor NIS, onde qualquer pessoa posia adicionar um usuário. mesmo  não conhecendo o linux, mas eu transformei ele em um script de manutenção de usuários bem simples, com as funcionalidades básicas (adicionar e remover usuários).

Ele é todo feito usando a ferramenta Dialog, que deixa o script com uma carinha mais amigável.

  



Esconder código-fonte

#!/bin/bash
#
# SCRIPT: manut.sh
# AUTOR: EDERSOM ANGELO DA SILVA (maxmaxine@pop.com.br)
# DATA 26/11/2004
# REV: 1.1.0p
# PLATAFORMA: Linux (para Slackware deve ser modificado)
#
# FINALIDADE: 
#    AUXILIAR NA MANUTENÇÃO DE USUÁRIOS 
#   
#
# LISTA DE REVISÃO:
#   DATA:
#   POR:
#   MODIFICAÇÃO:
#
# LICENÇA: GLP
#
# 
# set -n   #Tire o comentário para verificar a sintaxe
#      #Sem executar o Script
# set -x   #Retire o comentário para depurar o script (apenas com ksh (korn shell))
#
########################################### 
#### AQUI ESTAO INDICADAS AS VARIAVEIS ####
###########################################

ESCOLHA_MENU=menu
DIALOG=${DIALOG=dialog}
BACK=${BACK=Tux o Pinguim Selvagem}
TITU=${TITU=Sistema Para Manutenção de Usuários}
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
passwd=`tempfile 2>/dev/null` || passwd=/tmp/test$$
user=`tempfile 2>/dev/null` || user=/tmp/user$$

trap "rm -f $tempfile" 0 1 2 5 15

########################################
####         INICIO DE MAIN         ####
########################################

while :
do
# 
 case $ESCOLHA_MENU in

    menu)

$DIALOG                                                                                  \
   --cancel-label "SAIR"                                                            \
   --clear                                                                          \
   --title "$TITU"                                                                  \
   --backtitle "$BACK"                                                              \
   --menu " \n\
Data: `date` \n\
A ultima opçao escolhida foi: $ESCOLHA_MENU \n\
Escolha uma das opçoes abaixo: \n\n\
 
        " 24 68 8                                                                        \
        "Au" "Adicionar Usuário"                                                         \
        "Ru" "Remover usuário"                                                           \
   "Lu" "Listar usuários logados (inútil mas interessante"                          \
        "Qu" "Sair" 2>$tempfile

retval=$?

case $retval in
        1) exit 0
   ;;
esac


ESCOLHA_MENU=`cat $tempfile`

                                                                                         ;;
#-------------------------------------------------------------------------------------------------------------------------------
#Adiciona Usuário
   Au)
   $DIALOG                                                                          \
   --no-cancel                                                                      \
   --backtitle "$BACK"                                                              \
   --title "$TITU"                                                                  \
   --inputbox                                                                       \
   "Insira o nome para o qual deseja adicionar o usuário" 0 0 2>$user
retval=$?

if ["$retval" != 0 ]
then
ESCOLHA_MENU=menu
else

   $DIALOG                                                                          \
   --backtitle "$BACK"                                                              \
   --title "$TITU"                                                                  \
   --passwordbox                                                                    \
   "Insira a senha para o usuário `cat $user`" 0 0 2>$passwd
   retval=$?
   if [ "$retval" == 0 ]
   then
 


      #cria o usuário 
      adduser `cat $user`
      echo `cat $passwd` | passwd `cat $user` --stdin
      
#       cd /var/yp;make #Atualiza a lista de usuários no servidor NIS
      ESCOLHA_MENU="menu"
   else
      ESCOLHA_MENU="menu"
   fi

fi

                                                                                          ;;

#-------------------------------------------------------------------------------------------------------------------------------
# Remove usuário
    Ru)
   $DIALOG                                                                          \
   --no-cancel                                                                      \
   --backtitle "$BACK"                                                              \
   --title "$TITU"                                                                  \
   --inputbox                                                                       \
   "Digite o loguim do usuário a ser removido" 0 0 2>$user

if [ "$?" == 0 ]
then


   userdel -r `cat $user`
#    cd /var/yp;make
#    groupdel $user
#    cd /var/yp;make
      
      $DIALOG                                                                  \
      --backtitle "$BACK"                                                      \
      --title "$TITU"                                                          \
      --msgbox                                                                 \
      "Usuário removido com êxitto (eu acho =D)" 0 0 2>$user
      ESCOLHA_MENU=menu
else

   ESCOLHA_MENU=menu

fi
                                                                                          ;;

#-------------------------------------------------------------------------------------------------------------------------------
# Exibe usuários Logados
   Lu)
w >$user
user1=`cat $user`

   $DIALOG                                                                          \
   --backtitle "$BACK"                                                              \
   --title "$TITU"                                                                  \
   --textbox                                                                        \
   "$user" 0 0 
ESCOLHA_MENU=menu
                                                                                          ;;

#-------------------------------------------------------------------------------------------------------------------------------
# Sai do sistema

    Qu)
   exit 0
   ;;
   
 esac
done

Scripts recomendados

Salvaguardando configurações.

PS com gráficos por processo

Script que identifica na rede a existência de duplicidades de IPs e MACs que utilizam mais de um IP

Backup Automatizado (atualizado)

Verificação e otimização do banco de dados MySQL


  

Comentários
[1] Comentário enviado por schrodinger em 22/09/2014 - 10:08h

Muito bom!!! Muito bom mesmo, para quem tem um servidor que contém muitos usuários é muito últil!!!
vlw Edersom!!!

[2] Comentário enviado por edersomangelo em 22/09/2014 - 10:11h

kkkk, Valeu
Ate deu vontade de atualizar ele com os meus conhecimentos atuais. eu escrevi esse script em 2004, quando ainda era um curioso nem mesmo programador eu era kkkk
vou estudar ele melhorar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts