Adição de Usuários Linux

LinuxBeginner
Pratique Agora

Introdução

O gerenciamento de usuários no Linux é uma habilidade fundamental para administradores de sistemas. Envolve a criação, modificação e manutenção de contas de usuário para garantir o acesso adequado e a segurança do sistema. Neste laboratório, você aprenderá como gerenciar usuários em um ambiente Linux, com foco na adição de usuários e na configuração de suas permissões. Essas habilidades são essenciais para manter a segurança e a integridade de qualquer sistema Linux.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar 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 84%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Criando um Novo Usuário

Contas de usuário no Linux permitem que indivíduos acessem o sistema com permissões específicas. Cada usuário possui um nome de usuário (username) único, um ID de usuário (UID), um diretório home e um shell padrão.

Nesta etapa, você criará um novo usuário chamado "cipher" no sistema.

  1. Abra o terminal no seu ambiente de VM do LabEx. O terminal já deve estar no local padrão /home/labex/project.

  2. Use o comando useradd com as opções apropriadas para criar o novo usuário:

sudo useradd -m -s /bin/bash cipher

Vamos entender o comando:

  • sudo: Executa o comando com privilégios de superusuário, que são necessários para o gerenciamento de usuários.
  • useradd: Este é o comando usado para criar um novo usuário.
  • -m: Esta opção cria um diretório home para o novo usuário em /home/cipher.
  • -s /bin/bash: Define o shell padrão do usuário como bash.
  • cipher: Este é o nome de usuário do novo usuário que estamos criando.
  1. Verifique se o usuário foi criado listando os diretórios home:
ls -l /home

Você deve ver uma saída semelhante a:

total 8
drwxr-xr-x 2 cipher cipher 4096 Oct 15 10:30 cipher
drwxr-xr-x 5 labex  labex  4096 Oct 15 10:00 labex

A entrada para cipher confirma que o usuário e seu diretório home foram criados com sucesso.

Definindo uma Senha para o Novo Usuário

Cada conta de usuário deve ter uma senha segura para evitar acesso não autorizado. Nesta etapa, você definirá uma senha para o usuário "cipher" que criou na etapa anterior.

  1. Use o comando passwd para definir uma senha para o usuário:
sudo passwd cipher
  1. Você será solicitado a inserir uma nova senha duas vezes. Digite uma senha de sua escolha e pressione Enter após cada entrada. Observe que, por razões de segurança, a senha que você digitar não será exibida na tela.
Nova senha:
Repita a nova senha:

Se ambas as senhas corresponderem, você verá uma mensagem de confirmação:

passwd: senha atualizada com sucesso
  1. Verifique se a senha foi definida verificando se o campo de senha no arquivo shadow não está mais vazio:
sudo grep cipher /etc/shadow | cut -d: -f2 | grep -v '!'

Se uma sequência de caracteres for retornada, significa que a senha foi definida com sucesso. A saída não mostrará a senha real, mas sim sua forma criptografada.

Vamos entender o comando de verificação em detalhes:

  • grep cipher /etc/shadow encontra a linha contendo nosso usuário
  • cut -d: -f2 extrai o campo de senha (segundo campo)
  • grep -v '!' mostra apenas as linhas que não contêm '!'

A última parte (grep -v '!') é particularmente importante porque no Linux:

  • Uma conta sem senha ou uma conta bloqueada terá '!' no campo de senha
  • Uma conta com uma senha válida terá um hash criptografado sem '!'

Portanto, se o comando retornar uma saída, ele confirma que uma senha válida está definida sem expor o hash da senha real.

Visualizando Informações do Usuário

Após criar um usuário, é importante saber como visualizar informações sobre esse usuário. O Linux fornece vários comandos para essa finalidade.

  1. Vamos primeiro verificar as informações básicas sobre o usuário "cipher" usando o comando id:
id cipher

Isso exibirá o ID do usuário (uid), o ID do grupo (gid) e os grupos aos quais o usuário pertence. A saída deve ser semelhante a:

uid=1001(cipher) gid=1001(cipher) groups=1001(cipher)
  1. Agora, vamos verificar a entrada do usuário no arquivo /etc/passwd, que contém informações básicas do usuário:
