Gerenciador de contas de usuários
Publicado por rafael silveira gomes (última atualização em 25/04/2014)
[ Hits: 7.154 ]
No anexo está salvo como um único arquivo pois só é possível fazer upload de um arquivo.
Baixando do anexo funciona sem alterar nada.
Mas caso queiram utilizar em dois arquivos (para ficar mais organizado e melhor de entender), copiem o texto abaixo:
A primeira parte pode ter qualquer nome.
A segunda parte deve chamar-se "funcoes.sh", caso queiram mudar o nome deve ser alterado também na importação da primeira parte onde está escrito:
"source funcoes.sh"
Altere de acordo com o nome que queira dar à segunda parte.
Arquivo principal: #!/bin/bash # Criado por: Rafael S. Gomes 16-03-2014 # GERENCIADOR DE USUARIOS # MENU PRINCIPAL source funcoes.sh menu() { clear echo " Gerenciador de usuarios" echo echo "Escolha a opção desejada: " echo echo "1 - Criar novo usuario." echo "2 - Criar novo grupo." echo "3 - Adicionar um usuario existente a um grupo." echo "4 - Criar um usuario e adicioná-lo a um grupo." echo "5 - Remover um usuario." echo "6 - Remover um grupo." echo "7 - Informações sobre um determinado usuario." echo "8 - Modificar informações de um determinado usuario." echo "9 - Configurar a data da última modificação da senha de um usuario." echo "10 - Configurar quantidade min. de dias para um usuario mudar a senha." echo "11 - Configurar quantidade max. de dias para um usuario mudar a senha." echo "12 - Configurar quantidade de dias para o aviso de alteração de senha." echo "13 - Configurar dias para desativação do usuario (após expiração da senha)." echo "14 - Mostrar as configurações de senha de um determinado usuario." echo "15 - Mostrar grupos que um determinado usuario participa." echo "16 - Modificar o grupo proprietario de um determinado arquivo." echo "17 - Modificar o usuario proprietario de um determinado arquivo." echo "0 - Sair." read opt return } escolha() { case $1 in 1) novoUsuario;; 2) novoGrupo;; 3) usuarioEmGrupo;; 4) novoUsuarioEmGrupo;; 5) removeUsuario;; 6) removeGrupo;; 7) infoUsuario;; 8) modInfoUsuario;; 9) confLastModKey;; 10) confMinModKey;; 11) confMaxModKey;; 12) confWarnModKey;; 13) confDesativUsuario;; 14) listKeyInfo;; 15) gruposDoUsuario;; 16) grupoProprietario;; 17) usuarioProprietario;; 0) clear;exit;; *) echo "Opção inválida!";; esac return } clear echo "*** Este script requer privilégios de super usuario" echo "*** Certifique-se de execute-o como #root" sleep 1 until [$opt != 0]; do clear menu escolha "$opt" read > /dev/null done clear Arquivo 2 - funcoes.sh: #!/bin/bash # Criado por: Rafael S. Gomes 16-03-2014 # FUNÇÕES DO GERENCIADOR DE USUÁRIOS # 1 # criar novo usuario novoUsuario() { clear echo "Entre com o nome do novo usuario: " read newUsuario adduser $newUsuario --home /home/$newUsuario return } # 2 # criar novo grupo novoGrupo() { clear echo "Entre com o nome do novo grupo: " read newGrupo addgroup $newGrupo return } # 3 # adicionar um usuario existente a um grupo usuarioEmGrupo() { clear echo "Entre com o nome do usuario: " read usuario echo "Entre com o nome do grupo: " read grupo adduser $usuario $grupo return } # 4 # criar novo usuario e adicioná-lo a um grupo existente novoUsuarioEmGrupo() { clear echo "Entre com o nome do novo usuario: " read newUsuario echo "Entre com o nome do grupo: " read grupo adduser $newUsuario --home /home/$newUsuario --ingroup $grupo return } # 5 # remover usuario removeUsuario() { clear echo "Entre com o nome do usuario a ser removido: " read usuario userdel -rf $usuario return } # 6 # remover grupo removeGrupo() { clear echo "Qual grupo deseja remover?" read grupo groupdel $grupo return } # 7 # mostrar informações pessoais de um usuario infoUsuario() { clear echo "Entre com o nome do usuario a ser visualizado: " read usuario clear finger $usuario return } # 8 # modificar informações pessoais de um usuario modInfoUsuario() { clear echo "Entre com o nome do usuario a ser editado: " read usuario chfn $usuario return } # 9 # Configurar data de última modificação de senha do usuario confLastModKey() { clear echo "Entre com o nome do usuario a ser editado: " read usuario echo "Entre com data da última alteração da senha feita: " echo "* Utilize o padrão DD-MM-AAAA" echo "* Ex: 01-02-2003" read data chage $usuario --lastday $data return } # 10 # Configurar a quantidade mín. de dias para troca de senha confMinModKey() { clear echo "Entre com o nome do usuario a ser editado: " read usuario echo "Entre com a quantidade mínima (em dias) para troca de senha: " read dias chage $usuario --mindays $dias return } # 11 # Configurar a quantidade max. de dias para troca de senha confMaxModKey() { clear echo "Entre com o nome do usuario a ser editado: " read usuario echo "Entre com a quantidade máxima (em dias) para troca de senha: " read dias chage $usuario --maxdays $dias return } # 12 # Configurar quantidade de dias para o aviso de alteração de senha confWarnModKey() { clear echo "Entre com o nome do usuario a ser editado: " read usuario echo "Entre com a quantidade de dias para o aviso de alteração da senha: " read dias chage $usuario --warndays $dias return } # 13 # Configurar dias para desativação do usuario (após expiração da senha) confDesativUsuario() { clear echo "Entre com o nome do usuario a ser editado: " read usuario echo "Entre com a data de desativação da conta: " echo "* Utilize o padrão DD-MM-AAAA" echo "* Ex: 01-02-2003" read data chage $usuario --expiredate $data return } # 14 # Mostrar as configurações de senha de um determinado usuario. listKeyInfo() { clear echo "Entre com o nome do usuario a ser visualizado: " read usuario clear echo "Configurações de senha do usuario: $usuario" echo chage --list $usuario return } # 15 # Mostrar grupos que um determinado usuario participa gruposDoUsuario() { clear echo "Entre com o nome do usuario a ser visualizado: " read usuario clear echo "Usuario : grupos que participa" echo groups $usuario return } # 16 # Modificar o grupo proprietario de um determinado arquivo grupoProprietario() { clear echo "Entre com o endereço absoluto do arquivo: " echo "* Ex: /home/usuario/arquivo.txt" read arquivo echo "Entre com o novo grupo proprietário do arquivo: " read grupo # utilizando o parametro -R para evitar erros caso seja informado um diretório chgrp -R $grupo $arquivo return } # 17 # Modificar o usuario proprietario de um determinado arquivo usuarioProprietario(){ clear echo "Entre com o endereço absoluto do arquivo: " echo "* Ex: /home/usuario/arquivo.txt" read arquivo echo "Entre com o novo usuário proprietário do arquivo: " read usuario # utilizando o parametro -R para evitar erros caso seja informado um diretório chown -R $usuario $arquivo return }
Filtro para importação de extrato do Banco do Brasil para Kmymoney
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
SysAdmin ou DevOps: Qual curso inicial pra essa área? (2)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[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