Gerenciamento de Contas de Usuário

LinuxBeginner
Pratique Agora

Introdução

Este laboratório guiará você pelas operações básicas de gerenciamento de contas de usuário em sistemas Linux. Você aprenderá a criar, modificar e excluir contas de usuário, bem como a definir e alterar senhas. Estas são habilidades fundamentais para a administração de sistemas Linux. Não se preocupe se você for novo no Linux — explicaremos tudo passo a passo!

Este é um Laboratório Guiado, que fornece instruções passo a passo para ajudar você a aprender e praticar. Siga as instruções cuidadosamente para concluir cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 87%. Ele recebeu uma taxa de avaliação positiva de 99% dos alunos.

Criando um Novo Usuário

Vamos começar criando uma nova conta de usuário chamada "joker".

  1. Abra um terminal. No Linux, o terminal é uma interface de texto onde você pode inserir comandos.
  2. Digite o seguinte comando e pressione Enter:
sudo useradd joker

Vamos detalhar o que isso faz:

  • sudo é um comando que concede privilégios temporários de superusuário (administrador). Nós o utilizamos porque a criação de um novo usuário exige essas permissões de alto nível.
  • useradd é o comando para criar um novo usuário.
  • joker é o nome de usuário que estamos criando.

Nota: Se você tentar executar este comando sem o sudo, receberá um erro de "permissão negada" (permission denied). Isso ocorre porque usuários comuns não têm permissão para criar novas contas — esta é uma tarefa reservada aos administradores do sistema.

Isso destaca a diferença entre um superusuário e um usuário comum. Como usuário comum, você não pode criar contas, mas ao usar o sudo, você eleva temporariamente seus privilégios para realizar essa tarefa administrativa.

  1. Para verificar se o usuário foi criado, examinaremos o arquivo /etc/passwd:
sudo grep -w 'joker' /etc/passwd

O arquivo /etc/passwd funciona como uma agenda de contatos para contas de usuário. Cada linha representa uma conta, com diferentes informações separadas por dois-pontos (:).

Você deverá ver uma saída semelhante a:

joker:x:5001:5001::/home/joker:/bin/sh

Esta linha mostra:

  • Nome de usuário: joker
  • Senha: x (a senha real é armazenada de forma segura em outro local)
  • ID do Usuário (UID): 5001
  • ID do Grupo (GID): 5001
  • Diretório Home: /home/joker, mas ele ainda não foi criado
  • Shell Padrão: /bin/sh

Criando um Usuário com Diretório Home

Agora, vamos criar outro usuário chamado "bob" e atribuir a ele um diretório home.

  1. Execute o seguinte comando:
sudo useradd -m bob

A opção -m instrui o sistema a criar um diretório home para o usuário. O diretório home é como uma pasta pessoal onde o usuário pode armazenar seus arquivos e configurações.

  1. Vamos verificar se o diretório home foi criado:
sudo ls -ld /home/bob

Você deverá ver uma saída semelhante a:

drwxr-x--- 2 bob bob 57 Jan 19 13:33 /home/bob

Esta saída mostra:

  • O d no início indica que é um diretório (directory)
  • drwxr-x--- mostra quem pode ler, escrever ou executar neste diretório
  • As duas entradas bob mostram que tanto o usuário quanto o grupo proprietário deste diretório é o bob
  • 57 é o tamanho do diretório em bytes
  • Jan 19 13:33 é a data e hora em que o diretório foi criado
  • /home/bob é a localização do diretório

Definindo a Senha do Usuário

Agora precisamos definir uma senha para nossos novos usuários. Vamos definir a senha para o "joker".

  1. Execute o seguinte comando:
sudo passwd joker
  1. Será solicitado que você digite a nova senha duas vezes. Para este laboratório, use uma senha simples como "password123".

Importante: A senha não será exibida enquanto você a digita. Este é um recurso de segurança do Linux para evitar que outras pessoas vejam sua senha. Se você digitar a senha errada acidentalmente, poderá tentar novamente.
Importante: Lembre-se desta senha! Você precisará dela mais adiante no laboratório.

  1. Se for bem-sucedido, você verá a mensagem "passwd: password updated successfully".

