sábado, 10 de maio de 2008

Gerenciando Usuários

Não é novidade para ninguém que os sistemas Unix like são sistemas multiusuários. Esse é um recurso útil e atualmente indispensável para qualquer sistema moderno. Mesmo plataformas clássicamente monousuário, como os da Microsoft, se renderam aos últimos anos ao multiusuário.

A questão é que tal recurso exige um trabalho adicional do administrador de sistemas, que necessita conhecer cada uma das ferramentas utilizadas no processo de gerenciamento de contas e usuários.


Comandos para manipulação de usuários:


useradd, utilizado para adicionar novos usuários;

userdel, utilizado para apagar um usuário

passwd, utilizado para alterar a senha de um usuário;

vipw, utilizado para editar manualmente o arquivo de senhas;

pwconv, converte o arquivo de senhas para shadow;

pwunconv, converte o arquivo de shadow para passwd;

usermod, faz modificações nas configurações do usuário

chage, acerta configurações relativas a senha

chfn, utilizado para alterar a descrição de um usuário;

chsh, utilizado para alterar o shell de um usuário;

users, mostra os usuários logados;

su, comuta temporariamente para outro usuário;

logname, retorna o próprio login;

last, mostra o último login feito no sistema;

lastlog, mostra o log de logins;

finger, retorna informações sobre determinado usuário;

pwck, verifica a integridade do arquivo de senha;


Comandos de manipulação de grupos:

groupadd, adiciona um novo grupo;

groupdel, apagar um determinado grupo;

newgrp, altera o grupo de determinado usuário;

vigr, edita manualmente o arquivo de senhas;

id, retorna grupos e números de identificação;

groups, retorna os grupos de um usuário;

sg, comuta temporariamente para outro grupo;

grpck, verifica a integridade do arquivo de senha;


Arquivos alterados:

/etc/passwd, arquivo de senhas contendo (permissão 644);

/etc/shadow, arquivo contendo as senhjas shadow (permissão 640);

/etc/skel, diretório contendo um modelo a ser copiado no diretório home dos usuários recém criados;

/etc/profile, variáveis e configurações comuns a todos os usuários;

/etc/login.defs, configurações de segurança dos logins do sistema;

/etc/groups, arquivo de senhas dos grupos do sistema;

/etc/gshadow, arquivo shadow dos grupos do sistema;


Opções dos programas


passwd

-l bloquear usuários

-u desbloquear usuários

-x configurar validade da senha

-n dias mínimos para se mudar a senha

-w dias para alamar o vencimento da senha

-i dias após a senha expirar que a conta continuará válida

-s visualiza uma conta


adduser

-c insere comentário (nome real)

-d path para o diretório home do usuário

-g GID do grupo principal

-G grupos adicionais

-u UID do usuário

-s shell padrão do usuário

-p senha do usuário

-e data/período de validade da conta

-k copia o diretório modelo

-m cria o diretório padrão

-K permite a alteração de variáveis do login.defs

-D permite a atualização de certos dados, como: -b diretório home, -e data de validade, -f conta inativa, -g GID principal e –s que é o shell


chage

-m mínimo de dias para modificar a senha

-M máximo de dias para modificar a senha

-d dias a partir de 01/01/1970 que a senha foi modificada

-E dias em que a conta não mais estará disponível

-I tolerância de dias após a senha se expirar

-W dias anteriores para aviso do fim da validade da senha


usermod

-c comentários / nome real do usuário

-d diretório

-e validade da conta

-f número de dias para bloquear a conta após o fim da validade da senha

-g grupo principal

-G grupos adicionais

-l login

-p password

-u UID do usuário

-s shell padrão

-L bloqueia a conta

-U desbloqueia a conta


vipw

-s abre para edição o arquivo shadow


vigw

-s abre para edição o arquivo gshadow


groupmod

-g altera o GID do grupo

-n altera o nome do grupo


Os arquivos possuem a seguinte a seguinte estrutura:


/etc/passwd


login:senha:UID:GID:descrição:shell


onde:

UID é o número de identificação único de cada usuário

GID é o número de identificação único do grupo principal do usuário

descrição normalmente é utilizado para armazenar o nome real do usuário.


/etc/shadow


login:password:last:min:max:warn:inactive:expire


onde:

login é o nome do usuário;

password é a senha criptografada do usuário;

last é a data da última mudança de senha;

min é o número mínimo de dias entre uma troca de senha e outra;

max é o número máximo de dias em que a senha permanecerá válida;

warn, é o número de dias em que o usuário será alertado a trocar a senha antes que a mesmo expire;

inactive, número de dias após expirar a senha que o login será desabilitado.

expire, data ou período em que a senha irá expirar;


/etc/group


grupo:password:GID:usuario1,usuario2,usuarion


GID: é o número de identificação do usuário

usuario1,usuario2,usuarion: lista dos usuários pertencentes ao grupo.


Desabilitando o acesso de um usuário ao sistema:


1) Usando passwd –l

2) editando o arquivo /etc/shadow e colocando no campo de data de expiração como a data da última troca menos 1 dia.

3) Usando usermod –L para bloquear a conta.


Habilitando login por dial-up


Em /etc/login.defs existe a pção DIALUPS_CHECK_ENAB que caso seja configurado para yes irá permitir a conexão por dialup. Nesse caso serão necessários a existência de outros dois arquivos:

/etc/dialups, contendo a lista das portais seriais onde se encontram os modens e os usuários disponíveis

/etc/d_passwd contém a senha dos usuários mencionados no arquivo anterior.