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ê para a posição máxima de confiança: Guardião das Chaves do Projeto Phoenix.

O CTO chama você para uma reunião crítica: "O Projeto Phoenix está entrando em sua fase final e precisamos de controle absoluto sobre quem tem acesso aos nossos sistemas. Estamos trazendo 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, você agora controla a porta de entrada humana 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 Linux. O futuro do Projeto Phoenix depende da sua capacidade de conceder acesso a quem precisa e negá-lo àqueles que podem 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 dita que os nomes de usuário devem seguir o formato inicial_do_nome.sobrenome.

Tarefas

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

Requisitos

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

Dicas

  • Este desafio espera o uso do comando padrão useradd em vez do auxiliar interativo adduser.
  • Lembre-se de usar sudo para executar comandos com privilégios administrativos.

Exemplos

Após criar a conta de usuário com sucesso, 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 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)

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

Você criou o usuário, mas esqueceu um passo crucial! Brenda, como desenvolvedora sênior liderando 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

  • Crie 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, talvez precise excluir o usuário primeiro e depois recriá-lo corretamente.
  • Soluções válidas incluem -m ou --create-home, e a flag pode aparecer antes ou depois do nome de usuário.

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 criado na listagem do diretório home:

$ 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

Definindo uma Senha Inicial para o Novo Usuário

A conta de usuário b.smith foi criada, mas está bloqueada no momento. 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

  • Defina 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 é passwd.
  • Como você está alterando a senha de outro usuário, precisará de privilégios sudo. A sintaxe é sudo passwd <nome_de_usuario>.

Exemplos

Após definir a senha com sucesso, a conta de usuário deverá ter um hash de senha no arquivo shadow. Você pode verificar isso verificando 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:::

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ê tem trabalhado durante seu tempo na TechNova, e ele possui as permissões especiais necessárias para o projeto.

Tarefas

  • Adicione 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) e -G (groups). Usá-las juntas garante que você adicione o usuário a um novo grupo sem removê-lo dos existentes.

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 sobre o 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 acessíveis ao grupo developers. Você pode verificar o arquivo de grupo para confirmar se 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.

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

Agora, para sua tarefa final 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 acesso potencialmente 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, então você deve bloquear a conta em vez de excluí-la completamente.

Tarefas

  • Bloqueie 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 ou seu diretório home.

Dicas

  • Você pode usar o comando usermod com a opção -L (lock).
  • 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 verificando 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.

Resumo

Parabéns, Guardião das Chaves! Você completou com sucesso sua incrível primeira semana na LabEx Corporation e garantiu 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 confiável 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 trilhas de auditoria.

Do reconhecimento inicial à 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 agora está em boas mãos, e o futuro da TechNova está seguro graças à sua dedicação e experiência!

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar