Linux Professional Institute Learning Logo.
Ir para o conteúdo principal
  • Home
    • Todos os recursos
    • LPI Materiais Didáticos
    • Colabore Conosco
    • Publishing Partners
    • Seja um Publishing Partner
    • Quem Somos
    • FAQ
    • Colaboradores
    • Contato
  • LPI.org
107.1 Lição 2
Tópico 105: Shells e scripts do Shell
105.1 Personalizar e trabalhar no ambiente shell
  • 105.1 Lição 1
  • 105.1 Lição 2
  • 105.1 Lição 3
105.2 Editar e escrever scripts simples
  • 105.2 Lição 1
  • 105.2 Lição 2
Tópico 106: Interfaces de usuário e Desktops
106.1 Instalar e configurar o X11
  • 106.1 Lição 1
106.2 Desktops gráficos
  • 106.2 Lição 1
106.3 Acessibilidade
  • 106.3 Lição 1
Tópico 107: Tarefas administrativas
107.1 Administrar contas de usuário, grupos e arquivos de sistema relacionados
  • 107.1 Lição 1
  • 107.1 Lição 2
107.2 Automatizar e agendar tarefas administrativas de sistema
  • 107.2 Lição 1
  • 107.2 Lição 2
107.3 Localização e internacionalização
  • 107.3 Lição 1
Tópico 108: Serviços essenciais do sistema
108.1 Manutenção da data e hora do sistema
  • 108.1 Lição 1
  • 108.1 Lição 2
108.2 Log do sistema
  • 108.2 Lição 1
  • 108.2 Lição 2
108.3 Fundamentos de MTA (Mail Transfer Agent)
  • 108.3 Lição 1
108.4 Configurar impressoras e impressão
  • 108.4 Lição 1
Tópico 109: Fundamentos de Rede
109.1 Fundamentos de protocolos de internet
  • 109.1 Lição 1
  • 109.1 Lição 2
109.2 Configuração persistente de rede
  • 109.2 Lição 1
  • 109.2 Lição 2
109.3 Soluções para problemas simples de rede
  • 109.3 Lição 1
  • 109.3 Lição 2
109.4 Configurar DNS cliente
  • 109.4 Lição 1
Tópico 110: Segurança
110.1 Tarefas administrativas de segurança
  • 110.1 Lição 1
110.2 Configurar a segurança do host
  • 110.2 Lição 1
110.3 Proteção de dados com criptografia
  • 110.3 Lição 1
  • 110.3 Lição 2
How to get certified
  1. Tópico 107: Tarefas administrativas
  2. 107.1 Administrar contas de usuário, grupos e arquivos de sistema relacionados
  3. 107.1 Lição 2

107.1 Lição 2

Certificação:

LPIC-1

Versão:

5.0

Tópico:

107 Tarefas administrativas

Objetivo:

107.1 Gerenciar contas de usuários e grupos e arquivos de sistema relacionados

Lição:

2 de 2

Introdução

As ferramentas de linha de comando discutidas na lição anterior e os aplicativos gráficos (fornecidos pelas distribuições) que executam as mesmas tarefas atualizam uma série de arquivos nos quais são armazenadas informações sobre os usuários e grupos.

Esses arquivos ficam no diretório /etc/ e são:

/etc/passwd

Um arquivo de sete campos delimitados por dois pontos contendo informações básicas sobre os usuários.

/etc/group

Um arquivo de quatro campos delimitados por dois pontos contendo informações básicas sobre os grupos.

/etc/shadow

Um arquivo de nove campos delimitados por dois pontos contendo senhas de usuário criptografadas.

/etc/gshadow

Um arquivo de quatro campos delimitados por dois pontos contendo senhas de grupo criptografadas.

Embora esses quatro arquivos estejam em texto simples, eles não devem jamais ser editados diretamente, mas sim por meio das ferramentas fornecidas pela distribuição que se está usando.

/etc/passwd

Este é um arquivo legível por todos contendo uma lista de usuários em linhas separadas. Cada linha consiste em sete campos delimitados por dois pontos:

Nome de usuário

O nome usado quando o usuário se loga no sistema.

Senha

A senha criptografada (ou um x no caso de senhas shadow).

ID de usuário (UID)

O número de identificação atribuído ao usuário no sistema.

