Script para manutenção de usuários -- versão 2
June 14th, 2008 | by Gustavo Lichti |Em janeiro postei um script que eu fiz em sala de aula com os alunos, agora em uma nova turma, incrementamos ele, não deu tempo de terminar tudo em sala e eu fiquei de terminar e postar aqui. Ficou bem legal, a nova versão esta baseada em dialog.
Veja o script a baixo
#!/bin/bash
#
# Script Manutenção de Usuários
# Versão: 2.0
#
# Gustavo Lichti
# gustavo.lichti@gmail.com
#
add(){
nome=$(dialog --stdout --title 'Criar novo usuário' \
--inputbox 'Digite o login…' 0 0 ) && \
senha=$(dialog --stdout --title 'Criar novo usuário'\
--passwordbox 'Digite a senha…' 0 0 )
if [ $? = '0' ]; then
useradd $nome && echo "$nome:$senha" | chpasswd -m
fi
menu
}
rmu(){
nome=$(dialog --stdout --title 'Remoção de usuário'\
--menu 'Escolha o usuário…'\
0 40 10 $(cat /etc/passwd | cut -d: -f1,3 | tr : ' ' ))
if [ $? = '0' ]; then
userdel $nome
fi
menu
}
asenha(){
nome=$(dialog --stdout --title 'Alteração de senha' \
--menu 'Escolha o usuário…' 0 40 10\
$(cat /etc/passwd | cut -d: -f1,3 | tr : ' ' )) && \
senha=$(dialog --stdout --title 'Criar novo usuário'\
--passwordbox 'Digite a senha…' 0 0 )
if [ $? = '0' ]; then
echo "$nome:$senha" | chpasswd -m
fi
menu
}
lsu(){
dialog --title 'Lista de usuários' --msgbox \
"$(cat /etc/passwd | cut -d: -f1 | less)" 15 40
menu
}
menu(){
clear
op=$(dialog --stdout --nocancel --title 'Administração de usuários'\
--menu 'Escolha uma opção' 0 0 0 1 'Adicionar usuário'\
2 'Remover usuário'\
3 'Listar usuários'\
4 'Alterar senha'\
5 'sair' )
case $op in
'1') add;;
'2') rmu;;
'3') lsu;;
'4') asenha;;
'5') exit 0;;
*) menu;;
esac
}
menu
Tags: Bash, dialog, Linux, Shell Script



