Administração de Usuários
Publicado por Edersom 26/11/2004
[ Hits: 9.868 ]
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
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
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
Desempenho abaixo do esperado - travadas e congelamento do sistema ope... (4)
Bash ao invés de Fish no CachyOS (1)
Linux rodando do hd externo ou ssd? (4)
[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