Gerenciamento de Grupos e Usuários
no Linux
Material desenvolvido por Rafael Fernando Diorio
Última revisão em 04/08/2013
www.diorio.com.br
[email protected]
Tópicos

Introdução

Arquivos de grupos e usuários

Gerenciamento de grupos

Gerenciamento de usuários

Comandos úteis
Introdução
Assim como em outros SOs, o método de autenticação mais utilizado
no Linux está associado a “logins” e “senhas” de acesso...


Logins tipicamente referenciados a nomes de usuário e
comumente organizados em grupos departamentais.
Obs.: A conta destinada ao administrador Linux é a “root”.
Internamente, essas contas de usuário e de grupo são vistas a partir
de seus identificadores, denominados, respectivamente, UID e GID...

Quanto menor o UID, mais direitos o usuário possui;
✔
A conta “root” possui UID igual a zero.
Nesse contexto, o sistema fornece uma série de ferramentas
destinadas ao gerenciamento de usuários e grupos no Linux.
Arquivos de grupos e usuários
Todos os usuários e grupos do sistema possuem informações
armazenadas em arquivos específicos...
Os arquivos que armazenam as informações de contas de grupo são:

“/etc/group”
(cadastro de grupos do sistema)

E, “/etc/gshadow”
(senhas dos grupos do sistema)
De modo similar, os arquivos que armazenam as informações de
contas de usuário são:

“/etc/passwd”
(cadastro de usuários do sistema)

E, “/etc/shadow”
(senhas dos usuários do sistema)
Arquivos de usuários e grupos (cont.)
Esse recurso de separar o cadastro do usuário/grupo do arquivo que
armazena sua respectiva senha é denominado “senhas shadow”...

Utilizado para aprimorar a segurança do sistema:
✔
✔
Arquivos “/etc/passwd” e “/etc/group” podem ser lidos por
todos;
Arquivos “/etc/shadow” e “/etc/gshadow” podem ser lidos
somente pelo “root”.
Obs.: A utilização desse recurso (“senhas shadow”) é padrão nos
Linux atuais.

Se aplicável, pode-se habilitar ou desabilitar esse recurso
através dos comandos “pwconv/grpconv” e “pwunconv/
grpunconv”, respectivamente.
Arquivos de usuários e grupos (cont.)
Quanto a sintaxe do arquivo de cadastro de grupos (“/etc/group”),
temos:

“grupo : password : GID : membros adicionais”

Ex. 1: “root:x:0:”

Ex. 2: “grp_informatica:x:500:rafael.diorio,joselito.diorio”
Observações:



Todo grupo possui um nome (“grupo”) e um identificador no
sistema (“GID”);
Se existente, sua senha é armazenada em “/etc/gshadow” e
seus membros adicionais listados ao final de sua definição;
Todo usuário pertence a um grupo primário do sistema.
Arquivos de usuários e grupos (cont.)
Quanto a sintaxe do arquivo de cadastro de usuários (“/etc/passwd”),
temos:

“login : password : UID : GID : comentário : home : shell”

Ex. 1: “root:x:0:0:root:/root:/bin/bash”

Ex. 2: “diorio:x:501:501:Rafael F. Diorio:/home/diorio:/bin/bash”
Observações:

Quanto menor o “UID”, mais privilégios o usuário possui;

O “GID” refere-se ao grupo primário do usuário;

Sem o recurso de “senhas shadow”, a senha do usuário seria
armazenada (criptografada) no lugar do valor “x”;
✔
Se o “x” for removido, o usuário loga sem senha.
Gerenciamento de grupos
O modo mais comum para gerenciar grupos no Linux é através dos
seguintes comandos:

Comando “groupadd”: para adicionar grupos no sistema;

Comando “groupdel”: para remover grupos do sistema;

Comando “groupmod”: para modificar contas de grupos;

E, comando “gpasswd”: para gerenciar os
“/etc/group” e, quando aplicável, “/etc/gshadow”.
arquivos
Outra possibilidade é através da edição manual dos arquivos que
armazenam as informações dos grupos do sistema...

Arquivo “/etc/group”;

E, arquivo “/etc/gshadow”.
Gerenciamento de grupos: Adição, remoção e alteração
A adição de grupos no Linux é comumente realizada através do
comando “groupadd”...

Ex.: “groupadd grp_informatica”
Quanto à sua remoção, os grupos do Linux são comumente
removidos através do comando “groupdel”...

