Gerenciamento de Identidades de Usuário e Controles de Acesso no Linux

CompTIABeginner
Pratique Agora

Introdução

Bem-vindo ao laboratório sobre Gerenciamento de Identidades de Usuário e Controles de Acesso no Linux. O gerenciamento adequado de usuários e acessos é um pilar da segurança e administração de sistemas. Ele garante que os usuários tenham acesso apenas aos recursos necessários para suas funções, prevenindo ações não autorizadas e potenciais violações de segurança.

Neste laboratório, você terá experiência prática com as ferramentas essenciais de linha de comando para gerenciar usuários, grupos e permissões. Você aprenderá a criar contas de usuário, gerenciar associações de grupo, controlar o acesso a arquivos com chmod e chown, e conceder privilégios administrativos específicos usando sudo. Ao final deste laboratório, você terá uma base sólida para proteger um ambiente Linux.

Criar e Gerenciar Contas de Usuário e Grupos

Nesta etapa, você aprenderá a criar e gerenciar contas de usuário e grupos, que são tarefas fundamentais para qualquer administrador de sistema Linux. Criaremos um novo usuário, um novo grupo e, em seguida, adicionaremos o usuário a esse grupo.

Primeiro, vamos criar um novo usuário chamado alice. Usaremos o comando useradd com a opção -m, que instrui o sistema a criar um diretório pessoal para o usuário.

sudo useradd -m alice

Em seguida, cada conta de usuário deve ter uma senha. Use o comando passwd para definir uma senha para alice. Você será solicitado a inserir e confirmar a nova senha.

sudo passwd alice

Você pode inserir uma senha simples como password para este laboratório. Certifique-se de digitar a mesma senha duas vezes - se elas não coincidirem, você verá um erro e precisará tentar novamente.

Para verificar se o usuário alice foi criado, você pode verificar o arquivo /etc/passwd, que contém informações sobre todas as contas de usuário.

grep alice /etc/passwd

Você deverá ver uma linha de saída contendo detalhes para o usuário alice.

alice:x:5001:5001::/home/alice:/bin/sh

Agora, vamos criar um novo grupo chamado developers. Usamos o comando groupadd para isso.

sudo groupadd developers

Para verificar a criação do grupo, você pode verificar o arquivo /etc/group.

grep developers /etc/group

A saída deverá mostrar o novo grupo.

developers:x:5003:

Finalmente, vamos adicionar nosso novo usuário alice ao grupo developers. Usamos o comando usermod com as opções -aG. -a significa "append" (anexar), e -G especifica o(s) grupo(s). É importante usar -a para evitar remover o usuário de outros grupos aos quais ele possa pertencer.

sudo usermod -aG developers alice

Para confirmar que alice agora é membro do grupo developers, use o comando groups.

groups alice

A saída listará todos os grupos aos quais alice pertence, que agora devem incluir developers.

alice : alice developers

Configurar Permissões de Arquivos e Diretórios (chmod, chown)

Nesta etapa, você aprenderá a gerenciar permissões de arquivos e diretórios usando os comandos chmod e chown. Estes são essenciais para controlar quem pode ler, escrever ou executar arquivos em seu sistema. Trabalharemos com um arquivo localizado em ~/project/reports/quarterly.txt.

Primeiro, vamos examinar a propriedade e as permissões atuais do arquivo usando o comando ls -l.

ls -l reports/quarterly.txt

A saída será algo semelhante a isto, mostrando que o arquivo é de propriedade do usuário e grupo labex.

-rw-rw-r-- 1 labex labex 20 Aug  5 10:34 reports/quarterly.txt

Agora, vamos alterar a propriedade deste arquivo. Faremos do usuário alice o proprietário e do grupo developers o proprietário do grupo. Usamos o comando chown para isso. A sintaxe é chown user:group filename.

sudo chown alice:developers reports/quarterly.txt

Vamos verificar a alteração executando ls -l novamente.

ls -l reports/quarterly.txt

A saída agora mostra o novo proprietário e grupo.

-rw-rw-r-- 1 alice developers 20 Aug  5 10:34 reports/quarterly.txt

Em seguida, modificaremos as permissões do arquivo usando o comando chmod. Queremos definir as permissões de forma que:

  • O proprietário (alice) tenha acesso de leitura e escrita (rw-).
  • O grupo (developers) tenha acesso apenas de leitura (r--).
  • Outros não tenham acesso algum (---).

Em notação octal (numérica), leitura é 4, escrita é 2 e execução é 1. Portanto, rw- é 4+2=6, r-- é 4 e --- é 0. Isso nos dá o código de permissão 640.