ID de grupo (GID)

O número do grupo principal do usuário no sistema.

GECOS

Um campo de comentário opcional, usado para adicionar informações extras sobre o usuário (como o nome completo). O campo pode conter várias entradas separadas por vírgulas.

Diretório inicial

O caminho absoluto do diretório inicial do usuário.

Shell

O caminho absoluto do programa que é iniciado automaticamente quando o usuário efetua login no sistema (geralmente um shell interativo como /bin/bash).

/etc/group

Este é um arquivo legível por todos contendo uma lista de grupos em linhas separadas. Cada linha consiste em quatro campos delimitados por dois pontos:

Nome do grupo

O nome do grupo.

Senha do grupo

A senha criptografada do grupo (ou um x se forem usadas senhas shadow).

ID do grupo (GID)

O número de identificação atribuído ao grupo no sistema.

Lista de membros

Uma lista delimitada por vírgulas de usuários pertencentes ao grupo, exceto aqueles para os quais este é o grupo principal.

/etc/shadow

Este é um arquivo que pode ser lido apenas pelo root e por usuários com privilégios de root contendo senhas de usuário criptografadas em linhas separadas. Cada linha consiste em nove campos delimitados por dois pontos:

Nome de usuário

O nome usado quando o usuário se loga no sistema.

Senha criptografada

A senha criptografada do usuário (se o valor começar com !, a conta está bloqueada).

Data da última mudança de senha

A data da última alteração de senha, em número de dias desde 01/01/1970 (o valor 0 significa que o usuário deve alterar a senha no próximo login).

Idade mínima da senha

O número mínimo de dias que devem decorrer após uma alteração de senha para que o usuário tenha permissão de alterar a senha novamente.

Idade máxima da senha

O número máximo de dias que devem se passar antes que uma alteração de senha seja necessária.

Período de aviso de senha

O número de dias até a expiração da senha, durante os quais o usuário é avisado de que a senha deve ser alterada.

Período de inatividade da senha

O número de dias após a expiração de uma senha, durante os quais o usuário deve atualizá-la. Após esse período, se o usuário não alterar a senha, a conta é desativada.

Data de expiração da conta

A data, em número de dias desde 01/01/1970, na qual a conta do usuário será desativada. Um campo vazio indica que a conta do usuário nunca expirará.

Um campo reservado

Um campo reservado para uso futuro.

/etc/gshadow

Este é um arquivo legível apenas pelo root e por usuários com privilégios de root que contém senhas criptografadas para grupos em linhas separadas. Cada linha consiste em quatro campos delimitados por dois pontos:

Nome do grupo

O nome do grupo.

Senha criptografada

A senha criptografada do grupo (é usada quando um usuário que não é membro do grupo deseja ingressar no grupo usando o comando newgrp -- se a senha começar com !, ninguém tem permissão de acessar o grupo com newgrp).

Administradores do grupo

Uma lista dos administradores do grupo delimitada por vírgulas (eles podem alterar a senha do grupo, bem como adicionar ou remover membros do grupo com o comando gpasswd).

Membros do grupo

Uma lista dos membros do grupo delimitada por vírgulas.

Como filtrar os bancos de dados de senha e grupo

É frequentemente necessário rever as informações sobre usuários e grupos armazenadas nesses quatro arquivos e pesquisar por registros específicos. Para realizar esta tarefa, usamos o comando grep ou, alternativamente, concatenamos cat e grep.

# grep emma /etc/passwd
emma:x:1020:1020:User Emma:/home/emma:/bin/bash
# cat /etc/group | grep db-admin
db-admin:x:1050:grace,frank

Outra maneira de acessar esses bancos de dados é usar o comando getent. Em geral, esse comando exibe entradas de bancos de dados suportados pelas bibliotecas Name Service Switch (NSS) e requer o nome do banco de dados e uma chave de pesquisa. Se nenhum argumento-chave for fornecido, todas as entradas do banco de dados especificado serão exibidas (a menos que o banco de dados não suporte enumeração). Caso contrário, se um ou mais argumentos-chave forem fornecidos, o banco de dados será filtrado de acordo.

# getent passwd emma
emma:x:1020:1020:User Emma:/home/emma:/bin/bash
# getent group db-admin
db-admin:x:1050:grace,frank

