LFCA: Aprenda Gerenciamento de Contas de Usuário – Parte 5

Como administrador de sistema Linux, você será encarregado de garantir o fluxo suave de todas as operações de TI em sua organização. Dado que algumas operações de TI estão entrelaçadas, um administrador de sistemas geralmente desempenha muitos papéis, incluindo ser um administrador de banco de dados ou de rede.

Este artigo é Parte 5 da série LFCA, aqui nesta parte, você se familiarizará com os comandos gerais de administração do sistema para criar e gerenciar usuários em um sistema Linux.

Gerenciamento de Conta de Usuário no Linux

Uma das responsabilidades principais de um administrador de sistemas Linux é criar e gerenciar usuários em um sistema Linux. Cada conta de usuário tem 2 identificadores únicos: o nome de usuário e o ID de usuário (UID).

Essencialmente, existem 3 categorias principais de usuários no Linux:

Usuário Root

O usuário root é o usuário mais poderoso em um sistema Linux e geralmente é criado durante o processo de instalação. O usuário root tem poder absoluto no sistema Linux ou em qualquer outro sistema operacional semelhante ao UNIX. O usuário pode acessar todos os comandos, arquivos e diretórios e modificar o sistema conforme sua preferência.

O usuário root pode atualizar o sistema, instalar e desinstalar pacotes, adicionar ou remover outros usuários, conceder ou revogar permissões e realizar qualquer outra tarefa de administração do sistema sem restrições.

O usuário root pode fazer praticamente qualquer coisa no sistema. A suposição dos sistemas Linux e UNIX é que você sabe muito bem o que está fazendo com o sistema. Dito isso, o usuário root pode facilmente quebrar o sistema. Tudo o que é preciso é você executar um comando fatal, e o sistema irá por água abaixo.

Por esse motivo, é altamente desencorajado executar comandos como usuário root. Em vez disso, a boa prática exige que você deve configurar um usuário sudo. Isso significa conceder privilégios de sudo a um usuário comum para realizar determinadas tarefas administrativas e restringir algumas tarefas apenas ao usuário root.

Usuário Comum

A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.

A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.

Conta de Serviço

Esta é uma conta de não login criada quando um pacote de software é instalado. Tais contas são usadas por serviços para executar processos no sistema. Elas não são projetadas ou destinadas a realizar tarefas rotineiras ou administrativas no sistema.

Arquivos de Gerenciamento de Usuário

As informações sobre os usuários em um sistema Linux são armazenadas nos seguintes arquivos:

  • O arquivo /etc/passwd
  • O arquivo /etc/group
  • O arquivo /etc/gshadow
  • O arquivo /etc/shadow

Vamos entender cada arquivo e o que ele faz:

O arquivo /etc/passwd

O arquivo /etc/passwd contém muitas informações sobre os usuários que estão em vários campos. Para visualizar o conteúdo do arquivo, basta usar o comando cat conforme mostrado.

$ cat /etc/passwd

Aqui está um trecho da saída.

tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash

Vamos nos concentrar na primeira linha e detalhar os vários campos. Começando da extrema esquerda, temos o seguinte:

  • O nome de usuário: Este é o nome do usuário, neste caso, tecmint.
  • A senha: A segunda coluna representa a senha criptografada do usuário. A senha não é impressa em texto simples, em vez disso, um espaço reservado com um sinal x é usado.
  • O UID: Este é o ID do usuário. É um identificador único para cada usuário.
  • O GID: Este é o ID do grupo.
  • A brief description or summary of the user.
  • Este é o caminho para o diretório home do usuário. Para o usuário tecmint, temos /home/tecmint.
  • Esta é a shell de login. Para usuários de login regulares, isso geralmente é representado como /bin/bash. Para contas de serviço como SSH ou MySQL, isso geralmente é representado como /bin/false.

O Arquivo /etc/group

Este arquivo contém informações sobre os grupos de usuários. Quando um usuário é criado, o shell automaticamente cria um grupo que corresponde ao nome de usuário do usuário. Isso é conhecido como o grupo primário. O usuário é adicionado ao grupo primário após a criação.

Por exemplo, se você criar um usuário chamado bob, o sistema automaticamente criará um grupo chamado bob e adicionará o usuário bob ao grupo.

$ cat /etc/group

tecmint:x:1002:

