Criar e manter contas de usuários é uma parte importante do trabalho de um administrador Linux. Através deste gerenciamento, permitimos ou restringimos acesso a serviços e documentos.
Criar e manter contas de usuários é uma parte importante do
trabalho de um administrador Linux. Através deste gerenciamento,
permitimos ou restringimos acesso a serviços e documentos.
Tipos diferentes de usuários possuem necessidades diferentes e devem
receber contas diferentes. Selecionando-se a conta certa para cada
usuário garante que ele terá acesso garantido para o desempenho de
suas atividades, não se permitindo privilégios adicionais que possam
comprometer a segurança do sistema.
O Linux utiliza 3 arquivos para manter informações sobre usuários e
grupos:
/etc/passwd
/etc/group
e /etc/shadow.
/etc/passwd
O arquivo /etc/passwd contém informações sobre todos os usuários. O
root sempre será o primeiro da lista, com UID (user ID) 0 e GID
(group ID) 0.
Usuários e contas especiais associados a serviços e daemons são
listados a seguir, tendo valores UID e GID abaixo de 500. Após são
listadas as contas de usuários comuns. Veja abaixo um exemplo:
Observando-se a última entrada do arquivo, vemos o registro do
usuário FG, com os seguintes campos delimitados por dois pontos:
Nome do usuário: \x{2013} FG.
Senha: aqui vemos um "x", que indica
que a senha está guardada em outro local (/etc/shadow).
User ID: este número (500) estará associado a todos os
arquivos criados ou pertencentes ao usuário FG. Tipicamente
os processos também se associam ao UID do usuário que o
iniciou.
Group ID padrão: é o grupo de login do usuário. Todos os
arquivos do sistema são de propriedade de um usuário e de um
grupo. Quando o usuário FG cria um novo arquivo, este
receberá por padrão o valor GID 500. Não é coincidência que o
UID tem o mesmo valor do GID: esta é a abordagem da Red Hat
que o CL segue, sendo chamada de "grupos privados de usuários".
Outras distribuições Linux (como SuSE) adotam um único grupo
para todos os usuários (users).
Descrição do Usuário: este campo guarda informações do usuário,
podendo ser seu nome, telefone, e-mail, etc.
Diretório home do usuário: quando o usuário loga no sistema, o
programa login utiliza este campo para definir a variável $HOME.
Por padrão, este diretório será /home/nome_do_usuário.
Shell de login do usuário: por padrão esta é /bin/bash (Bourne
Again Shell). Contas que não precisam ou não devem (por medidas
de segurança) ter uma shell de login possuem neste campo
/bin/false.
No exemplo apresentado do arquivo /etc/passwd vê-se várias contas de
sistema com UID menor que 500. Algumas delas são necessárias para o
bom funcionamento do sistema (como root, bin, daemon e halt); outras
são associadas com servidores ou programas específicos (como mail,
news, games, gopher e ftp).
É importante fazer backup do arquivo /etc/passwd (idem /etc/shadow e
/etc/group) após a instalação do sistema ou após adicionar ou remover
algum usuário. Estes arquivos serão úteis caso seja necessário
reinstalar o sistema. E é também uma medida de segurança, pois crackers
podem criar suas próprias contas, senhas ou adicionar uma shell de
login em contas do sistema (como ftp).
/etc/shadow
Quando se atribui uma senha para um usuário, esta é criptografada
utilizando-se um valor randomicamente gerado (chamado salt). A senha
criptografada juntamente com o salt são então guardados no arquivo
/etc/shadow, onde somente o root tem permissão de leitura e escrita.
O arquivo /etc/passwd precisa estar com permissão de leitura ao sistema
pois é ele quem associa UIDs e GIDs com nomes.
Observando-se a última entrada do arquivo, vemos o registro do
usuário FG, com os seguintes campos delimitados por dois pontos:
Nome do usuário: FG. É o nome de login do usuário, igual
ao referido no arquivo /etc/passwd.
Senha criptografada
Última mudança de senha: este número representa o número
de dias decorridos entre 1 de janeiro de 1970 e a última
alteração da senha.
Número de dias para que a mudança de senha seja permitida:
tipicamente este número é zero, permitindo que o usuário mude
sua senha quando desejar.
Número de dias após o qual a senha deve ser alterada: caso a
alteração da senha não seja forçada, este número será 99999.
Número de dias antes da expiração da senha no qual o usuário
será avisado: tipicamente o usuário é avisado com uma semana
de antecedência.
Número de dias entre a expiração da senha e a desativação da
conta: caso não se queira desativação automática da conta,
este campo é deixado em branco ou com o valor 1.
Dia da desativação da conta: dias decorridos entre 1 de
Janeiro de 1970 e a data em que a conta será desativada. Um
valor em branco (ou 1) neste campo suspende desativação
automática.
Campo reservado: para uso futuro.
Utilitários
Os utilitários para manutenção de senhas criptografadas são:
pwconv: utiliza os valores definidos em /etc/login.defs
para adicionar entradas no arquivo /etc/shadow e remove
qualquer entrada do /etc/shadow que não tenha correspondente
no arquivo /etc/passwd.
pwunconv: compara os arquivos /etc/passwd e /etc/shadow,
colocando as entradas do campo de senhas do arquivo /etc/shadow
nas linhas correspondentes do arquivo /etc/passwd. O arquivo
/etc/shadow é removido.
Este utilitário é usado para se migrar usuários de outro
sistema: após executar o pwunconv copia-se as linhas dos novos
usuários no /etc/passwd, e a seguir gera-se o /etc/shadow
novamente com o pwconv.
grpconv: faz a mesma função do pwconv, porém com os grupos do
/etc/group.
grpunconv: faz a mesma função do pwunconv, porém com os
grupos.
[2] Comentário enviado por jeison em 28/07/2003 - 11:23h
Paabéns, gostei do artigo, muito bom, agora eu gostaria de dar uma sugestao, escreva um artigo agora lanux falando de "como utilizar os grupos efetivamente" sabe, dando exemplo de onde os grupos resolvem problemas a facilitam a vida do administrador, ficaria muito bom, e daria continuidade a o seu trabalho aqui. :)
[3] Comentário enviado por kraftwerk em 01/08/2008 - 09:46h
Grande Lanux
Preciso perguntar o seguinte:
O que acontecerá se eu tiver que alterar o id de um usuário em máquina cliente, para ficar com o mesmo id cadastrado no servido?
Corro risco de perder configurações no /home ou no gnome/kde na máquina cliente?
[4] Comentário enviado por marbreu em 23/09/2008 - 21:59h
Valeu pelo Post, mas gostaria se vc me ajudasse numa situação. Meu PC tinha duas contas no diretório home: administrador e supervisor, apaguei por engano a conta:SUPERVISOR e ADMINISTRADOR, usand o o comando: rm -r , agora quando reinicio a maquina aparece um erro, kdestartupconfig, e só consigo entrar no usuario root.Como faço para recuperar ou recriar as contas.Atenciosamente...