O comando getent não requer autoridade de root; você só precisa ter a permissão para ler o banco de dados do qual deseja recuperar os registros.

Note

Lembre-se de que o getent só pode acessar os bancos de dados configurados no arquivo /etc/nsswitch.conf.

Exercícios Guiados

  1. Analise esta saída e responda às questões a seguir:

    # cat /etc/passwd | grep '\(root\|mail\|catherine\|kevin\)'
    root:x:0:0:root:/root:/bin/bash
    mail:x:8:8:mail:/var/spool/mail:/sbin/nologin
    catherine:x:1030:1025:User Chaterine:/home/catherine:/bin/bash
    kevin:x:1040:1015:User Kevin:/home/kevin:/bin/bash
    # cat /etc/group | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:x:0:
    mail:x:8:
    db-admin:x:1015:emma,grace
    app-developer:x:1016:catherine,dave,christian
    # cat /etc/shadow | grep '\(root\|mail\|catherine\|kevin\)'
    root:$6$1u36Ipok$ljt8ooPMLewAhkQPf.lYgGopAB.jClTO6ljsdczxvkLPkpi/amgp.zyfAN680zrLLp2avvpdKA0llpssdfcPppOp:18015:0:99999:7:::
    mail:*:18015:0:99999:7:::
    catherine:$6$ABCD25jlld14hpPthEFGnnssEWw1234yioMpliABCdef1f3478kAfhhAfgbAMjY1/BAeeAsl/FeEdddKd12345g6kPACcik:18015:20:90:5:::
    kevin:$6$DEFGabc123WrLp223fsvp0ddx3dbA7pPPc4LMaa123u6Lp02Lpvm123456pyphhh5ps012vbArL245.PR1345kkA3Gas12P:18015:0:60:7:2::
    # cat /etc/gshadow | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:*::
    mail:*::
    db-admin:!:emma:emma,grace
    app-developer:!::catherine,dave,christian
    • Qual o identificador de usuário (UID) e identificador de grupo (GID) de root e catherine?

    • Qual o nome do grupo principal de kevin? Existem outros membros neste grupo?

    • Qual shell está configurado para mail? O que isso significa?

    • Quem são os membros do grupo app-developer? Quais deles são administradores e quais são membros comuns do grupo?

    • Qual o tempo de vida mínimo da senha de catherine? E qual o tempo de vida máximo da senha?

    • Qual o período de inatividade da senha para kevin?

  2. Por convenção, quais IDs são atribuídos às contas do sistema e quais aos usuários comuns?

  3. Como você descobre se uma conta de usuário, anteriormente capaz de acessar o sistema, agora está bloqueada? Suponha que seu sistema use senhas shadow.

Exercícios Exploratórios

  1. Crie uma conta de usuário chamada christian usando o comando useradd -m e identifique sua ID de usuário (UID), ID de grupo (GID) e shell.

  2. Identifique o nome do grupo principal de christian. O que podemos deduzir?

  3. Usando o comando getent, reveja as informações de validade da senha para a conta de usuário christian.

  4. Adicione o grupo editor aos grupos secundários de christian. Suponha que este grupo já contenha emma, dave e frank como membros comuns. Como você pode conferir se não há administradores para este grupo?

  5. Execute o comando ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow e descreva a saída em termos de permissões de arquivos. Quais desses quatro arquivos estão em shadow por razões de segurança? Pressuponha que seu sistema usa senhas shadow.

Resumo

Nesta lição, você aprendeu:

  • A localização dos arquivos que armazenam informações sobre usuários e grupos.

  • Gerenciar informações de usuários e grupos armazenadas em bancos de dados de senhas e grupos.

  • Recuperar informações de bancos de dados de senha e grupo.

Os seguintes arquivos e comandos foram discutidos nesta lição:

/etc/passwd

O arquivo que contém informações básicas sobre os usuários.

/etc/group

O arquivo que contém informações básicas sobre grupos.

/etc/shadow

O arquivo que contém senhas de usuário criptografadas.

/etc/gshadow

O arquivo que contém as senhas de grupo criptografadas.

getent

Filtra os bancos de dados de senha e grupo.

