Gerenciador de contas de usuários
Publicado por rafael silveira gomes (última atualização em 25/04/2014)
[ Hits: 7.040 ]
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 }
Baixe e converta um vídeo do Youtube (download e convert)
Manipular um arquivo txt como se fosse uma planilha de calculo
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
problemas com artefatos na instalação (30)
Manjaro Substituindo Ubuntu no Desktop (14)
Dificuldade em ler binário (18)
Encriptografa... as particoes com LUKS, o que poderia dar errado? (4)