fbpx

Comandos Linux – Comando useradd

Comando Linux useradd

comando useradd

Em sistemas operacionais do tipo Unix, o comando useradd cria um novo usuário ou define as informações padrão para novos usuários.

Este documento cobre a versão Linux do useradd .

Descrição

useradd é um utilitário de baixo nível para adicionar usuários a um sistema. Em geral, o adduser mais amigável deve ser usado.

Seu sistema operacional pode vir com uma versão ligeiramente diferente do useradd ; verifique sua documentação antes de usá-la para criar novas contas. Esta documentação refere-se a algumas opções freqüentemente usadas em variantes do Linux baseadas no Debian , mas é representativa do uso geral do useradd .

Quando chamado sem a opção -D , o comando useradd cria uma nova conta de usuário usando os valores especificados na linha de comando mais os valores padrão do sistema. Dependendo das opções da linha de comando, o comando useradd atualizará os arquivos do sistema e também poderá criar o diretório inicial do novo usuário e copiar os arquivos iniciais.

Por padrão, um grupo também será criado para o novo usuário (consulte as opções -g , -N , -U e a variável USERGROUPS_ENAB , abaixo).

Sintaxe

useradd [ opções ] LOGIN
useradd -D
useradd -D [ opções ]

Opções

-c , –comment COMENTÁRIOCOMMENT pode ser qualquer string de texto . Geralmente, é uma descrição curta do logon e atualmente é usado como o campo para o nome completo do usuário.
-d , –home home_dirO novo usuário será criado usando HOME_DIR como o valor para o diretório de login do usuário. O padrão é anexar o nome LOGIN a BASE_DIR e usá-lo como o nome do diretório de login. O diretório HOME_DIR não precisa existir, mas não será criado se estiver faltando.
-D , –defaultsDefina novos valores padrão. Consulte a seção Alterando valores padrão de novo usuário , abaixo.
-e , – expirou EXPIRE_DATEA data em que a conta do usuário será desativada. A data é especificada no formato AAAA-MM-DD .

Se não especificado, o useradd usará a data de validade padrão especificada pela variável EXPIRE em / etc / default / useradd ou uma sequência vazia (sem validade) por padrão.

-f , –inactive INACTIVEO número de dias após o vencimento de uma senha até que a conta seja desativada permanentemente. Um valor 0 desativa a conta assim que a senha expirar e um valor -1 desativa o recurso.

Se não especificado, o useradd usará o período de inatividade padrão especificado pela variável INACTIVE em / etc / default / useradd ou -1 por padrão.

-g , –gid GRUPOO nome do grupo ou o número do grupo de login inicial do usuário. O nome do grupo deve existir. Um número de grupo deve se referir a um grupo já existente.

Se não for especificado, o comportamento do useradd dependerá da USERGROUPS_ENAB variável no /etc/login.defs . Se essa variável estiver configurada como yes (ou -U / –user-group for especificado na linha de comando), um grupo será criado para o usuário, com o mesmo nome que o nome de login. Se a variável estiver definida como no (ou -N / –no-user-group for especificado na linha de comando), useradd definirá o grupo principal do novo usuário com o valor especificado pelo GROUPvariável em / etc / default / useradd ou 100 por padrão.

-G , –grupos GRUPO1 [, GRUPO2 , … [, GRUPO ]]]]Uma lista de grupos que contêm o usuário como membro. Cada grupo é separado do próximo por uma vírgula, sem espaços em branco . Os grupos estão sujeitos às mesmas restrições que o grupo fornecido com a opção -g . O padrão é que o usuário pertença apenas ao grupo inicial.
-h , –helpExiba uma mensagem de ajuda e saia.
-k , –skel SKEL_DIRSKEL_DIR é o diretório do esqueleto, que contém arquivos e diretórios a serem copiados no diretório inicial do usuário, quando o diretório inicial é criado pelo useradd .

Esta opção é válida apenas se a opção -m (ou –create-home ) for especificada.

Se essa opção não estiver configurada, o diretório skeleton será definido pela variável SKEL em / etc / default / useradd ou, por padrão, / etc / skel .

Se possível, a ACL e os atributos estendidos são copiados.

