Como excluir um usuário no Linux (e remover todos os rastreios)
Fatmawati Achmad Zaenuri / Shutterstock
A exclusão de um usuário no Linux envolve mais do que você pensa. Se você é um administrador de sistema, deseja limpar todos os traços da conta e seu acesso a partir de seus sistemas. Mostraremos as etapas a serem tomadas.
Se você deseja excluir uma conta de usuário do seu sistema e não está preocupado em encerrar os processos em execução e outras tarefas de limpeza, siga as etapas em "Excluindo a conta de usuário" ” seção abaixo. Você precisará do comando deluser em distribuições baseadas no Debian e do comando userdel em outras distribuições Linux.
Contas de usuário no Linux
Desde que os primeiros sistemas de compartilhamento de tempo apareceram no início dos anos 60 e trouxeram consigo a capacidade de vários usuários trabalharem em um único computador, houve a necessidade de isolar e compartimentar os arquivos e dados de cada um. usuário de todos os outros usuários. E assim nasceram as contas de usuário e as senhas.
As contas de usuário têm uma sobrecarga administrativa. Eles precisam ser criados quando o usuário precisa acessar o computador pela primeira vez. Eles precisam ser removidos quando esse acesso não é mais necessário. No Linux, há uma sequência de etapas que devem ser seguidas para remover correta e metodicamente o usuário, seus arquivos e sua conta do computador.
Se você é o administrador do sistema, essa responsabilidade é sua. Aqui está como fazê-lo.
Nosso cenário
Há vários motivos pelos quais uma conta pode precisar ser excluída. Um membro da equipe pode estar mudando para uma equipe diferente ou deixando a empresa completamente. A conta pode ter sido configurada para uma colaboração de curto prazo com um visitante de outra empresa. As equipes são comuns na academia, onde os projetos de pesquisa podem abranger departamentos, diferentes universidades e até entidades comerciais. Na conclusão do projeto, o administrador do sistema deve executar as tarefas domésticas e remover contas desnecessárias.
O pior cenário é quando alguém sai sob uma nuvem por causa de uma contravenção. Tais eventos geralmente acontecem repentinamente, com pouco aviso prévio. Isso dá ao administrador do sistema muito pouco tempo para planejar e uma urgência para bloquear, fechar e excluir a conta, com uma cópia dos arquivos do usuário copiados, caso sejam necessários para qualquer perícia pós-fechamento .
Em nosso cenário, fingiremos que um usuário, Eric, fez algo que justifica sua remoção imediata das instalações. Neste momento, ele não sabe disso, ele ainda está trabalhando e efetuou login. Assim que você der um sinal de segurança, ele será escoltado do prédio.
Tudo está definido. Todos os olhos estão em você.
Verifique o login
Vamos ver se ele realmente está logado e, se ele estiver, com quantas sessões ele está trabalhando. O comando who listará as sessões ativas.
quem
Eric está logado uma vez. Vamos ver quais processos ele está executando.
Revendo os processos do usuário
Podemos usar o comando ps para listar os processos que este usuário está executando. A opção -u (usuário) nos permite dizer ao ps para restringir sua saída aos processos em execução sob a propriedade dessa conta de usuário.
ps-u eric
Podemos ver os mesmos processos com mais informações usando o comando top. top também possui uma opção -U (usuário) para restringir a saída aos processos pertencentes a um único usuário. Note que desta vez é uma letra maiúscula "U". ”
top -U eric
Podemos ver o uso da memória e da CPU de cada tarefa e procurar rapidamente qualquer coisa com atividade suspeita. Estamos prestes a matar à força todos os seus processos, por isso é mais seguro reservar um momento para revisar rapidamente os processos e verificar e garantir que outros usuários não serão incomodados quando você encerrar a conta de usuário eric. ; processos s.
Não parece que ele está fazendo muito, apenas usando menos para visualizar um arquivo. Estamos seguros para prosseguir. Mas antes de matarmos seus processos, congelaremos a conta bloqueando a senha.
RELACIONADO: Como usar o comando ps para monitorar processos Linux
Bloqueando a conta
Bloquearemos a conta antes de matar os processos, porque quando os matarmos, o usuário será desconectado. Se já alteramos sua senha, ele não poderá fazer login novamente.
As senhas criptografadas do usuário são armazenadas no arquivo / etc / shadow. Você normalmente não se incomodaria com essas próximas etapas, mas para poder ver o que acontece no arquivo / etc / shadow quando você bloqueia a conta, faremos um pequeno desvio. Podemos usar o seguinte comando para examinar os dois primeiros campos da entrada da conta de usuário eric.
sudo awk -F: '/ eric /' / etc / shadow
O comando awk analisa campos de arquivos de texto e, opcionalmente, os manipula. Estamos usando a opção -F (separador de campo) para informar ao awk que o arquivo usa dois pontos ” : ” para separar os campos. Vamos procurar uma linha com o padrão "eric" ” iniciar. Para linhas correspondentes, imprimiremos o primeiro e o segundo campos. Estes são o nome da conta e a senha criptografada.
A entrada da conta de usuário eric é impressa para nós.
Para bloquear a conta, usamos o comando passwd. Usaremos a opção -l (lock) e passaremos o nome da conta do usuário para bloquear.
sudo passwd -l eric
Se verificarmos novamente o arquivo / etc / passwd, veremos o que aconteceu.
sudo awk -F: '/ eric /' / etc / shadow
Um ponto de exclamação foi adicionado ao início da senha criptografada. Ele não substitui o primeiro caractere, apenas foi adicionado ao início da senha. Isso é tudo o que é necessário para impedir que um usuário possa fazer login nessa conta.
Agora que impedimos que o usuário efetue login novamente, podemos matar seus processos e desconectá-lo.
Matando os processos
Existem diferentes maneiras de eliminar os processos de um usuário, mas o comando mostrado aqui está amplamente disponível e é uma implementação mais moderna do que algumas das alternativas. O comando pkill encontrará e mata processos. Estamos transmitindo o sinal KILL e usando a opção -u (usuário).
sudo pkill -KILL -u eric
Você retornou ao prompt de comando de uma maneira decididamente anticlimática. Para garantir que algo aconteceu, vamos verificar quem de novo:
quem
A sessão dele se foi. Ele foi desconectado e seus processos foram interrompidos. Isso tirou parte da urgência da situação. Agora podemos relaxar um pouco e continuar com o resto da limpeza enquanto a segurança caminha até a mesa de Eric.
RELACIONADO: Como eliminar processos do terminal Linux
Arquivando o diretório pessoal do usuário
Não está fora de questão que, em um cenário como esse, o acesso aos arquivos do usuário seja necessário no futuro. Como parte de uma investigação ou simplesmente porque sua substituição pode precisar se referir ao trabalho de seu antecessor. Nós usaremos o comando tar para arquivar todo o diretório pessoal.
As opções que estamos usando são:
- c: crie um arquivo morto.
- f: use o nome de arquivo especificado para o nome do arquivo morto.
- j: use a compactação bzip2.
- v: forneça saída detalhada à medida que o arquivo morto é criado.
sudo tar cfjv eric-20200820. tar. bz / home / eric
Muitas saídas de tela rolam na janela do terminal. Para verificar se o arquivo morto foi criado, use o comando ls. Estamos usando as opções -l (formato longo) e -h (legível por humanos).
ls -lh eric-20200802. tar. bz
Um arquivo de 722 MB foi criado. Isso pode ser copiado em algum lugar seguro para revisão posterior.
Removendo tarefas cron
É melhor verificarmos se existem trabalhos agendados para a conta de usuário eric. Uma tarefa cron é um comando que é acionado em horários ou intervalos especificados. Podemos verificar se há algum trabalho agendado para esta conta de usuário usando ls:
sudo ls -lh / var / spool / cron / crontabs / eric
Se houver algo nesse local, significa que há trabalhos cron na fila para essa conta de usuário. Podemos excluí-los com este comando crontab. A opção -r (remover) remove os trabalhos e a opção -u (usuário) informa ao crontabqualquer trabalho a remover.
sudo crontab -r-u eric
Os trabalhos são excluídos silenciosamente. Pelo que sabemos, se Eric suspeitava que estava prestes a ser despejado, ele poderia ter agendado um trabalho malicioso. Esta etapa é uma prática recomendada.
Removendo trabalhos de impressão
Talvez o usuário tenha trabalhos de impressão pendentes? Só para garantir, podemos limpar a fila de impressão de qualquer trabalho pertencente à conta de usuário eric. O comando lprm remove os trabalhos da fila de impressão. A opção -U (nome de usuário) permite remover trabalhos pertencentes à conta de usuário nomeada:
lprm -U eric
Os trabalhos são removidos e você retorna à linha de comando.
Excluindo a conta do usuário
Já fizemos backup dos arquivos do diretório / home / eric /, para que possamos excluir a conta do usuário e excluir o diretório / home / eric / ao mesmo tempo.
O comando a ser usado depende de qual distribuição do Linux você está usando. Para distribuições Linux baseadas no Debian, o comando é deluser e, para o resto do mundo Linux, é userdel.
Na verdade, no Ubuntu, ambos os comandos estão disponíveis. Eu meio que esperava que um fosse um pseudônimo do outro, mas eles são binários distintos.
delusor do tipo
digite userdel
Embora ambos estejam disponíveis, a recomendação é usar as distribuições derivadas do Debian:
O userdel é um utilitário de baixo nível para remoção de usuários. No Debian, os administradores geralmente devem usar o deluser (8). ”
Isso é claro o suficiente, então o comando a ser usado neste computador Ubuntu é delusor. Como também queremos que o diretório inicial seja removido, estamos usando o sinalizador --remove-home:
sudo deluser --remove-home eric
O comando a ser usado para distribuições não-Debian é userdel, com o sinalizador --remove:
sudo userdel --remove eric
Todos os rastreamentos da conta de usuário eric foram apagados. Podemos verificar se o diretório / home / eric / foi removido:
ls / home
O grupo eric também foi removido porque a conta de usuário eric era a única entrada nele. Podemos verificar isso facilmente, canalizando o conteúdo do / etc / group através do grep:
sudo menos / etc / group | grep eric
É um envoltório
Eric, por seus pecados, se foi. A segurança ainda o leva para fora do prédio e você já protegeu e arquivou seus arquivos, excluiu sua conta e eliminou o sistema de qualquer resíduo.
A precisão sempre supera a velocidade. Certifique-se de considerar cada etapa antes de executá-la. Você não quer alguém caminhando até sua mesa e dizendo: "Não, o outro Eric."
Via: How to Geek
Nenhum comentário