Vamos aplicar essas permissões.

sudo chmod 640 reports/quarterly.txt

Finalmente, verifique as permissões mais uma vez para confirmar que elas foram definidas corretamente.

ls -l reports/quarterly.txt

A saída agora deverá refletir as novas permissões -rw-r-----.

-rw-r----- 1 alice developers 20 Aug  5 10:34 reports/quarterly.txt

Implementar Sudo para Gerenciamento de Acesso Privilegiado

Nesta etapa, você aprenderá a conceder acesso privilegiado a usuários usando sudo. Em vez de dar acesso root completo, sudo permite um controle granular sobre quais comandos um usuário pode executar com privilégios elevados. Esta é uma prática muito mais segura.

A configuração para sudo é armazenada no arquivo /etc/sudoers. A maneira mais segura de editar este arquivo é usando o comando visudo, que bloqueia o arquivo e verifica erros de sintaxe antes de salvar.

Vamos conceder ao usuário alice permissão para executar o comando apt update sem a necessidade de digitar uma senha.

Abra o arquivo sudoers para edição:

sudo EDITOR=nano visudo

Isso abrirá o arquivo em um editor de texto (como nano). Role até o final do arquivo e adicione a seguinte linha:

alice ALL=(ALL) NOPASSWD: /usr/bin/apt update

Esta linha significa: o usuário alice em ALL hosts pode executar comandos como ALL usuários ((ALL)) sem senha (NOPASSWD:) para o comando especificado /usr/bin/apt update.

Após adicionar a linha, salve e saia do editor. No nano, você pode fazer isso pressionando Ctrl+O, depois Enter para confirmar o nome do arquivo e Ctrl+X para sair.

Agora, vamos testar a nova regra. Precisamos alternar para a conta de usuário alice.

sudo su - alice

Seu prompt de comando mudará para indicar que você agora está logado como alice. Agora, tente executar o comando permitido.

sudo /usr/bin/apt update

O comando deverá ser executado com sucesso sem pedir senha. Você verá as listas de pacotes sendo atualizadas.

Em seguida, vamos tentar executar um comando que alice não tem permissão para executar com sudo, como apt upgrade.

sudo /usr/bin/apt upgrade

Este comando falhará, e você verá uma mensagem [sudo] password for alice: indicando que o usuário alice não tem permissão para executar este comando.

[sudo] password for alice:

Pressione Ctrl+C para sair do comando.

Isso confirma que nossa regra de sudo está funcionando como esperado. Agora, volte para o seu usuário original labex.

exit

Revisar Logs do Sudo para Atividade de Acesso Privilegiado

Nesta etapa, você aprenderá a revisar os logs do sistema para monitorar o acesso privilegiado. Auditar o uso do sudo é uma prática de segurança crítica para rastrear quem está executando comandos como root e quando.

Em sistemas baseados em Debian, como o Ubuntu, os comandos sudo são registrados no arquivo /var/log/auth.log. Este arquivo é protegido, portanto, você precisa usar sudo para lê-lo.

Podemos usar o comando grep para filtrar o log e encontrar entradas relacionadas aos comandos sudo executados pelo usuário alice na etapa anterior.

Execute o seguinte comando para pesquisar o log de autorização:

sudo grep 'sudo.*alice' /var/log/auth.log

A saída mostrará várias linhas. Você deverá ser capaz de identificar os logs tanto das tentativas bem-sucedidas quanto das falhas de sudo.

Uma tentativa bem-sucedida se parecerá com isto, mostrando o comando que foi executado:

... labex-vm sudo:    alice : TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt update

Uma tentativa falha também será registrada, indicando claramente que o comando não foi permitido:

... labex-vm sudo:    alice : user NOT allowed to execute /usr/bin/apt upgrade on labex-vm ; TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt upgrade

A revisão desses logs permite que os administradores monitorem atividades suspeitas e garantam que os comandos privilegiados estejam sendo usados apropriadamente.

Resumo

Parabéns por completar o laboratório!

Neste laboratório, você adquiriu experiência prática com tarefas essenciais de gerenciamento de usuários e acesso no Linux. Essas habilidades são fundamentais para manter um sistema Linux seguro e bem organizado.

Você aprendeu a:

  • Criar novos usuários e grupos usando useradd e groupadd.
  • Modificar a propriedade de arquivos com chown e permissões com chmod.
  • Implementar acesso privilegiado granular usando sudo e o comando visudo.
  • Auditar a atividade do sudo revisando os logs do sistema em /var/log/auth.log.

Ao dominar esses comandos, você agora está mais preparado para gerenciar usuários e proteger dados sensíveis em qualquer servidor Linux.