Gerenciador de contas de usuários
Publicado por rafael silveira gomes (última atualização em 25/04/2014)
[ Hits: 7.022 ]
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 }
Script para converter um diretório de arquivos em mp3 para ogg.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Gentoo bane contribuições de código feitas com IA (7)
Todo erro sempre gera um acerto... (11)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba