del_user - cuida dos 4 passos para remover um usuário do sistema
Publicado por Pedro Fernandes (última atualização em 18/03/2020)
[ Hits: 1.636 ]
Homepage: https://github.com/PedroF37
Cuida dos 4 passos necessários para remover um usuário do sistema.
passo 1 - pegar o nome correto do usuário
passo 2 - parar os processos que pertencem ao usuário
passo 3 - determinar todos os arquivos no sistema que pertencem ao usuário
passo 4 - deletar a conta do usuário
Tem que ser root.
#!/bin/bash # # # ------------------------------------------------------------- # # # # del_user Cuida dos 4 passos precisos # para remover um usuário do # sistema. # # passo 1 - pegar o nome correto do usuário # passo 2 - parar os processos que pertencem # ao usuáruio # passo 3 - determinar todos os arquivos no # sistema que pertencem ao usuário # passo 4 - deletar a conta do usuário # # # autor pedro fernandes # email pedrobfernandes@protonmail.com # # # ------------------------------------------------------------- # # # # Parametros # # REGISTRO=/etc/passwd # # # ------------------------------------------------------------- # # # # Funcoes # # function rem_process { # # clear echo "Parando processos..." # # local process="$(ps -u ${correto%%:*} --no-heading | \ gawk '{print $1}')" # # for num in $(echo "$process") do kill -9 $num done # # echo "Processos parados..." echo "Prosseguindo..." } # # function find_process { # # processos=$(ps -u ${correto%%:*}) num_processos=$(echo "$processos" | wc -l) # # clear if [ -z "$processos" ] then echo "Usuário não tem processos ativos." else echo "Encontramos ${num_processos} processos ativos." echo "Processos são os seguintes:" sleep 2 clear echo "$processos" echo echo -n "Deseja parar estes processos: [s\n]: " read escolha # # case $escolha in s|S|sim|SIM|Sim|sIm|SIm|sIM) rem_process ;; *) echo "Parando o script..." exit ;; esac fi } # # function correct_account { # # correto=$(grep -w $RESPOSTA $REGISTRO) # # if [ -z $correto ] then clear echo "Usuário[a] $RESPOSTA não existe" >&2 echo "ou já foi removido[a] do sistema." >&2 echo "Abortando o script..." exit 1 else clear echo -e "Foi encontrado o seguinte registro em $REGISTRO:\n" echo -e "${correto}\n" echo -n "Confirma que o nome está correto? [s\n]: " read confirma # # case $confirma in s|S|sim|SIM|Sim|sIm|SIm|sIM) find_process ;; *) echo "Abortando o script..." exit ;; esac fi } # # function pega_resposta { # # local count=0 # # clear while [ -z $RESPOSTA ] do count=$(($count + 1)) # # case $count in 2) echo echo "Por favor responda..." echo ;; 3) echo echo "Mais uma tentativa." echo "Responda á pergunta..." echo ;; 4) echo echo "Uma vez que se recusa a responder" echo "irei abortar o script." echo exit ;; esac # # echo "Digite o nome do usuário[a]" echo -n "que deseja remover do sistema: " read -t 60 RESPOSTA done # # if [ -n $RESPOSTA ] then correct_account fi } # # # ------------------------------------------------------------- # # # # Principal # # if [ $UID -ne 0 ] then echo "${0##*/}: tem que ser root para rodar o script" >&2 exit 1 fi # # pega_resposta # # echo -e "Criando relatório de arquivos pertencentes a ${correto%%:*}\n" # # echo "É recomendado fazer backup/arquivamento" echo -e "e de seguida fazer uma de duas coisas:\n" echo " 1) apagar os arquivos" echo -e " 2) mudar a propriedade dos arquivos para uma conta atual\n" # # Report_Date=$(date +%d%m%y) Report_File="${correto%%:*}_arquivos_${Report_Date}" # # echo "Aguarde enqunto procuramos" echo "por arquivos pertencentes" echo -e "ao usuário[a]....\n" # # find / -user "${correto%%:*}" > $Report_File 2> /dev/null # # echo "Relatorio completo." echo "Nome do relatório: $Report_File" echo -e "Local do relatório: $PWD\n\n" # # userdel "${correto%%:*}" # # echo "Conta de usuário[a], ${correto%%:*}, foi removida." # # exit
Configurar usuarios samba na boa sem dor de cabeça em modo texto
Baixar STREAMS MMS://, RTS:// e Outros...
Script para desinstalação Gerix Wi-fi Cracker no Kali Linux
Configurar gateway e servidor DNS com dialog
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (1)
VMs e Interfaces de Rede desapareceram (13)
Como abrir o pycharm no linux [RESOLVIDO] (4)