grep cipher /etc/passwd

A saída será uma linha contendo campos separados por dois pontos. Por exemplo:

cipher:x:1001:1001::/home/cipher:/bin/bash

Esses campos representam:

  • Nome de usuário (Username): cipher
  • Senha (Password): x (a senha real é armazenada em /etc/shadow)
  • ID do usuário (User ID): 1001
  • ID do grupo (Group ID): 1001
  • Campo GECOS: (vazio neste caso, geralmente contém o nome completo do usuário)
  • Diretório home (Home directory): /home/cipher
  • Shell de login (Login shell): /bin/bash
  1. Você também pode usar o comando finger para visualizar informações do usuário em um formato mais legível. Primeiro, instale o pacote finger:
sudo apt-get update
sudo apt-get install -y finger
  1. Agora use finger para visualizar informações sobre o usuário cipher:
finger cipher

A saída exibirá informações em um formato mais legível, incluindo o status de login e o diretório home:

Login: cipher                           Name:
Directory: /home/cipher                 Shell: /bin/bash
Never logged in.
No mail.
No Plan.

Adicionando um Usuário a Grupos

O Linux usa grupos para organizar usuários e controlar seu acesso a arquivos e recursos. Nesta etapa, você aprenderá como adicionar um usuário a um grupo existente.

  1. Primeiro, vamos criar um novo grupo chamado "crypto" ao qual nosso usuário será adicionado:
sudo groupadd crypto
  1. Agora, adicione o usuário "cipher" ao grupo "crypto" usando o comando usermod:
sudo usermod -aG crypto cipher

Neste comando:

  • sudo: Executa o comando com privilégios de superusuário
  • usermod: O comando para modificar uma conta de usuário
  • -aG: A opção para adicionar o usuário a um grupo (-a para anexar, -G para grupos suplementares)
  • crypto: O nome do grupo
  • cipher: O nome de usuário (username)
  1. Verifique se o usuário foi adicionado ao grupo verificando os grupos aos quais ele pertence:
groups cipher

A saída deve incluir os grupos "cipher" e "crypto":

cipher : cipher crypto
  1. Você também pode verificar a entrada do grupo no arquivo /etc/group:
grep crypto /etc/group

A saída deve mostrar o grupo e seus membros:

crypto:x:1002:cipher

Concedendo Acesso Sudo a um Usuário

Para tarefas administrativas, os usuários frequentemente precisam de privilégios elevados. O comando sudo (superuser do) permite que usuários regulares executem comandos com privilégios administrativos. Nesta etapa, você aprenderá como conceder acesso sudo a um usuário.

  1. No Ubuntu, usuários com acesso sudo são tipicamente adicionados ao grupo "sudo". Adicione o usuário "cipher" ao grupo sudo:
sudo usermod -aG sudo cipher
  1. Verifique se o usuário foi adicionado ao grupo sudo:
groups cipher

A saída agora deve incluir o grupo "sudo":

cipher : cipher crypto sudo
  1. Vamos testar o acesso sudo alternando para o usuário "cipher" e tentando executar um comando com sudo. Primeiro, alterne para o usuário cipher:
sudo su - cipher
  1. Agora tente executar um comando que requer privilégios sudo:
sudo ls /root
  1. Você será solicitado a inserir a senha que você definiu para o usuário cipher. Após inseri-la corretamente, o comando deve ser executado com sucesso, mostrando o conteúdo do diretório /root.

  2. Saia da sessão do usuário cipher para retornar ao usuário labex:

exit

Resumo

Neste laboratório, você aprendeu os conceitos fundamentais de gerenciamento de usuários no Linux. Você criou com sucesso um novo usuário, definiu uma senha, visualizou informações do usuário, adicionou o usuário a grupos e concedeu acesso sudo. Essas habilidades são essenciais para que os administradores de sistema mantenham a segurança e controlem o acesso aos recursos em sistemas Linux.

O gerenciamento de usuários é um aspecto crítico da administração de sistemas, e os comandos e conceitos que você aprendeu aqui formam a base para tarefas mais avançadas de gerenciamento de usuários e permissões. Ao dominar esses fundamentos, você está no caminho certo para se tornar proficiente em administração de sistemas Linux.