DIA 05: O Guardião das Chaves

LinuxBeginner
Pratique Agora

Introdução

Bem-vindo ao seu último dia da semana na LabEx Corporation! Tem sido uma jornada incrível, desde sua primeira missão de reconhecimento até se tornar o Guardião da Fortaleza. Agora, a empresa está promovendo você ao cargo de maior confiança: Guardião das Chaves do Projeto Phoenix.

O CTO chama você para um briefing crucial: "O Projeto Phoenix está entrando em sua fase final e precisamos de controle absoluto sobre quem tem acesso aos nossos sistemas. Estamos contratando uma nova desenvolvedora sênior, Brenda Smith, que liderará o esforço final para a conclusão. Infelizmente, também descobrimos que John Doe, um prestador de serviços da equipe anterior, teve acesso não autorizado durante o incidente de segurança que você investigou anteriormente. O acesso dele precisa ser revogado imediatamente."

Como Guardião das Chaves, agora você controla o portal humano para o Projeto Phoenix. Suas decisões de gerenciamento de usuários determinarão quem pode contribuir para o projeto mais importante da TechNova e quem deve ser bloqueado por motivos de segurança.

Este é o seu momento de demonstrar domínio total da administração de usuários no Linux. O futuro do Projeto Phoenix depende da sua capacidade de conceder acesso a quem precisa e negá-lo a quem possa comprometer o sistema. Vamos completar esta missão!

Integrando uma Nova Desenvolvedora ao Sistema

Sua primeira tarefa é criar uma nova conta de usuário para Brenda Smith, a desenvolvedora sênior que liderará a fase final de desenvolvimento do Projeto Phoenix. A política da TechNova determina que os nomes de usuário devem seguir o formato inicial_do_nome.sobrenome.

Tarefas

  • Criar uma nova conta de usuário para Brenda Smith.

Requisitos

  • O nome de usuário deve ser b.smith.
  • Use o comando apropriado para adicionar um novo usuário ao sistema. Você precisará de privilégios de sudo.

Dicas

  • Qual comando é usado para adicionar um usuário no Linux? Você pode pesquisar sobre useradd ou adduser.
  • Lembre-se de usar sudo para executar comandos com privilégios administrativos.

Exemplos

Após criar com sucesso a nova conta de usuário, você deverá ver a entrada do usuário no banco de dados de usuários do sistema:

$ grep "b.smith" /etc/passwd
b.smith:x:5002:5004::/home/b.smith:/bin/sh

A conta de usuário será criada com um ID de usuário e um ID de grupo atribuídos pelo sistema. Você pode verificar se a conta existe e conferir seus detalhes usando:

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith)
✨ Verificar Solução e Praticar

Criando um Diretório Home Dedicado para o Novo Usuário

Você criou o usuário, mas esqueceu de um passo crucial! Brenda, como desenvolvedora sênior que lidera a fase final do Projeto Phoenix, precisa de seu próprio espaço de trabalho seguro para armazenar arquivos críticos do projeto e ferramentas de desenvolvimento. Você deve garantir que um diretório home seja criado para ela.

Tarefas

  • Criar um diretório home para o usuário b.smith localizado em /home/b.smith.

Requisitos

  • O diretório home deve ser criado para o usuário b.smith.
  • Você deve usar uma opção com o comando useradd para criar o diretório home automaticamente. Se você já criou o usuário sem um diretório home, pode ser necessário excluir o usuário primeiro e depois recriá-lo corretamente.

Dicas

  • Para excluir um usuário, você pode usar o comando userdel. Por exemplo: sudo userdel b.smith.
  • O comando useradd possui uma flag específica para criar um diretório home para o usuário. Verifique a página man useradd para uma opção como -m ou --create-home.

Exemplos

Após criar o usuário com um diretório home, você deverá ver o novo diretório listado no diretório home do sistema:

$ ls -la /home/
drwxr-xr-x 1 root root 47 Sep 3 16:32 .
drwxr-xr-x 1 root root 62 Sep 3 16:31 ..
-rw-r--r-- 1 root root 58 Jul 18 2024 .zshrc
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 b.smith
drwxr-x--- 2 j.doe j.doe 57 Sep 3 16:31 j.doe
drwxr-x--- 1 labex labex 4096 Sep 3 16:35 labex

O diretório home será de propriedade do usuário com permissões restritas (acessível apenas pelo proprietário e pelo grupo). Para visualizar o conteúdo, você pode precisar de permissões apropriadas ou usar sudo:

$ sudo ls -la /home/b.smith/
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 .
drwxr-xr-x 1 root root 47 Sep 3 16:32 ..
-rw-r--r-- 1 b.smith b.smith 220 Sep 3 16:32 .bash_logout
-rw-r--r-- 1 b.smith b.smith 3771 Sep 3 16:32 .bashrc
-rw-r--r-- 1 b.smith b.smith 655 Sep 3 16:32 .profile
✨ Verificar Solução e Praticar

Atribuindo uma Senha Inicial para o Novo Usuário

A conta de usuário b.smith foi criada, mas está atualmente bloqueada. Brenda não pode acessar os sistemas do Projeto Phoenix para iniciar seu papel de liderança sem uma senha. Sua próxima tarefa é definir uma senha inicial segura para a conta dela.

Tarefas

  • Definir uma senha para o usuário b.smith.

