Administração de Usuários
Publicado por Edersom 26/11/2004
[ Hits: 10.108 ]
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
Manutenção básica em partições Linux
Verificação e otimização do banco de dados MySQL
Backup do banco de dados Postgresql
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?
\Boot sem espaço em disco (Fedora KDE Plasma 42) (3)
Programa fora de escala na tela do pc (38)
Mint Xfce não mantém a conexão no wi-fi (2)









