Modificação de Usuários Linux

LinuxBeginner
Pratique Agora

Introdução

O gerenciamento de usuários é um aspecto fundamental da administração de sistemas Linux. Seja configurando um computador pessoal, gerenciando um servidor ou trabalhando em um ambiente multiusuário, entender como criar, modificar e gerenciar contas de usuário é essencial.

Neste laboratório, você aprenderá a usar o comando usermod para modificar atributos de usuário, como nome de usuário, diretório home e associação a grupos. Você obterá experiência prática com comandos-chave usados para administração de usuários no Linux, fornecendo as habilidades necessárias para gerenciar eficientemente contas de usuário em qualquer ambiente 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 92%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Criando e Renomeando um Usuário

Nesta etapa, você criará um novo usuário e aprenderá como renomeá-lo. Esta é uma tarefa comum quando os usuários mudam de função ou quando você precisa padronizar os nomes de usuário em todo o seu sistema.

Primeiro, abra seu terminal. Você já deve estar no diretório ~/project. Vamos começar criando um novo usuário chamado temporaryuser:

sudo useradd temporaryuser

Este comando cria uma nova conta de usuário no sistema. Por padrão, useradd não cria um diretório home nem define uma senha.

Agora, vamos verificar se o usuário foi criado com sucesso:

grep temporaryuser /etc/passwd

Você deve ver uma entrada para temporaryuser na saída, confirmando que o usuário foi criado.

Em seguida, vamos renomear este usuário de temporaryuser para permanentuser usando o comando usermod:

sudo usermod -l permanentuser temporaryuser

A opção -l especifica que queremos alterar o nome de login. Após executar este comando, o usuário anteriormente conhecido como temporaryuser agora será conhecido como permanentuser.

Vamos verificar se o nome de usuário foi alterado:

grep permanentuser /etc/passwd

Você deve ver a entrada do usuário com o novo nome permanentuser.

Agora, vamos criar e atribuir um diretório home para este usuário:

sudo usermod -d /home/permanentuser -m permanentuser

Neste comando:

  • -d especifica o novo caminho do diretório home
  • -m cria o novo diretório home se ele não existir, ou move o conteúdo do diretório home antigo para o novo se ambos existirem

Vamos verificar se o diretório home foi criado:

ls -ld /home/permanentuser

Você deve ver o diretório home recém-criado para permanentuser.

Adicionando um Usuário a Grupos

No Linux, os grupos são usados para organizar usuários e gerenciar permissões. Adicionar um usuário a grupos específicos é uma maneira essencial de conceder a eles acesso a determinados recursos ou capacidades.

Primeiro, vamos verificar a quais grupos nosso usuário pertence atualmente:

groups permanentuser

Por padrão, quando você cria um usuário com useradd, o usuário é atribuído a um grupo primário com o mesmo nome do nome de usuário.

Agora, vamos verificar se o grupo sudo existe em seu sistema:

grep sudo /etc/group

Você deve ver uma entrada para o grupo sudo. Este grupo especial permite que seus membros executem comandos com privilégios de superusuário usando o comando sudo.

Vamos adicionar nosso usuário ao grupo sudo:

sudo usermod -aG sudo permanentuser

Neste comando:

  • -a significa "anexar" (append), o que garante que estamos adicionando o usuário ao grupo sem removê-lo de outros grupos
  • -G especifica o(s) grupo(s) ao(s) qual(is) o usuário deve ser adicionado
  • sudo é o nome do grupo
  • permanentuser é o usuário que estamos modificando

Vamos verificar se o usuário foi adicionado ao grupo sudo:

groups permanentuser

A saída agora deve incluir sudo na lista de grupos.

Você também pode verificar a associação ao grupo olhando o arquivo /etc/group:

grep sudo /etc/group

A saída deve incluir permanentuser na lista de membros do grupo sudo.

Alterando o Shell de um Usuário

Cada usuário no Linux tem um shell padrão que determina a interface de linha de comando que ele usa ao fazer login. Nesta etapa, você aprenderá como alterar o shell de login de um usuário.

Primeiro, vamos verificar o shell atual atribuído ao nosso usuário:

grep permanentuser /etc/passwd

Olhe para o último campo na saída. Ele deve mostrar o shell atual, que normalmente é /bin/sh para usuários criados com useradd sem opções adicionais.

Agora, vamos alterar o shell para Bash, que é um shell com mais recursos:

sudo usermod -s /bin/bash permanentuser

A opção -s especifica o novo shell de login para o usuário.

Vamos verificar se o shell foi alterado:

grep permanentuser /etc/passwd

O final da linha agora deve mostrar /bin/bash como o shell para permanentuser.

Diferentes shells fornecem diferentes recursos e experiências do usuário. Bash é um dos shells mais populares porque oferece recursos avançados como:

  • Conclusão de comando (Command completion)
  • Navegação no histórico de comandos
  • Prompts personalizáveis
  • Capacidades de script com funções e estruturas de controle

Outros shells comuns no Linux incluem:

  • /bin/sh - O Bourne Shell, um shell básico
  • /bin/zsh - Z Shell, com recursos adicionais além do Bash
  • /bin/dash - Debian Almquist Shell, um shell leve

Os usuários podem alternar entre os shells instalados durante sua sessão usando o comando chsh ou ter seu shell padrão alterado por um administrador usando usermod, como acabamos de fazer.

Definindo a Expiração da Conta e Visualizando Informações do Usuário

Administradores de sistema frequentemente precisam criar contas temporárias ou garantir que as contas sejam revisadas periodicamente. Nesta etapa, você aprenderá como definir uma data de expiração para uma conta e visualizar informações abrangentes do usuário.

Definindo a Expiração da Conta

Vamos definir uma data de expiração para a conta permanentuser. Isso é útil para usuários temporários ou contratados que devem ter acesso apenas por um período específico.

sudo usermod -e 2023-12-31 permanentuser

A opção -e define a data de expiração no formato AAAA-MM-DD. Após esta data, a conta será automaticamente desativada.

Para verificar se a data de expiração foi definida:

sudo chage -l permanentuser

O comando chage -l exibe informações de envelhecimento da conta. A saída incluirá uma linha "Account expires" mostrando a data que você acabou de definir.

Visualizando Informações Detalhadas do Usuário

Existem vários comandos para visualizar informações do usuário no Linux. Vamos explorá-los:

  1. Verifique o ID do usuário, ID do grupo e associações de grupo:
id permanentuser

Este comando mostra o ID numérico do usuário (UID), o ID do grupo primário (GID) e todos os grupos aos quais o usuário pertence.

  1. Visualize o status da senha e informações de envelhecimento:
sudo passwd -S permanentuser

Este comando mostra o status da senha (bloqueada, expirada, etc.) e quando ela foi alterada pela última vez.

  1. Visualize todos os usuários no sistema:
cat /etc/passwd | grep -v nologin | grep -v false

Este comando filtra o arquivo de senhas para mostrar apenas os usuários que podem fazer login (excluindo usuários do sistema).

  1. Visualize todos os grupos no sistema:
cat /etc/group

Isso mostra todos os grupos definidos no sistema, incluindo grupos do sistema e grupos de usuários.

Compreender como recuperar informações do usuário de forma eficiente é crucial para a administração do sistema e a solução de problemas de acesso do usuário.

Resumo

Neste laboratório, você aprendeu tarefas essenciais de gerenciamento de usuários no Linux:

  1. Criar um usuário e renomeá-lo com o comando usermod -l
  2. Configurar um diretório home para um usuário com usermod -d -m
  3. Adicionar um usuário a grupos suplementares com usermod -aG
  4. Alterar o shell de login de um usuário com usermod -s
  5. Definir datas de expiração da conta com usermod -e
  6. Visualizar informações do usuário com comandos como id, chage e examinando arquivos do sistema

Essas habilidades de gerenciamento de usuários são fundamentais para qualquer administrador Linux. O comando usermod fornece um conjunto de ferramentas versátil para modificar atributos de usuário sem ter que excluir e recriar contas de usuário.

Ao dominar esses comandos, você pode gerenciar eficientemente contas de usuário em qualquer ambiente Linux, seja uma estação de trabalho de usuário único, um servidor multiusuário ou um ambiente empresarial com muitos usuários que exigem diferentes níveis de acesso.