Requisitos

  • Use o comando padrão do Linux para alterar a senha de um usuário.
  • Você será solicitado a inserir e confirmar a nova senha. Você pode usar qualquer senha simples, por exemplo, password123.

Dicas

  • O comando para definir ou alterar senhas é o passwd.
  • Como você está alterando a senha de outro usuário, precisará de privilégios de sudo. A sintaxe é sudo passwd <username>.

Exemplos

Após definir a senha com sucesso, a conta do usuário deve ter um hash de senha no arquivo shadow. Você pode verificar isso consultando o arquivo shadow (nota: isso requer privilégios de root):

$ sudo grep "^b.smith:" /etc/shadow
b.smith:$y$j9T$XbJLH9LJgY518Th4qcd1V0$NrfHOJ2MGm/1OhLGfpfMQkvPasV23Eenhwl9bA0i8O4:20334:0:99999:7:::
✨ Verificar Solução e Praticar

Adicionando a Nova Desenvolvedora ao Grupo "developers"

Para garantir que Brenda tenha acesso aos arquivos e repositórios do Projeto Phoenix que você protegeu durante toda a semana, ela deve ser adicionada ao grupo developers. Este é o mesmo grupo com o qual você trabalhou durante seu tempo na TechNova e possui as permissões especiais necessárias para o projeto.

Tarefas

  • Adicionar o usuário b.smith ao grupo developers.

Requisitos

  • O usuário b.smith deve ser membro do grupo developers.
  • As associações de grupo existentes do usuário não devem ser removidas.

Dicas

  • O comando usermod é usado para modificar uma conta de usuário.
  • Procure pelas flags -a (append/anexar) e -G (groups/grupos). Usá-las juntas garante que você adicione o usuário a um novo grupo sem removê-lo dos grupos atuais.

Exemplos

Após adicionar o usuário ao grupo developers com sucesso, você deverá ver a associação ao grupo refletida na lista de grupos do usuário:

$ groups b.smith
b.smith : b.smith developers

Você também pode verificar usando o comando id para ver informações mais detalhadas do grupo:

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith),5003(developers)

O usuário agora deve ter acesso a arquivos e diretórios que são acessíveis ao grupo developers. Você pode verificar o arquivo de grupos para confirmar que o grupo existe:

$ grep "^developers:" /etc/group
developers:x:5003:b.smith

Observe que b.smith aparece na lista de membros do grupo. Isso confirma que o usuário foi adicionado com sucesso ao grupo, preservando suas associações de grupo existentes.

✨ Verificar Solução e Praticar

Desativando Temporariamente a Conta de um Funcionário que Está Saindo

Agora, sua última tarefa da semana — e a ação de segurança mais crítica para o Projeto Phoenix. John Doe (j.doe) foi identificado durante sua investigação anterior como tendo potencial acesso não autorizado durante o incidente de segurança. O CTO ordenou sua remoção imediata de todos os sistemas da TechNova. No entanto, as equipes jurídica e de conformidade precisam que seus arquivos sejam preservados para a auditoria de segurança em andamento, portanto, você deve bloquear a conta em vez de excluí-la totalmente.

Tarefas

  • Bloquear a conta de usuário de j.doe para impedir logins.

Requisitos

  • A conta de usuário j.doe deve ser bloqueada.
  • Não exclua o usuário nem seu diretório home.

Dicas

  • Você pode usar o comando usermod com a opção -L (lock/bloquear).
  • Alternativamente, o comando passwd possui uma flag -l (lock) que alcança o mesmo resultado.
  • Lembre-se de usar sudo.

Exemplos

Você pode verificar se a conta está bloqueada consultando o arquivo shadow:

$ sudo grep "^j.doe:" /etc/shadow
j.doe:!:20334:0:99999:7:::

Observe o ponto de exclamação (!) no início do campo de senha - isso indica que a conta está bloqueada. O hash da senha original é preservado após o ! para um possível desbloqueio futuro.

✨ Verificar Solução e Praticar

Resumo

Parabéns, Guardião das Chaves! Você concluiu com sucesso sua incrível primeira semana na LabEx Corporation e protegeu o Projeto Phoenix para seu esforço final de conclusão.

Ao longo desta semana transformadora, você evoluiu de um novo administrador de sistemas júnior para um guardião de confiança dos sistemas mais críticos da TechNova. Em seu desafio final, você dominou comandos essenciais de gerenciamento de usuários:

  • Criou uma nova conta de usuário para a desenvolvedora sênior que lidera a conclusão do Projeto Phoenix.
  • Configurou diretórios home seguros para membros críticos da equipe.
  • Implementou políticas de senha robustas usando passwd.
  • Gerenciou associações de grupo para garantir o acesso adequado aos recursos do Projeto Phoenix.
  • Protegeu o sistema desativando acessos não autorizados enquanto preservava as trilhas de auditoria.

Desde o reconhecimento inicial até a arquitetura digital, investigação de logs, implementação de segurança e, finalmente, gerenciamento de usuários — você demonstrou o conjunto completo de habilidades de um Administrador de Sistemas profissional. O CTO confirmou sua posição permanente e já está discutindo oportunidades de promoção.

O Projeto Phoenix está agora em boas mãos, e o futuro da TechNova está seguro graças à sua dedicação e experiência!