Administração de Usuários
Publicado por Edersom 26/11/2004
[ Hits: 10.104 ]
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.
#!/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
Gerenciador de Usuários com dialog (Active Directory + Dialog)
Script de instalação do Xorg 7.2 modificado para processadores AMD64
bookmaker.bash: Script para imprimir livros com 4 páginas em uma folha
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