Respostas aos Exercícios Guiados

  1. Analise esta saída e responda às questões a seguir:

    # cat /etc/passwd | grep '\(root\|mail\|catherine\|kevin\)'
    root:x:0:0:root:/root:/bin/bash
    mail:x:8:8:mail:/var/spool/mail:/sbin/nologin
    catherine:x:1030:1025:User Chaterine:/home/catherine:/bin/bash
    kevin:x:1040:1015:User Kevin:/home/kevin:/bin/bash
    # cat /etc/group | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:x:0:
    mail:x:8:
    db-admin:x:1015:emma,grace
    app-developer:x:1016:catherine,dave,christian
    # cat /etc/shadow | grep '\(root\|mail\|catherine\|kevin\)'
    root:$6$1u36Ipok$ljt8ooPMLewAhkQPf.lYgGopAB.jClTO6ljsdczxvkLPkpi/amgp.zyfAN680zrLLp2avvpdKA0llpssdfcPppOp:18015:0:99999:7:::
    mail:*:18015:0:99999:7:::
    catherine:$6$ABCD25jlld14hpPthEFGnnssEWw1234yioMpliABCdef1f3478kAfhhAfgbAMjY1/BAeeAsl/FeEdddKd12345g6kPACcik:18015:20:90:5:::
    kevin:$6$DEFGabc123WrLp223fsvp0ddx3dbA7pPPc4LMaa123u6Lp02Lpvm123456pyphhh5ps012vbArL245.PR1345kkA3Gas12P:18015:0:60:7:2::
    # cat /etc/gshadow | grep '\(root\|mail\|db-admin\|app-developer\)'
    root:*::
    mail:*::
    db-admin:!:emma:emma,grace
    app-developer:!::catherine,dave,christian
    • Qual o identificador de usuário (UID) e identificador de grupo (GID) de root e catherine?

      O UID e GID de root são 0 e 0, ao passo que o UID e GID de catherine são 1030 e 1025.

    • Qual o nome do grupo principal de kevin? Existem outros membros neste grupo?

      O nome do grupo é db-admin. emma e grace também estão nesse grupo.

    • Qual shell está configurado para mail? O que isso significa?

      mail é uma conta de usuário do sistema e seu shell é /sbin/nologin. Na verdade, as contas de usuário do sistema como mail, ftp, news e daemon são usadas para realizar tarefas administrativas e, portanto, é necessário evitar que essas contas façam login normalmente. É por essa razão que o shell costuma ser configurado para /sbin/nologin ou /bin/false.

    • Quem são os membros do grupo app-developer? Quais deles são administradores e quais são membros comuns do grupo?

      Os membros são catherine, dave e christian, e eles são todos membros comuns.

    • Qual o tempo de vida mínimo da senha de catherine? E qual o tempo de vida máximo da senha?

      A vida útil mínima da senha é de 20 dias e a vida útil máxima da senha é 90 dias.

    • Qual o período de inatividade da senha para kevin?

      O período de inatividade da senha é de 2 dias. Durante este período, kevin deve atualizar a senha, caso contrário a conta será desativada.

  2. Por convenção, quais IDs são atribuídos às contas do sistema e quais aos usuários comuns?

    As contas do sistema geralmente têm UIDs menores que 100 ou entre 500 e 1000, enquanto os usuários comuns têm UIDs começando em 1000 (embora alguns sistemas legados comecem a numerar em 500). O usuário root tem UID 0. Os valores UID_MIN e UID_MAX em /etc/login.defs definem a faixa de UIDs usados para a criação de usuários comuns. Do ponto de vista do LPI Linux Essentials e do LPIC-1, as contas do sistema têm UIDs menores que 1000 e os usuários comuns têm UIDs maiores que 1000.

  3. Como você descobre se uma conta de usuário, anteriormente capaz de acessar o sistema, agora está bloqueada? Suponha que seu sistema use senhas shadow.

    Quando se usam senhas shadow, o segundo campo em /etc/passwd contém o caractere x de cada conta de usuário, pois as senhas de usuário criptografadas são armazenadas em /etc/shadow. Em particular, a senha criptografada de uma conta de usuário é armazenada no segundo campo deste arquivo e, se ela iniciar com um ponto de exclamação, a conta está bloqueada.

