Linux é um sistema operacional multiusuário e multitarefa, onde a gestão eficiente de contas de usuário e grupos é essencial para a segurança e organização do sistema.
Em um ambiente multiusuário, vários operadores podem acessar o mesmo servidor simultaneamente, por meio de conexões remotas como SSH, realizando tarefas distintas. Cada usuário é identificado por um Identificador de Usuário (UID) único, e pertence a um ou mais grupos, definidos por Identificadores de Grupo (GID).
As contas de usuário são categorizadas em três tipos principais:
- Usuário root (UID 0): Conta de superusuário com permissões totais no sistema.
- Usuários do sistema (UID 1-499): Contas para serviços e processos, normalmente sem capacidade de login interativo.
- Usuários comuns (UID 500+): Contas para operadores humanos, com permissões limitadas.
A segurança é aprimorada por meio de permissões de arquivo baseadas em usuários e grupos. Por exemplo, um arquivo pode ser configurado para acesso exclusivo por um usuário específico, protegendo dados privados.
Arquivos de Configuração do Sistema
O Linux utiliza arquivos específicos para armazenar informações de contas:
/etc/passwd: Contém informações básicas do usuário, como nome, UID, GID, diretório home e shell. A senha está substituída por 'x'./etc/shadow: Armazena senhas criptografadas e políticas de expiração. Acessível apenas por root./etc/group: Define os grupos e seus membros./etc/gshadow: Armazena senhas de grupos e administradores.
Exemplo de entrada em /etc/passwd:
operador1:x:1001:1001:Operador:/home/operador1:/bin/bash
Campos: nome do usuário, senha (x), UID, GID, descrição, diretório home, shell.
Gerenciamento de Contas com Comandos
Comandos essenciais para administração de usuários e grupos incluem:
Criando Usuários
O comando useradd é usado para adicionar novos usuários. As configurações padrão são lidas de /etc/login.defs e /etc/default/useradd.
Exemplo: criar um usuário com UID específico e shell definido:
useradd -u 2001 -s /bin/sh operador2
Isso cria o usuário 'operador2' com UID 2001 e shell '/bin/sh'.
Modificando Usuários
O comando usermod permite alterar atributos de um usuário existente.
Exemplo: adicionar um usuário a um grupo suplementar:
usermod -aG desenvolvedores operador1
Gerenciando Senhas
O comando passwd é usado para definir ou alterar senhas.
Exemplo: bloquear uma conta de usuário:
passwd -l operador2
Criando e Gerenciando Grupos
Use groupadd para criar grupos:
groupadd -g 3001 projetos
Para adicionar membros a um grupo, use gpasswd:
gpasswd -a operador1 projetos
Diretórios de Configuração Inicial
O diretório /etc/skel contém arquivos modelo que são copiados para o diretório home de novos usuários. Modificações aqui afetam o ambiente padrão dos usuários.
Por exemplo, adicionar um arquivo '.bashrc' personalizado em /etc/skel garantirá que todos os novos usuários recebam essa configuração.
Configurações em /etc/login.defs definem limites como faixas de UID/GID e políticas de senha. Alterações nesses arquivos afetam a criação de futuras contas.