Criando uma nova conta de usuário
Somente o administrador do sistema pode criar, excluir ou modificar os dados dos usuários do sistema. Os procedimentos para a criação de uma nova conta de usuário são os seguintes:
- Criar uma entrada para o usuário no arquivo /etc/passwd;
- Especificar uma senha;
- Especificar um Shell de login;
- Criar um diretório pessoal para o usuário;
- Colocar neste diretório pessoal arquivos úteis ao usuário.
Os passos 4 e 5 são opcionais.
Existem dois comandos que podem ser utilizados para adicionar um usuário. Um deles é o
useradd. Sua sintaxe é a seguinte:
useradd [opções] [login]
Em [login] deve-se colocar o nome de login do usuário que está sendo criado. As opções disponíveis são:
- -c: Adiciona um comentário sobre o usuário;
- -d: Especifica qual o diretório pessoal do usuário. O padrão é /home/[login];
- -e: Especifica a data a partir da qual a conta do usuário será removida automaticamente. Use-a para criar uma conta de usuário temporária. O formato da data é AAAA-MM-DD (ano-mês-dia);
- -f: Use esse parâmetro em conjunto com o -e, se quiser que quando a conta do usuário expirar, os dados do usuário não sejam apagados imediatamente. Use o valor 0 para que a conta do usuário seja excluída assim que a sua senha expirar. Use -1 para desativar essa função;
- -g: Especifica o grupo inicial ao qual o novo usuário irá pertencer. Pode ser o nome do grupo ou então o número (GID). O padrão desse parâmetro é users, ou 100;
- -G: Especifica outros grupos aos quais o novo usuário irá pertencer, separados por vírgula;
- -m: Cria o diretório pessoal, especificado no parâmetro -d, se ele não existir;
- -k: Quando se cria um novo diretório pessoal, os arquivos do diretório /etc/skel/ são copiados para lá. Use o parâmetro -k para especificar outro diretório, diferente de /etc/skel/, de onde copiar arquivos para dentro do diretório pessoal do usuário;
- -o: Permitir que o novo usuário tenha um UID duplicado, já utilizado por outro usuário;
- -p: Use esse parâmetro para informar a senha criptografada do usuário. Para conseguir a senha criptografada é necessário utilizar um programa de criptografia;
- -s: Informa o Shell padrão do usuário. Geralmente não se utiliza esse parâmetro, para deixar o sistema escolher;
- -u: Use esse parâmetro para informar o UID do usuário manualmente. A menos que você utilize o parâmetro -o, esse número deve ser único, ou seja, você não pode informar uma UID que já esteja sendo utilizada por outro usuário;.
O outro comando que pode ser utilizado para criar um novo usuário é o
adduser, um pouco mais interativo. Basta rodar o comando adduser que o sistema vai solicitando as informações a respeito do usuário. Entretanto é possível passar todas as informações necessárias a partir da linha de comando.
A sintaxe do adduser é a mesma do useradd:
adduser [opções] [login]
As opções disponíveis são:
- --conf: O adduser utiliza as informações gravadas no arquivo /etc/adduser.conf. Utilize esse parâmetro para utilizar outro arquivo de configuração;
- --disabled-login: Não solicita senha para o usuário. A conta fica indisponível, até que seja executado o comando passwd manualmente para definir uma senha para o usuário;
- --disabled-password: Não solicita senha ao usuário, mas a conta fica disponível através do uso de chaves SSH RSA;
- --gid: Informa manualmente o número do grupo (GID) a que o usuário será incluído;
- --group: Se usado juntamente com o parâmetro --system, é criado um grupo com o mesmo nome e GID do usuário criado. Se usado sem o parâmetro --system, é criado um grupo com o nome fornecido;
- --home: Especifica o diretório pessoal do usuário. O padrão é /home/[login];
- --shell: Especifica o Shell a ser utilizado pelo usuário;
- --ingroup: Adiciona o usuário para o grupo especificado;
- --no-create-home: Não cria o diretório pessoal, se ele não existir;
- --quiet: Não mostra mensagens sobre o progresso do processo de criação do usuário;
- --system: Cria um usuário do sistema;
- --uid: Força o usuário a usar o UID especificado. Se o UID for inválido, a criação do usuário não será efetuada;
Para definir ou modificar a senha de um determinado usuário, utilize o comando
passwd. Sua sintaxe é simples:
passwd [login]
Será necessário digitar a nova senha duas vezes.
Desabilitando uma conta de usuário
Desabilitar uma conta de usuário é impedir o usuário de acessar o sistema. Diferente do que ocorre quando se excluir uma conta, ao desabilitá-la as informações do usuário não são perdidas, caso elas sejam necessárias ou se deseje reabilitar a conta posteriormente.
A melhor maneira de desabilitar uma conta de usuário é fazendo a sua conta expirar. Para isso, edite o arquivo
/etc/shadow, procure pela linha que contém as informações da conta que você deseja desabilitar, vá no terceiro campo (delimitado por dois pontos), correspondente à data em que a senha foi modificada, e copie esse número subtraído de um para o oitavo campo.
Veja nesse exemplo, como expirar a senha do usuário "lanux":
lanux:$1$EtXJLNvq$klIF2UtVj5/LiOH:
12118:0:99999:7:::
No terceiro campo encontramos o número 12118. Subtraímos 1 de 12118, obtendo-se 12117 e inserimos esse número no oitavo campo: