Segurança básica e identificação de tipos de usuário [Guia Básico]

A administração das contas de usuário no Linux é relativamente fácil. As contas de usuário são gravadas em um arquivo especial chamado /etc/passwd. As senhas são gravadas no /etc/shadow e os grupos de usuários no /etc/group.

Aprenda muito mais com o nosso curso online de segurança no Linux

Arquivo de contas de usuário /etc/passwd

Neste arquivo são gravados os dados como login do usuário, senha, identificador, grupo a que ele pertence, nome do usuário, diretório home e shell. 

O formato do passwd é:

Login:senha:UID:GID:comentário:home:shell

Cada elemento que constitui o conteúdo do arquivo /etc/passwd é separado por dois-pontos, na seguinte sequência: 

Login: O login é a identificação que o usuário vai utilizar no sistema. Este deve ser único, sem espaços e geralmente uma abreviação do nome. Algumas aplicações necessitam ter um usuário próprio que definirá as permissões de segurança;

Senha: O x representa a senha do usuário. Nos primórdios do Linux a senha criptografada era gravada neste campo no lugar do x. Mas como vários aplicativos e utilitários precisam ter acesso ao conteúdo do arquivo passwd, ele precisa ter permissões de leitura para todos. Logo se percebeu que não era muito seguro, e a senha criptografada foi colocada em outro arquivo especial chamado shadow com permissões de leitura somente para o root. Se a senha não contiver nenhum caracter (vazio), o login poderá ser permitido sem perguntar senha;

ID do usuário (User ID – UID): Este ID é numérico único para cada conta de usuário. Por definição o ID zero (0) é designado para o usuário root, que habilita os seus poderes como administrador do sistema. Por convenção os IDs de 1 a 99 são utilizados para uso administrativo e contas de usuário utilizadas por serviços do sistema;

ID do Grupo (Group ID – GID): Este é o ID numérico do grupo ao qual o usuário pertence. Os usuários podem pertencer a grupos de trabalho para facilitar o compartilhamento de informações e gerência da segurança do sistema. O Group ID – GID precisa estar cadastrado no arquivo de controle de grupo /etc/group;

Nome do usuário ou comentário: Este campo alfanumérico aceita espaços e é reservado para o nome do usuário ou qualquer outra observação pertinente;

Diretório Home: O diretório home é diretório padrão para a conta de usuário. É neste diretório que o dono da conta tem privilégios especiais. Neste campo do arquivo passwd deverá ser colocado o caminho completo do diretório home;

Shell: Neste campo é designado o executável do shell que cada usuário utiliza. O padrão é o Bourne Again Shell /bin/bash. Outros executáveis podem ser utilizados, como o /bin/sh, /bin/tcsh ou qualquer outro programa que será executado logo após o processo de logon do usuário.  Existem arquivos especiais como o /bin/false. Este programa simplesmente não faz nada, proibindo o usuário da conta logar no sistema interativamente. Outra possibilidade é o arquivo /sbin/nologin. Este programa também não permite que o usuário entre no sistema de forma interativa, mas exibe uma mensagem que pode ser configurada no arquivo /etc/nologin.txt

As contas de usuário que contém um falso shell como o /bin/false ou /sbin/nologin geralmente são usadas como contas especiais, utilizadas por programas, como, por exemplo, para dar acesso limitado aos arquivos. Por exemplo, o servidor Web Apache utiliza a conta de usuário “apache” para delimitar em quais arquivos o programa httpd pode ser capaz de gravar.

Já a conta do superusuário root tem características especiais, como o UserID é zero e grupo zero. Isso confere à conta superpoderes e acesso ilimitado a todos os recursos do sistema.

Veja um exemplo de contas de usuário no /etc/passwd:

root:x:0:0:root:/root:/bin/bash 
apache:x:48:48:Apache:/var/www:/sbin/nologin
openvpn:x:219:497:OpenVPN:/etc/openvpn:/sbin/nologin
zabbix:x:500:501::/home/zabbix:/bin/bash 
uira:x:501:501::/home/uira:/bin/bash

Arquivo de senhas /etc/shadow

Antigamente o Linux mantinha as senhas criptografadas no segundo campo do arquivo /etc/passwd. Como vários programas precisam de acesso às contas do sistema, as senhas foram movidas para o arquivo /etc/shadow, que não tem permissão de leitura para ninguém.

Além disso, se todos tem acesso ao arquivo com as senhas criptografadas, um ataque do tipo força bruta pode ser feito, gerando combinações de palavras, números e símbolos que são criptografados e comparados com as senhas criptografadas, até que uma comparação seja positiva. Por isso, o fato de apenas o root ter acesso ao /etc/shadow dificulta este ataque.