Ex.: “groupdel grp_informatica”
Para modificações nas contas de grupo, utiliza-se o comando
“groupmod”...


Ex.: “groupmod informatica -n grp_informatica”
Obs.: O comando acima renomeia o grupo “informatica” para
“grp_informatica”.
Gerenciamento de grupos: Senhas
O comando utilizado para definir senhas aos grupos do sistema é o
“gpasswd”...

Ex.: gpasswd grp_informatica
Quando presente, a senha do grupo é solicitada quando um usuário
necessitar fazer parte, temporariamente, desse grupo com senha...


Ex.: “newgrp grp_informatica” ou “sg grp_informatica”.
Obs.: Para tal, o pacote “shadow-utils” deve estar instalado e
atualizado no sistema.
Vale ressaltar que essa alteração de grupo é temporária e só vale
para a sessão atual do usuário.
Gerenciamento de usuários
O modo mais comum para gerenciar usuários Linux é através dos
seguintes comandos:


Comando “useradd”: para adicionar usuários no sistema;
Comando “passwd”: para definir ou alterar senhas de
usuários;

Comando “usermod”: para modificar contas de usuários;

E, comando “userdel”: para remover usuários do sistema.
Outra possibilidade é através da edição manual dos arquivos que
armazenam as informações das contas de usuário no sistema...

“/etc/passwd”;

E, “/etc/shadow” (além dos arquivos de grupos do sistema).
Gerenciamento de usuários: Adição
Um dos comandos mais utilizados para adicionar novos usuários ao
sistema é o “useradd”...



Ex. 1: “useradd joselito.diorio”
Ex. 2: “useradd -m -g grp_informatica -c “Rafael Fernando
Diorio” rafael.diorio”
Obs.: Quanto aos parâmetros acima:
✔
“-m”: para criar o diretório pessoal do novo usuário;
✔
“-g”: para definir o grupo primário do novo usuário”
✔
✔
E, “-c”: para especificar um comentário (nesse exemplo, o
nome) para o novo usuário;
Para outros parâmetros, vide “man useradd”.
Gerenciamento de usuários: Adição (cont.)
Se desejável, pode-se “customizar” os padrões de criação de novos
usuários através dos seguintes arquivos do sistema:


Arquivo “/etc/default/useradd”: permite definir configurações
de padrões para o comando “useradd”;
E, arquivo “/etc/login.defs”: permite definir configurações de
padrões de login e senha para os novos usuários.
Para definir o conteúdo do diretório pessoal dos novos usuários,
pode-se customizar o diretório “/etc/skel”...

Esse diretório representa o “diretório template” para os
diretórios pessoais dos novos usuários.
Gerenciamento de usuários: Adição (cont.)
useradd
/etc/passwd
/etc/shadow
/etc/group
Usuário Linux
/etc/default/useradd
/etc/login.defs
/etc/skel/
Visão geral: Arquivos e diretório consultados pelo comando “useradd”.
Gerenciamento de usuários: Senhas
As senhas dos usuários do sistema são gerenciadas, principalmente,
através do comando “passwd”...

Ex. 1: “passwd rafael.diorio”

Ex. 2: “passwd -x 30 -w 10 rafael.diorio”

Obs.: Quanto aos parâmetros acima:
✔
“-d”: para remover a senha do usuário;
✔
“-x dias”: para definir intervalos de expiração de senhas;
✔
E, “-w dias”: para exibir alertas de expiração de senhas;
✔
Para outros parâmetros, vide “man passwd”.
Gerenciamento de usuários: Senhas (cont.)
Para alterar informações de validade de senhas de usuários também
pode-se utilizar o comando “chage”...

Ex. 1: “chage -l rafael.diorio”

Ex. 2: “chage -M 30 -W 10 rafael.diorio”

Obs.: Quanto aos parâmetros acima:
✔
“-l”: para exibir informações de senha;
✔
“-M dias”: para definir intervalos de validade da senha;
✔
“-E data”: para expirar senha em “data” (YYYY-MM-DD);
✔
Para outros parâmetros, vide “man chage”.
Gerenciamento de usuários: Alteração
Para alterar informações de contas de usuário, pode-se utilizar o
comando “usermod”...

Ex. 1: “usermod -G grp_comercial,grp_financeiro rafael.diorio”

Ex. 2: “usermod -L rafael.diorio”