Respostas aos Exercícios Exploratórios

  1. Crie uma conta de usuário chamada christian usando o comando useradd -m e identifique sua ID de usuário (UID), ID de grupo (GID) e shell.

    # useradd -m christian
    # cat /etc/passwd | grep christian
    christian:x:1050:1060::/home/christian:/bin/bash

    O UID e GID de christian são 1050 e 1060 respectivamente (o terceiro e o quarto campos em /etc/passwd). /bin/bash é o shell definido para esta conta de usuário (o sétimo campo em /etc/passwd).

  2. Identifique o nome do grupo principal de christian. O que podemos deduzir?

    # cat /etc/group | grep 1060
    christian:x:1060:

    O nome do grupo principal de christian é christian (o primeiro campo em /etc/group). Portanto, USERGROUPS_ENAB em /etc/login.defs é definido como sim, de modo que useradd cria, por padrão, um grupo com o mesmo nome da conta de usuário.

  3. Usando o comando getent, reveja as informações de validade da senha para a conta de usuário christian.

    # getent shadow christian
    christian:!:18015:0:99999:7:::

    A conta de usuário christian não tem a senha definida e agora está bloqueada (o segundo campo em /etc/shadow contém um ponto de exclamação). Não há idade mínima e máxima de senha para esta conta de usuário (o quarto e o quinto campos em /etc/shadow estão definidos como 0 e 99999 dias), ao passo que o período de aviso de senha está configurado para 7 dias (o sexto campo em /etc/shadow). Finalmente, não há período de inatividade (o sétimo campo em /etc/shadow) e a conta jamais expira (o oitavo campo em /etc/shadow).

  4. Adicione o grupo editor aos grupos secundários de christian. Suponha que este grupo já contenha emma, dave e frank como membros comuns. Como você pode conferir se não há administradores para este grupo?

    # cat /etc/group | grep editor
    editor:x:1100:emma,dave,frank
    # usermod -a -G editor christian
    # cat /etc/group | grep editor
    editor:x:1100:emma,dave,frank,christian
    # cat /etc/gshadow | grep editor
    editor:!::emma,dave,frank,christian

    O terceiro e quarto campos em /etc/ghadow contêm administradores e membros comuns do grupo especificado. Portanto, como o terceiro campo de editor está vazio, este grupo não tem administradores (emma, dave, frank e christian são todos membros comuns).

  5. Execute o comando ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow e descreva a saída em termos de permissões de arquivos. Quais desses quatro arquivos estão em shadow por razões de segurança? Pressuponha que seu sistema usa senhas shadow.

    # ls -l /etc/passwd /etc/group /etc/shadow /etc/gshadow
    -rw-r--r-- 1 root root    853 mag  1 08:00 /etc/group
    -rw-r----- 1 root shadow 1203 mag  1 08:00 /etc/gshadow
    -rw-r--r-- 1 root root   1354 mag  1 08:00 /etc/passwd
    -rw-r----- 1 root shadow 1563 mag  1 08:00 /etc/shadow

    Os arquivos /etc/passwd e /etc/group são legíveis por todos e estão na sombra por motivos de segurança. Quando senhas shadow são usadas, vemos um x no segundo campo desses arquivos, pois as senhas criptografadas de usuários e grupos são armazenadas em /etc/shadow e /etc/gshadow, que são legíveis somente por root e, em meu sistema, até mesmo pelos membros do grupo shadow.

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

Próxima Lição

107.2 Automatizar e agendar tarefas administrativas de sistema (107.2 Lição 1)

Ir para a próxima lição

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

A LPI é uma organização sem fins lucrativos.

© 2023 O Linux Professional Institute (LPI) é um organismo de apoio aos profissionais de Open Source e referência mundial em certificação. Com mais de 200.000 pessoas certificadas, somos o principal organismo de certificação independente para Linux e Open Source do mundo. O LPI certificou profissionais de mais de 180 países, oferece exames em diversos idiomas e tem centenas de parcerias de formação em todo o globo.

Nossa missão é proporcionar oportunidades econômicas e criativas para todos, tornando universalmente acessível a certificação de conhecimentos e competências em matéria de Open Source.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Entre em Contato
  • Política de Privacidade e Cookies

Encontrou um erro ou quer ajudar a aprimorar esta página? Escreva pra nós.

© 1999–2023 The Linux Professional Institute Inc. Todos os direitos reservados.