$ ls -l passwd shadow
-rw-r--r-- 1 root root 1573 out 15 02:12 passwd
---------- 1 root root  760 out 15 02:12 shadow

As senhas no Linux são criptografadas de uma forma que não é possível recuperação usando a engenharia reversa.

Arquivo de grupos /etc/group

Para facilitar a administração das permissões de acesso aos recursos e arquivos do sistema, o Linux faz uso do conceito de grupos de trabalho. Cada usuário faz parte de pelo menos um grupo de trabalho, definido no /etc/passwd através do campo Group ID

Os Grupos de Trabalho e seus respectivos Group IDs são definidos no arquivo /etc/group:

nomedogrupo:senha:GID:listademembros

Cada coluna separada por dois pontos do arquivo tem o significado a seguir:

Nome do grupo: O nome do grupo precisa ser único no sistema.

Senha do Grupo: Assim como as contas de usuário, os grupos podem também fazer uso de senha para que um usuário possa ingressar nele. As senhas de grupo foram criptografadas e movidas para o arquivo /etc/gshadow. Este campo atualmente contém um “x”;

ID do grupo (Group ID ou GID): Cada grupo precisa de um ID numérico inteiro positivo único. Este ID é referenciado no arquivo /etc/passwd;

Lista de Membros: Os grupos de usuários podem conter um ou mais membros e um usuário pode ser membro de mais de um grupo. Este campo contém uma lista de logins de usuários que fazem parte de um grupo.

Algumas distribuições como o Redhat criam um grupo de usuário para cada usuário criado no sistema. Outras distribuições como o SuSE utilizam o grupo users (GID 100) para todos os usuários.

Veja um exemplo do /etc/group:

root:x:0:root
daemon:x:10:wwwrun,sendmail,squid
users:x:500:uira,carla 

Você que é profissional de TI, de suporte ou desenvolvedor, já pensou em aprender Linux de verdade?

E ainda de quebra tirar uma certificação LPI Linux Essentials de quebra?

E melhor ainda, com o melhor curso Online para Linux?

Excelente!

★★★★★
- Janderson da Silva Jetto

Muito Bom

★★★★★
- Jayme Alvares G Filho

LPIC-101, LPIC-102 e CompTIA Linux+

★★★★★
ótimo livro ! parabéns pelo ótimo trabalho
- luiz ferraz

Recomendadissimo

★★★★★
Já obtive minha LPIC-1 e agradeço ao curso feito aqui, porque ajudou muito na obtenção da certificação
- Adriano de França Santos

Gostei demais...

★★★★★
Curso perfeito e excelente didática, Parabéns.
- José Luís Da Silva

Excelente

★★★★★
Ainda estou no Linux essencial.
- Fabio

Ótimos cursos

★★★★★
Os cursos do professor Uirá são ótimos para quem está se preparando para as certificações LPI e CompTIA Linux+ bem como para o mercado de trabalho. O professor aborta os assuntos de forma clara, concisa e objetiva. Além da teoria ganha-se muita prática podendo especialmente aplica-la através dos laboratórios GNU/Linux online disponíveis através do portal do aluno. Recomendo!
- Rodrigo Paiva

Ótimo Curso

★★★★★
O curso tem ótima didática, estou aprendendo muito com o livro e as videoulas.
- Charles Alves Fonseca

Melhor curso preparatório

★★★★★
O conteúdo abordado pelo prof. Uirá foi o melhor pro meu preparatório para LPI 1. Eu vinha de outro S.O e as aulas lecionadas aqui me ajudaram tanto para estudo quanto para manipulação do Linux no dia a dia. Aprendi muito rápido! Só tenho a agradecer ao professor Uirá pela excelente didática e material de estudo.
- Rayssa Cardoso

Material mais que essencial

★★★★★
Os assuntos são mostrados de maneira mais ampla, na medida certa dentro da prova. É um material atualizado, contendo o conteúdo que será abordado. Cria confiança de que o que está estudando é para passar e não para te enrolar. Recomendo!
- Edson

Certificação Linux LPI-1

★★★★★
Excelente livro. Além de me ajudar a estudar para a certificação também é um ótimo guia de referência. Muito didático.
- Giordane

Faça como essas pessoas e crie sua conta agora.

Aqui você tem tudo para você ter sucesso nas provas de LPI

Quer saber se uma certificação vale a pena ? Saiba por que os salários são bons, e, porque as empresas estão procurando profissionais de Linux. 

Você vai entender que os benefícios superam de longe o sacrifício.

E se você já se decidiu, veja nosso Guia de Certificação.

E se quer saber onde realizar as provas, consulte a lista de cidade.

Se quiser saber o idioma das provas, veja esse post.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, pode acessar aqui.

Gostou? Compartilhe