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.