-K , –key CHAVE VALORSubstitui os padrões /etc/login.defs ( UID_MIN , UID_MAX , UMASK , PASS_MAX_DAYS e outros).

Exemplo: -K PASS_MAX_DAYS = -1 pode ser usado ao criar uma conta do sistema para desativar o vencimento da senha, mesmo que a conta do sistema não possua senha. Várias opções -K podem ser especificadas, por exemplo: -K UID_MIN = 100 -K UID_MAX = 499

-l , –no-log-initNão adicione o usuário aos bancos de dados lastlog e faillog .

Por padrão, as entradas do usuário nos bancos de dados lastlog e faillog são redefinidas para evitar a reutilização da entrada de um usuário excluído anteriormente.

Para a compatibilidade com versões anteriores do useradd , a opção -O também é suportada para essa finalidade.

-m , –criar-casaCrie o diretório inicial do usuário, se ele não existir. Os arquivos e diretórios contidos no diretório esqueleto (que podem ser definidos com a opção -k ) serão copiados para o diretório inicial.

Por padrão, se esta opção não for especificada e CREATE_HOME não estiver ativado, nenhum diretório inicial será criado.

-MNão crie o diretório inicial do usuário, mesmo se a configuração do sistema em /etc/login.defs ( CREATE_HOME ) estiver definida como yes .
-N , –no-user-groupNão crie um grupo com o mesmo nome que o usuário, mas inclua o usuário no grupo especificado pela opção -g ou pela variável GROUP em / etc / default / useradd .

O comportamento padrão (se os -g , -N , e -U opções não são especificados) é definida pelo USERGROUPS_ENAB variável no /etc/login.defs .

-o , –não-exclusivoPermitir a criação de uma conta de usuário com um UID duplicado (não exclusivo) .

Esta opção é válida apenas em combinação com a opção -u .

-p , –password SENHAA senha criptografada , retornada pela criptografia . O padrão é desativar a senha.

Nota: Esta opção não é recomendada porque a senha (ou senha criptografada) será visível pelos usuários que listam os processos (por exemplo, com o comando ps ).

Você deve garantir que a senha respeite a política de senha do sistema.

-r , –systemCrie uma conta do sistema.

Os usuários do sistema serão criados sem informações de envelhecimento em / etc / shadow e seus identificadores numéricos serão escolhidos no intervalo SYS_UID_MIN-SYS_UID_MAX , definido em /etc/login.defs , em vez de UID_MIN-UID_MAX (e seus equivalentes GID para a criação de grupos).

Observe que o useradd não criará um diretório inicial para esse usuário, independentemente da configuração padrão em /etc/login.defs ( CREATE_HOME ). Você deve especificar as opções -m se desejar que um diretório inicial para uma conta do sistema seja criado.

-R , –root CHROOT_DIRAplique alterações no diretório CHROOT_DIR e use os arquivos de configuração do diretório CHROOT_DIR .
-s , –shell SHELLO nome do shell de logon do usuário . O padrão é deixar esse campo em branco, o que faz com que o sistema selecione o shell de login padrão especificado pela variável SHELL em / etc / default / useradd ou uma string vazia por padrão.
-u , –uid UIDO valor numérico do ID do usuário. Este valor deve ser exclusivo, a menos que a opção -o seja usada. O valor deve ser não negativo. O padrão é usar o menor valor de ID maior ou igual a UID_MIN e maior que qualquer outro usuário.

Consulte também a opção -r e a descrição UID_MAX .

-U , –user-groupCrie um grupo com o mesmo nome que o usuário e adicione o usuário a este grupo.

O comportamento padrão (se os -g , -N , e -U opções não são especificados) é definida pelo USERGROUPS_ENAB variável no /etc/login.defs .

-Z , –selinux-user SEUSERO usuário do SELinux para o login do usuário. O padrão é deixar esse campo em branco, o que faz com que o sistema selecione o usuário padrão do SELinux.

Alterando valores padrão de novo usuário

Quando chamado apenas com a opção -D , useradd exibe os valores padrão atuais. Quando chamado com -D mais outras opções, o useradd atualizará os valores padrão para as opções especificadas.

As opções de alteração padrão válidas são:

-b , –base-dir BASE_DIRO prefixo do caminho para o diretório inicial de um novo usuário. O nome do usuário será afixado no final de BASE_DIR para formar o nome do diretório inicial do novo usuário, se a opção -d não for usada ao criar uma nova conta. Esta opção define a variável HOME em / etc / default / useradd .

 

-e , – expirou EXPIRE_DATEA data em que a conta do usuário está desativada.

Esta opção define a variável EXPIRE em / etc / default / useradd .

-f , –inactive INACTIVEO número de dias após o vencimento de uma senha antes que a conta seja desativada.

Esta opção define a variável INATIVA em / etc / default / useradd .

-g , –gid GRUPOO nome ou o ID do grupo de um novo grupo inicial do usuário (quando a opção -N / –no-user-group é usada ou quando a variável USERGROUPS_ENAB está configurada como no /etc/login.defs ). O grupo nomeado deve existir e um ID numérico do grupo deve ter uma entrada existente.

Esta opção define a variável GROUP em / etc / default / useradd .

-s , –shell SHELLO nome do shell de logon de um novo usuário.

Esta opção define a variável SHELL em / etc / default / useradd .

Notas

O administrador do sistema é responsável por colocar os arquivos de usuário padrão no diretório / etc / skel / (ou qualquer outro diretório esqueleto especificado em / etc / default / useradd ou na linha de comando).

Ressalvas

Você não pode adicionar um usuário a um grupo NIS ou LDAP . Isso deve ser realizado no servidor correspondente.

Da mesma forma, se o nome de usuário já existir em um banco de dados de usuário externo, como NIS ou LDAP, o useradd negará a solicitação de criação da conta do usuário.

Geralmente, é recomendável usar apenas nomes de usuários que começam com uma letra minúscula ou um sublinhado, seguidos por letras minúsculas, dígitos, sublinhados ou traços. Eles podem terminar com um cifrão. A expressão regular que descreve um nome de usuário válido é:

[a-z _] [a-z0-9 _-] * [$]?

As únicas restrições são que os nomes de usuário não devem começar com um hífen (‘  ‘) nem mais (‘ + ‘) nem til (‘ ~ ‘) nem conter dois pontos (‘ : ‘), vírgula (‘ , ‘) ou um espaço em branco (espaço: ”, final da linha: ‘ \ n ‘, guia: ‘ \ t ‘ etc.). Observe que o uso de uma barra (‘ / ‘) pode interromper o algoritmo padrão para a definição do diretório inicial do usuário.

Os nomes de usuário podem ter apenas 32 caracteres .

Configuração

As seguintes variáveis ​​de configuração em /etc/login.defs alteram o comportamento desta ferramenta:

nometipodescrição
CREATE_HOMEboleanoIndique se um diretório inicial deve ser criado por padrão para novos usuários.

Essa configuração não se aplica aos usuários do sistema e pode ser substituída na linha de comando.

GID_MAX , GID_MINnúmeroIntervalo de IDs de grupo usados ​​para a criação de grupos regulares por useradd , groupadd ou newusers .

O valor padrão para GID_MIN é 1000 ; o padrão para GID_MAX é 60000 .

MAIL_DIRcordaO diretório de spool de correio . Isso é necessário para manipular a caixa de correio quando sua conta de usuário correspondente é modificada ou excluída. Se não especificado, um padrão em tempo de compilação é usado.
MAIL_FILEcordaDefine o local dos arquivos de spool de correio dos usuários em relação ao diretório inicial.

Os MAIL_DIR e MAIL_FILE variáveis são usadas por useradd , usermod e userdel para criar, mover ou excluir spool de email do usuário.

MAX_MEMBERS_PER_GROUPnúmeroMáximo de membros por entrada do grupo. Quando o máximo é atingido, uma nova entrada de grupo (linha) é iniciada em / etc / group (com o mesmo nome, mesma senha e o mesmo ID de grupo).

O valor padrão é 0 , o que significa que não há limites no número de membros em um grupo.

Esse recurso (grupo dividido) pode ajudar a limitar o comprimento das linhas no arquivo de grupo. Isso é útil para garantir que as linhas para grupos NIS não tenham mais que 1024 caracteres.

