Gerenciamento de usuários e mais algumas coisas...

Assuntos relacionados com programação e script.
Regras do fórum Leia as Regras Gerais do Manjaro Brasil em "Normatividade" e pesquise antes de postar.

Gerenciamento de usuários e mais algumas coisas...

Mensagempor pactux » 07 Fev 2016, 00:12  •  MS 1

Olá a todos,

Em uma de minhas aventuras como estudante de TI, me deparei com uma atividade que se tornou muito repetitiva para mim e acredito que também possa ser para muitas pessoas que estiverem lendo esse tópico. Me refiro a gerenciamento de usuários.

Para me poupar alguns segundos e até estimular pessoas que não conheçam esse procedimento a fazê-lo, escrevi algumas linhas para automatizar essa tarefa.

Abaixo compartilho esse conhecimento com vocês, pois creio que muitas pessoas também passam por esse tipo de situação e não tem algo automatizado para isso. :(

Obs: Não é preciso instalar pacote algum, pois o que escrevi está em Shell Script. Tudo que tens a fazer é dar permissão de execução ao arquivo e ser feliz, ou se preferir, guarde-o no diretório /usr/local/bin/ para facilitar a execução no terminal.

Código: Selecionar todos
#!/bin/bash

# puseradd - Pactux User Add - By pactux
# Licence: GPLv3+ <http://gnu.org/licenses/gpl.html>
# You're free to use and modify it

if [[ $EUID -ne 0 ]]; then
   printf "\nPermissao negada. Utilize sudo\n\n"
   exit 1
fi

function p_add {
   useradd -mg $2 $1

   if [[ $? -eq 6 ]] || [[ $? -eq 9 ]]; then
      echo "Impossivel criar usuario. Verifique o usuario e grupo fornecido"
      return 1
   fi
}

function p_rm {
   read -p "Deletar diretorio do usuario? [s/n]: " sn

   if [[ $sn = "s" ]]; then
      userdel -r $1
   else
      userdel $1
   fi
}

function p_ans {
   if [[ $1 -eq 0 ]]; then
      echo "Acao executada com sucesso"
   else
      echo "Erro ao executar acao"
   fi
}

trap "printf '\n\nUtilize a opcao Sair do menu\n'" SIGINT SIGTERM

PS3="Selecione uma opcao: "
menu=("Adicionar usuario" "Remover usuario" "Alterar senha" "Criar grupo" "Remover grupo" "Sair")
sair="${#menu[@]}"

printf "\n*** puseradd - Menu ***\n\n"

select opcao in "${menu[@]}"; do
   case $REPLY in
      1)
         read -p "Nome do usuario: " add_usuario && read -p "grupo: " grupo
         p_add $add_usuario $grupo
         p_ans $?;;

      2)
         read -p "Nome do usuario: " rm_usuario
         p_rm $rm_usuario
         p_ans $?;;

      3)
         read -p "Nome do usuario: " pass_usuario
         passwd $pass_usuario;;

      4)
         read -p "ID do grupo: " id_grupo && read -p "Nome do grupo: " grupo
         groupadd -g $id_grupo $grupo
         p_ans $?;;

      5)
         read -p "Nome do grupo: " rm_grupo
         groupdel $rm_grupo
         p_ans $?;;

      $sair)
         exit 0;;

      *)
         printf "\nOpcao invalida\n\n";;
   esac
done


Explicação rápida: O algoritmo realiza um simples gerenciamento dos usuários contidos no sistema e o manuseio do mesmo é extremamente simplificado, pois como disse acima, até pessoas que não conhecem podem usar com facilidade.

Exemplo de uso:
Código: Selecionar todos
# ./puseradd.sh


Além do código postado aqui, possuo outros "ajudantes" que escrevi e estão em um repositório que criei no GitHub. Se quiserem utiliza-los no cotidiano de vocês (ou apenas estudar Shell Script) fiquem a vontade.

Valeu.
Editado pela última vez por pactux em 16 Set 2016, 16:02, em um total de 1 vez.
Razão: Melhoria no algoritmo e texto.
Pactux - Manjaro Linux
https://github.com/pactux

Esta mensagem de pactux foi agradecido - 3
ale70 (07 Fev 2016, 19:49) • Holmes (07 Fev 2016, 08:59) • pagani (07 Fev 2016, 09:12)
Avatar do usuário
pactux
Aprendiz

 
Mensagens: 24
Artigos: 5
Registro: 09 Jun 2015, 02:55
Agradeceu: 0 vez
Agradecido: 19 vez(es)
Distro utilizada: Manjaro Linux
Versão: 17.1.8
Ambiente: Gnome
Repositório: Stable
Habilidade: Novice

Gerenciamento de usuários e mais algumas coisas...

Mensagempor Holmes » 07 Fev 2016, 08:59  •  MS 2

parabéns @pactux por compartilhar com a comunidade e com certeza será últil!

vlw fwi, Holmes :)
Imagem

Meu Blog Kibojoe I Manjaro I JWM I Outras Coisas...

Visitem e colaborem com nosso Knowledge Base
Leia as Regras Gerais e pesquise antes de postar
Se a sua dúvida foi respondida marque Resolvido em seu tópico com o botão V na cor verde
Avatar do usuário
Holmes
Fundador

Mantenedor Kibojoe Linux
Mantenedor Kibojoe Linux
 
Mensagens: 5472
Artigos: 56
Registro: 30 Set 2012, 21:00
Localização: Brasil
Agradeceu: 173 vez(es)
Agradecido: 812 vez(es)
Distro utilizada: Kibojoe Linux
Versão: 18.02
Ambiente: JWM
Repositório: Stable
Habilidade: Intermediate

Gerenciamento de usuários e mais algumas coisas...

Mensagempor pagani » 07 Fev 2016, 09:12  •  MS 3

Valeu.
Imagem
Leia as Regras Gerais e pesquise antes de postar
Se a sua dúvida foi respondida marque Resolvido em seu tópico com o botão V na cor verde
Key ID: 37042A86
Avatar do usuário
pagani
Guru

 
Mensagens: 972
Artigos: 11
Registro: 31 Jan 2014, 14:36
Agradeceu: 9 vez(es)
Agradecido: 171 vez(es)
Distro utilizada: manjaro
Versão: 16.06
Ambiente: xfce
Repositório: testing
Habilidade: Intermediate

Gerenciamento de usuários e mais algumas coisas...

Mensagempor ale70 » 07 Fev 2016, 21:35  •  MS 4

bacana esse script ;)
ale70
Aprendiz

 
Mensagens: 64
Registro: 07 Jan 2016, 23:10
Agradeceu: 29 vez(es)
Agradecido: 4 vez(es)
Distro utilizada: .
Versão: .
Ambiente: .
Repositório: .
Habilidade: .

Gerenciamento de usuários e mais algumas coisas...

Mensagempor chewbacca » 09 Fev 2016, 10:16  •  MS 5

muito bom
Avatar do usuário
chewbacca
Membro

 
Mensagens: 124
Registro: 23 Dez 2015, 22:49
Agradeceu: 2 vez(es)
Agradecido: 7 vez(es)
Distro utilizada: Manjaro
Versão: 15.12
Ambiente: XFCE
Repositório: Capella
Habilidade: Intermediate


Tópicos Semelhantes Estatísticas Última mensagem

Atualizei meu Kernel e meu GRUB EFI não inicia mais.

por sergiogbrox » 19 Jul 2020, 17:08

Respostas: 2

Exibições: 275

25 Ago 2020, 20:47

por tioguda Ver última mensagem

Voltar para Programação e Scripts



Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

cron
^ Voltar ao Topo