Nota: Em um cenário real, use sempre senhas fortes e exclusivas!

Nos bastidores, o Linux armazena as senhas criptografadas em um arquivo seguro chamado /etc/shadow. Isso é muito mais seguro do que armazená-las no /etc/passwd, onde qualquer pessoa poderia visualizá-las.

Modificando Propriedades do Usuário

O Linux nos permite alterar várias configurações de uma conta de usuário após ela ter sido criada. Vamos mudar o diretório home do joker como exemplo.

  1. Execute o seguinte comando:
sudo usermod -d /home/wayne joker

Eis o que isso faz:

  • usermod é o comando para modificar as configurações de conta de usuário
  • -d /home/wayne especifica o novo diretório home
  • joker é o usuário que estamos modificando
  1. Vamos verificar a alteração:
sudo grep -w 'joker' /etc/passwd

A opção -w é usada para buscar a palavra exata, e o grep é usado para procurar essa palavra no arquivo. Você deverá ver na saída que o diretório home do joker foi atualizado.

Alterando o Shell do Usuário

Outra configuração importante que podemos modificar é o shell padrão do usuário. O shell é o programa que interpreta e executa os comandos que você digita no terminal.

Por padrão, o usuário 'joker' está usando o /bin/sh. Embora o sh (Bourne Shell) seja um shell básico presente na maioria dos sistemas Unix, o bash (Bourne Again Shell) oferece mais recursos e é geralmente mais amigável ao usuário.

Alterar o shell do joker para bash traz vários benefícios:

  • Interface de linha de comando mais intuitiva
  • Recursos de script aprimorados
  • Melhores opções de personalização para o ambiente do usuário

Veja como realizar a mudança:

  1. Altere o shell padrão do joker para bash:
sudo usermod -s /bin/bash joker
  1. Verifique a alteração:
sudo grep -w 'joker' /etc/passwd

Você deverá ver /bin/bash ao final da entrada do joker. Isso significa que o bash agora é o shell padrão dele.

Após essa alteração, o joker terá acesso ao ambiente bash, muito mais rico em recursos, sempre que fizer login ou abrir uma nova sessão de terminal.

Adicionando um Usuário a um Grupo

No Linux, utilizamos grupos para organizar usuários e gerenciar permissões. Um grupo importante é o grupo sudo, que concede privilégios administrativos aos usuários. Vamos adicionar o joker ao grupo sudo como exemplo.

Por que adicionaríamos um usuário ao grupo sudo?

  1. Administração do sistema: Usuários no grupo sudo podem realizar tarefas administrativas em todo o sistema.
  2. Instalação de software: Membros do grupo sudo podem instalar e atualizar pacotes de software.
  3. Alterações de configuração: Eles podem modificar arquivos de configuração do sistema.
  4. Gerenciamento de usuários: Eles podem criar, modificar ou excluir outras contas de usuário.

Você pode se perguntar: "Por que adicionar alguém ao grupo sudo se podemos sempre usar o comando 'sudo'?" Aqui está o porquê:

  • Conveniência: Usuários no grupo sudo podem usar o comando sem precisar saber a senha do root. Eles usam sua própria senha.
  • Controle granular: Administradores do sistema podem configurar o sudo para permitir que usuários específicos executem apenas certos comandos com privilégios de superusuário.
  • Responsabilidade: Ao contrário do compartilhamento da senha do root, o sudo registra quem executou qual comando, melhorando a segurança e a rastreabilidade.
  • Segurança: Geralmente é mais seguro ter contas nomeadas com acesso sudo do que compartilhar a senha do root entre vários administradores.

Em um cenário real, você normalmente adicionaria um usuário ao grupo sudo se:

  • Ele for um administrador de sistema ou membro da equipe de TI que precisa realizar tarefas de manutenção regulares.
  • Ele for um desenvolvedor que precisa instalar softwares específicos ou fazer alterações no sistema para seu trabalho.
  • Ele for um usuário avançado que precisa de privilégios elevados para certas tarefas, mas você não quer fornecer a senha do root.