Se você precisar aplicar esse limite, poderá usar 25 .

Nota: os grupos divididos podem não ser suportados por todas as ferramentas, mesmo as ferramentas avançadas, como o conjunto de ferramentas Shadow. Você não deve usar essa variável, a menos que realmente precise dela.

PASS_MAX_DAYSnúmeroO número máximo de dias em que uma senha pode ser usada. Se a senha for mais antiga que isso, uma alteração de senha será forçada. Se não especificado, -1 será assumido (o que desativa a restrição).
PASS_MIN_DAYSnúmeroO número mínimo de dias permitido entre as alterações de senha. Qualquer alteração de senha tentada antes disso será rejeitada. Se não especificado, -1 será assumido (o que desativa a restrição).
PASS_WARN_AGEnúmeroO número de dias de aviso dado antes que uma senha expire. Um zero significa que o aviso é dado apenas no dia da expiração, um valor negativo significa que nenhum aviso é dado. Se não especificado, nenhum aviso será fornecido.
SYS_GID_MAX , SYS_GID_MINnúmeroIntervalo de IDs de grupo usados ​​para a criação de grupos de sistemas por useradd , groupadd ou newusers .

O valor padrão para SYS_GID_MIN é 101 ; o valor padrão para SYS_GID_MAX é GID_MIN menos 1.

SYS_UID_MAX , SYS_UID_MINnúmeroIntervalo de IDs de usuário usados ​​para a criação de usuários do sistema por useradd ou newusers .

O valor padrão para SYS_UID_MIN é 101 ; o valor padrão de SYS_UID_MAX é UID_MIN menos 1.

UID_MAX , UID_MINnúmeroIntervalo de IDs de usuário usados ​​para a criação de usuários regulares por useradd ou newusers .

O valor padrão para UID_MIN (resp. UID_MAX ) é 1000 (resp. 60000 ).

UMASKnúmeroA máscara de criação do modo de arquivo é inicializada com este valor. Se não especificado, a máscara será inicializada em 022 . useradd e newusers usam essa máscara para definir o modo do diretório inicial que eles criam. Também é usado por pam_umask como o valor padrão umask.
USERGROUPS_ENABboleanoSe definido como yes , o userdel removerá o grupo do usuário se ele não contiver mais membros e o useradd criará por padrão um grupo com o nome do usuário.

arquivos

/ etc / passwdInformações da conta do usuário.
/ etc / shadowProteja as informações da conta do usuário.
/ etc / groupInformações da conta do grupo.
/ etc / gshadowInformações seguras da conta do grupo.
/ etc / default / useraddValores padrão para criação de conta.
/ etc / skel /Diretório contendo arquivos padrão.
/etc/login.defsConfiguração do conjunto de senhas sombra.

Status de saída

useradd sai com o seguinte status, dependendo do que ocorreu:

0 0Tudo foi concluído com sucesso.
1Não foi possível atualizar o arquivo de senha.
2A sintaxe do comando era inválida.
3Uma ou mais opções receberam um argumento inválido .
4O ID do usuário já está em uso e -o não foi especificado.
6O grupo especificado não existe.
9Nome de usuário já em uso.
10Não foi possível atualizar o arquivo de grupo.
12Não foi possível criar o diretório inicial.
14Não foi possível atualizar o mapeamento de usuário do SE Linux.

Exemplos

NotaPara que esses comandos funcionem, você deve ter privilégios de root .

useradd -D

Exibe os padrões para novos usuários. A saída se assemelha ao seguinte:

GRUPO = 1001
HOME = / home
INATIVO = -1
EXPIRE =
SHELL = / bin / bash
SKEL = / etc / skel
CREATE_MAIL_SPOOL = no
useradd newperson

Cria newperson como um novo usuário. Depois que o novo usuário for adicionado, você precisará usar o comando passwd para atribuir uma senha à conta.

Depois que um usuário é criado, você pode modificar qualquer uma das configurações do usuário, como o diretório inicial do usuário, usando o comando usermod .

groupadd – Adicione um grupo ao sistema.
passwd – altera a senha de um usuário.
userdel – Remove um usuário do sistema.
usermod – Modifique a conta de um usuário.

22 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.