Ex. 3: “usermod -e 2012-08-01 rafael.diorio”

Obs.: Quanto aos parâmetros acima:
✔
✔
✔
✔
“-G”: para adicionar o usuário a outros grupos do sistema;
“-L”: para bloquear a conta do usuário (utilize “-U” para
desbloquear a conta em questão)
“-e”: para expirar conta do usuário numa data específica
(YYYY-MM-DD).
Para outros parâmetros, vide “man usermod”.
Gerenciamento de usuários: Remoção
Para remover as contas de usuários do sistema, pode-se utilizar o
comando “userdel”...

Ex. 1: “userdel rafael.diorio”

Ex. 2: “userdel -r joselito.diorio”

Quanto ao parâmetro “-r” (acima), ele é utilizado para remover o
diretório pessoal do usuário quando sua conta é excluída do
sistema.
Gerenciamento de usuários: Notificação
Pode-se enviar mensagens aos usuários (conectados) no sistema
através do comando “wall”...


Ex.: wall “Aviso: Manutenção do sistema às 14:00hs.”
Obs.: Com exceção as mensagens enviadas pelo “root”, podese desabilitar seu recebimento através do comando “mesg n”.
✔
“mesg y” ativa o recebimento de mensagens e “mesg” exibe
o valor (“y” ou “n”) de “mesg”.
Para enviar uma mensagem para um usuário específico pode-se utilizar
o comando write <usuário> <terminal>... Ex:

write rafael.diorio tty2 <ENTER>

Seu acesso está sendo monitorado. <CTRL+C>
Gerenciamento de usuários: Notificação (cont.)
Outra notificação bastante comum é a exibição de mensagens após o
login do usuário no sistema...
Essas mensagens podem ser inseridas no arquivo “/etc/motd”...

Ex.: “Aviso: Todos os acessos no sistema estão sendo
auditados.”
Para exibir mensagens antes do login dos usuários, pode-se utilizar os
arquivos “/etc/issue” (acesso local) e “/etc/issue.net” (acesso remoto):


Ex.: “Linux Authentication Server by Rafael Fernando Diorio”
Obs.: Para acessos SSH, deve-se alterar a entrada “#Banner
none” do arquivo “/etc/ssh/sshd_config” para “Banner
/etc/issue.net” e “reiniciar” o serviço “sshd”.
Comandos úteis
Alguns comandos úteis no gerenciamento de grupos e usuários do
sistema são:






“id”: exibe UID e GID do usuário, bem como demais grupos que
o usuário faz parte (se aplicável);
“groups”: exibe os grupos que o usuário faz parte;
“finger”: exibe diversas informações sobre o usuário,
destacando login, shell, home, comentário e último acesso;
“chfn”: altera informações de contas de usuário (informações
exibidas pelo comando “finger”);
“chsh”: altera o shell do usuário;
“su -”: substitui usuário corrente por outro usuário (quando
especificado) ou por “root”;
Comandos úteis (cont.)
Alguns comandos úteis no gerenciamento de grupos e usuários do
sistema são (cont.):





“who”: exibe os usuários atualmente logados no sistema;
“w”: exibe os usuários atualmente logados no sistema, bem
como o que estão fazendo;
“last”: exibe os últimos logins (com “shutdowns”) efetuados no
sistema;
“vipw” e “vigr”: editores de texto (tipicamente utilizando “vi”) para
a edição dos arquivos “passwd” e “group” de modo seguro (com
“lock” para outras edições simultâneas);
“pwck” e “grpck”: ferramentas para verificar a integridade dos
arquivos de usuário (“passwd”) e grupos (“group”) do sistema.
Dúvidas e/ou sugestões?
Participe... questione... sugira... pratique...
Aprimore seus conhecimentos e ajude a melhorar as
nossas aulas! :-)
Referências
[1] CentOS Project em http://www.centos.org;
[2] CentOS Documentation disponível em http://www.centos.org/docs;
[3] Guia Foca/GNU Linux em http://www.guiafoca.org/;
[4] Livro "Dominando Linux: Red Hat e Fedora" dos autores Bill Ball e
Hoyt Duff. Editora Pearson - 2004;
[5] Red Hat Enterprise Linux em http://www.redhat.com;
[6] Red Hat Enterprise Linux Documentation disponível em
http://www.redhat.com/docs/manuals/enterprise.
Download

Gerenciamento de Grupos e Usuários no Linux