Lembre-se, adicionar um usuário ao grupo sudo concede a ele um poder significativo sobre o sistema, portanto, isso deve ser feito com cautela e apenas quando necessário.

Agora, vamos adicionar o joker ao grupo sudo:

  1. Execute este comando:
sudo usermod -aG sudo joker

Eis o que isso faz:

  • usermod é o comando para modificar contas de usuário
  • -aG significa "append to Group" (adicionar ao grupo sem remover de outros grupos)
  • sudo é o grupo ao qual estamos adicionando o usuário
  • joker é o usuário que estamos modificando
  1. Verifique a alteração:
groups joker

Você deverá ver sudo listado entre os grupos do joker.

  1. Para ver o efeito desta alteração, precisamos alternar para o usuário joker e tentar um comando que exija privilégios de sudo:
su - joker

Este comando alterna do seu usuário atual (labex) para o usuário joker. Será solicitado que você insira a senha do joker. Lembre-se, esta é a senha que você definiu anteriormente (password123). Ao digitar a senha, você não verá nenhum caractere na tela — isso é um recurso de segurança.

  1. Uma vez logado como joker, vamos tentar visualizar um arquivo que normalmente exige privilégios de root:
sudo cat /etc/shadow

Digite a senha do joker novamente quando solicitado. Você deverá conseguir ver o conteúdo do arquivo /etc/shadow, que geralmente só é acessível ao root. Isso confirma que o joker agora tem privilégios de sudo.

  1. Quando terminar, digite exit para retornar à sua conta de usuário original (labex).

Nota: Em um ambiente de produção, você deve ser muito cuidadoso sobre quem adiciona ao grupo sudo. Com grandes poderes vêm grandes responsabilidades!

Bloqueando e Desbloqueando Contas de Usuário

Às vezes, você pode precisar desativar temporariamente uma conta de usuário sem excluí-la.

  1. Bloqueie a conta do joker:
sudo passwd -l joker

A opção -l (lock) bloqueia a senha.

  1. Tente alternar para o usuário joker:
su - joker

Será solicitada a senha. Digite a senha que você definiu para o joker anteriormente ("password123").

Você deverá ver uma mensagem de "falha de autenticação" (authentication failure). Isso significa que a conta foi bloqueada com sucesso.

  1. Agora, vamos desbloquear a conta:
sudo passwd -u joker

A opção -u (unlock) desbloqueia a senha.

  1. Tente alternar para o usuário joker novamente:
su - joker

Digite a senha quando solicitado. Desta vez, você deverá conseguir alternar para o usuário joker com sucesso.

Digite exit para retornar à sua conta de usuário original antes de prosseguir para a próxima etapa.

Excluindo um Usuário

Finalmente, vamos aprender como excluir um usuário. Vamos excluir o usuário "bob" que criamos anteriormente.

  1. Exclua o bob e seu diretório home:
sudo userdel -r bob

O comando userdel exclui contas de usuário. A opção -r remove o diretório home do usuário e sua caixa de correio (mail spool).

  1. Verifique se o usuário foi excluído:
sudo grep -w 'bob' /etc/passwd
sudo ls -ld /home/bob

Ambos os comandos não devem retornar resultados. Isso significa que o usuário e seu diretório home foram removidos com sucesso.

Resumo

Parabéns! Você concluiu o laboratório de Gerenciamento de Contas de Usuário no Linux. Você aprendeu como:

  1. Criar novas contas de usuário
  2. Definir senhas de usuário
  3. Modificar propriedades do usuário, como diretório home e shell padrão
  4. Adicionar usuários a grupos
  5. Bloquear e desbloquear contas de usuário
  6. Excluir contas de usuário

Você também foi introduzido a conceitos importantes do Linux, como o arquivo /etc/passwd, diretórios home, shells e grupos de usuários. Estas são habilidades fundamentais para a administração de sistemas Linux. Lembre-se: em cenários reais, siga sempre as políticas de segurança da sua organização ao gerenciar contas de usuário.