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 possui 2 identificadores exclusivos: o nome de usuário e o identificador 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 quaisquer restrições.

O usuário root pode fazer praticamente qualquer coisa no sistema. A suposição dos sistemas Linux e semelhantes ao 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 você precisa fazer é executar um comando fatal, e o sistema irá pelos ares.

Por essa razão, executar comandos como o usuário root é altamente desaconselhável. Em vez disso, a boa prática exige que você deve configurar um usuário sudo. Ou seja, conceder privilégios sudo a um usuário regular para realizar certas tarefas administrativas e restringir algumas tarefas apenas ao usuário root.

Usuário Regular

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 não-login que é 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ários

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 bastante informação sobre os usuários, que está contida em vários campos. Para visualizar o conteúdo do arquivo, basta usar o comando cat como mostrado.

$ cat /etc/passwd

Aqui está um trecho da saída.

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

Vamos focar na primeira linha e detalhar os vários campos. Começando pela 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 de 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.
  • Este é o shell de Login. Para usuários regulares de login, isso é geralmente representado como /bin/bash. Para contas de serviço como SSH ou MySQL, isso é geralmente representado como /bin/false.

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 correspondente ao nome de usuário do usuário. Isso é conhecido como o grupo primário. O usuário é adicionado ao grupo primário à criação.

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

$ cat /etc/group

tecmint:x:1002:

O arquivo /etc/group tem 3 colunas. Desde a coluna mais à esquerda, temos:

  • Nome do grupo. Cada nome de grupo deve ser único.
  • Senha do grupo. Normalmente representada por um caractere x.
  • ID de grupo (GID)
  • Membros do grupo. Esses são membros que fazem parte do grupo. Este campo está vazio se o usuário for o único membro do grupo.

NOTA: Um usuário pode ser membro de múltiplos grupos. Da mesma forma, um grupo pode ter múltiplos membros.

Para confirmar os grupos que 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

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 normais. Ele é só lido pelo usuário root e usuários com privilégios de sudo.

$ sudo cat /etc/gshadow

tecmint:!::

Da coluna mais à esquerda, 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 tem 9 campos. Começando da esquerda temos:

  • O nome de usuário: Este é o seu nome de login.
  • A senha do usuário. Isso é apresentado em um formato hash ou criptografado.
  • A última alteração de senha. Esta é a data desde que a senha foi alterada e é calculada desde a data da época. Época é 1º de janeiro de 1970.
  • A idade mínima da senha. Este é o número mínimo de dias que deve passar antes que uma senha possa ser definida.
  • A idade máxima da senha. Este é o número máximo de dias após o qual 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 da iminente expiração da senha.
  • O período de inatividade. O número de dias após a expiração de uma senha que uma conta de usuário é desativada sem que o usuário mude a senha.
  • A data de expiração. A data em que a conta do usuário expirou.
  • Campo reservado. – Isso é deixado em branco.

Como adicionar usuários em um sistema Linux

Para as distribuições Debian e Ubuntu, a ferramenta adduser é usada 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

Ao ver o resultado, verá que um usuário chamado “bob” foi criado e adicionado a um novo grupo chamado “bob”. Além disso, o sistema também cria um diretório pessoal e copia arquivos de configuração para ele.

Apos isso, você será solicitado para inserir a senha do novo usuário e confirmá-la. A shell também pedirá o nome completo do usuário e outras informações opcionais, como o número do quarto e o telefone do trabalho. Estas informações não são necessárias, portanto, é seguro pular. Finalmente, pressione ‘Y’ para confirmar que as informações fornecidas são corretas.

Add User in Ubuntu

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

# useradd bob

A seguir, configure a senha do usuário usando o comando passwd da seguinte forma.

# passwd bob
Add User in CentOS

Como Excluir Usuários em um Sistema Linux

Para excluir um usuário do sistema, é recomendável primeiro bloquear o usuário, impedindo-o de entrar no sistema, como mostrado.

# passwd -l bob

Se você quiser, 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 home, 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 home.

Conclusão

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

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