O arquivo /etc/group possui 3 colunas. Do lado mais distante, temos:

  • Nome do grupo. Cada nome de grupo deve ser único.
  • Senha do grupo. Geralmente representado por um espaço reservado x.
  • ID do grupo (GID)
  • Membros do grupo. Estes são membros que pertencem ao grupo. Esse campo é deixado em branco se o usuário for o único membro no grupo.

OBSERVAÇÃO: Um usuário pode ser membro de vários grupos. Da mesma forma, um grupo pode ter vários membros.

Para confirmar os grupos aos quais um usuário pertence, execute o comando:

$ groups username

Por exemplo, para verificar os grupos aos quais o usuário tecmint pertence, execute o comando:

$ groups tecmint

A saída confirma que o usuário pertence a dois grupos: tecmint e sudo.

tecmint : tecmint sudo

O Arquivo /etc/gshadow

Este arquivo contém senhas criptografadas ou ‘shadowed‘ para contas de grupo e, por motivos de segurança, não pode ser acessado por usuários regulares. Somente é legível pelo usuário root e usuários com privilégios sudo.

$ sudo cat /etc/gshadow

tecmint:!::

Do lado mais distante, o arquivo contém os seguintes campos:

  • Nome do grupo
  • Senha do grupo criptografada
  • Administrador do grupo
  • Membros do grupo

O arquivo /etc/shadow

O arquivo /etc/shadow armazena as senhas reais dos usuários em um formato hash ou criptografado. Novamente, os campos são separados por dois pontos e seguem o formato mostrado.

$ sudo cat /etc/shadow

tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::

O arquivo possui 9 campos. Começando da extrema esquerda, temos:

  • O nome de usuário: Este é o seu nome de login.
  • A senha do usuário. Esta é apresentada em um formato hash ou criptografado.
  • A última alteração de senha. Esta é a data desde a última alteração da senha e é calculada desde a data do epoch. Epoch é o 1º de janeiro de 1970.
  • A idade mínima da senha. Este é o número mínimo de dias que devem passar antes que uma senha possa ser definida.
  • A idade máxima da senha. Este é o número máximo de dias após os quais uma senha deve ser alterada.
  • O período de aviso. Como o nome sugere, este é o número de dias pouco antes de uma senha expirar que um usuário é notificado sobre a iminente expiração da senha.
  • O período de inatividade. O número de dias após uma senha expirar que uma conta de usuário é desativada sem o usuário alterar a senha.
  • A data de expiração. A data em que a conta do usuário expirou.
  • Campo reservado. – Este é deixado em branco.

Como Adicionar Usuários em um Sistema Linux

Para as distribuições Debian e Ubuntu, o utilitário adduser é usado para adicionar usuários.

A sintaxe é bastante simples e direta.

# adduser username

Por exemplo, para adicionar um usuário chamado bob, execute o comando

# adduser bob

A partir da saída, um usuário chamado ‘bob‘ é criado e adicionado a um grupo recém-criado chamado ‘bob‘. Além disso, o sistema também cria um diretório home e copia arquivos de configuração para ele.

Em seguida, você será solicitado a inserir a senha do novo usuário e confirmá-la. O shell também solicitará o nome completo do usuário e outras informações opcionais, como número do quarto e telefone do trabalho. Essas informações não são realmente necessárias, então é seguro ignorá-las. Por fim, pressione ‘Y’ para confirmar que as informações fornecidas estão corretas.

Add User in Ubuntu

Para sistemas baseados em RHEL & CentOS, use o comando useradd.

# useradd bob

Em seguida, defina a senha para o usuário usando o comando passwd da seguinte maneira.

# passwd bob
Add User in CentOS

Como Excluir Usuários em um Sistema Linux

Para excluir um usuário do sistema, é aconselhável primeiro bloquear o usuário para que não possa fazer login no sistema, conforme mostrado.

# passwd -l bob

Se desejar, você pode fazer backup dos arquivos do usuário usando o comando tar.

# tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob
Lock User Account in Linux

Finalmente, para excluir o usuário juntamente com o diretório pessoal, use o comando deluser da seguinte forma:

# deluser --remove-home bob
Delete User in Linux

Além disso, você pode usar o comando userdel conforme mostrado.

# userdel -r bob

Os dois comandos removem completamente o usuário juntamente com seus diretórios pessoais.

Conclusão

Isso foi uma visão geral dos comandos de gerenciamento de usuários que serão úteis especialmente ao gerenciar contas de usuário no ambiente do seu escritório. Experimente-os de vez em quando para aprimorar suas habilidades de administração do sistema.

Source:
https://www.tecmint.com/linux-user-account-management/