Manuais para a linha de comandos

Man » Manual online de useradd - documentação online detalhada para a página de manual de useradd

🌍
useradd - criar um novo usuário ou atualizar as informações padrão de novo usuário

SINTAXE

useradd [opções] LOGIN

useradd -D

useradd -D [opções]

DESCRIÇÃO

useradd é um utilitário de baixo nível para adicionar usuários. No Debian, os administradores geralmente devem usar

adduser(8) em vez disso.

Quando invocado sem a opção -D, o comando useradd cria uma nova conta de usuário usando os valores especificados na linha de comando, além dos 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 (veja -g, -N, -U e USERGROUPS_ENAB).

OPÇÕES

As opções que se aplicam ao comando useradd são:

--badname

Permitir nomes que não estejam em conformidade com os padrões.

-b, --base-dir BASE_DIR

O diretório base padrão do sistema se -d HOME_DIR não for especificado. BASE_DIR é concatenado com o nome da conta para definir o diretório inicial.

Se esta opção não for especificada, useradd usará o diretório base especificado na variável HOME em /etc/default/useradd ou /home por padrão.

-c, --comment COMENTÁRIO

Qualquer string de texto. Geralmente, é uma breve descrição da conta e, atualmente, é usada como o campo para o nome completo do usuário.

-d, --home-dir HOME_DIR

O 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 ao BASE_DIR e usar isso como o nome do diretório de login. O diretório HOME_DIR não é criado por padrão. No entanto, ele será criado para usuários que não são do sistema se a flag -m for especificada ou se CREATE_HOME em login.defs estiver definido como verdadeiro. No entanto, ele nunca será criado se a flag -M for especificada.

-D, --defaults

Veja abaixo, a subseção "Alterando os valores padrão".

-e, --expiredate DATA_EXPIRAÇÃO

Define a data em que a conta de usuário será desativada. O valor pode ser especificado como uma data no formato AAAA-MM-DD ou como um número de dias desde 01-01-1970. A data é interpretada usando o fuso horário UTC.

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

-f, --inactive INATIVO

Define o número de dias após o término do prazo de validade da senha, antes que a conta do usuário seja bloqueada. Se o usuário não alterar sua senha dentro deste período de tempo, sua conta se tornará inativa. Este valor é armazenado no arquivo de senha shadow. Para mais informações, consulte shadow(5).


Um valor de 0 desativa a conta quando a senha expira, sem atraso.

Um valor de -1 esvazia o campo correspondente no arquivo de senha shadow, o que significa que
o período de inatividade não será aplicado.

Se não for especificado, o comando useradd usa o período de inatividade padrão especificado na variável INACTIVE em /etc/default/useradd ou -1 por padrão, se nenhum valor for especificado.

-F, --add-subids-for-system
Atualiza `/etc/subuid` e `/etc/subgid` mesmo ao criar uma conta de sistema com a opção -r.

-g, --gid GRUPO
O nome ou o número do grupo primário 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 comando useradd dependerá da variável USERGROUPS_ENAB em /etc/login.defs. Se esta variável estiver definida como yes (ou se a opção -U/--user-group for especificada na linha de comando), um grupo será criado para o usuário, com o mesmo nome do nome de login. Se a variável estiver definida como no (ou se a opção -N/--no-user-group for especificada na linha de comando), o comando useradd definirá o grupo primário do novo usuário para o valor especificado na variável GROUP em /etc/default/useradd ou 100 por padrão.

-G, --groups GRUPO1[,GRUPO2,...[,GRUPO N]]
Uma lista de grupos suplementares dos quais o usuário também é membro. Cada grupo é separado
do próximo por uma vírgula, sem espaços entre eles. Os grupos estão sujeitos às mesmas
restrições do grupo fornecido com a opção `-g`. O padrão é que o usuário pertença apenas ao
grupo inicial. Além de passar a opção `-G`, você pode adicionar a opção `GROUPS` ao arquivo
`/etc/default/useradd`, o que, por sua vez, adicionará todos os usuários a esses grupos
suplementares.

-h, --help
Exibe a mensagem de ajuda e sai.

-k, --skel DIRETORIO_SKEL
O diretório de modelo, que contém arquivos e diretórios a serem copiados para o diretório
inicial do usuário, quando o diretório inicial é criado pelo comando `useradd`.

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

Se esta opção não for definida, o diretório de modelo é definido pela variável SKEL em /etc/default/useradd ou, por padrão, /etc/skel.

Links simbólicos absolutos que apontam de volta para o diretório de modelo terão o prefixo /etc/skel substituído pelo diretório inicial do usuário.

Se possível, as ACLs e os atributos estendidos são copiados.

-K, --key CHAVE=VALOR
Substitui os valores padrão de `/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 para desativar o
envelhecimento da senha. Várias opções `-K` podem ser especificadas, por exemplo:
`-K UID_MIN =100 -K UID_MAX=499`.

-l, --no-log-init
Não adiciona 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 o reuso da entrada de um usuário excluído anteriormente.

Se esta opção não for especificada, o comando useradd também consultará a variável LOG_INIT em /etc/default/useradd. Se esta variável estiver definida como no, o usuário não será adicionado aos bancos de dados lastlog e faillog.


-m, --create-home
Cria o diretório pessoal do usuário, caso ele não exista. Os arquivos e diretórios contidos no
diretório de modelo (que pode ser definido com a opção -k) serão copiados para o diretório pessoal.

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

O diretório onde o diretório pessoal do usuário será criado deve existir e ter o contexto e as
permissões SELinux apropriados. Caso contrário, o diretório pessoal do usuário não poderá ser
criado ou acessado.

-M, --no-create-home
Não cria o diretório pessoal do usuário, mesmo que a configuração global de /etc/login.defs
(CREATE_HOME) esteja definida como sim.

-N, --no-user-group
Não cria um grupo com o mesmo nome do usuário, mas adiciona o usuário ao grupo especificado
pela opção -g ou pela variável GROUP em /etc/default/useradd.

O comportamento padrão (se as opções -g, -N e -U não forem especificadas) é definido pela
variável USERGROUPS_ENAB em /etc/login.defs.

-o, --non-unique
permite a criação de uma conta com um UID já existente.

Esta opção só é válida em combinação com a opção -u. Como a identidade do usuário serve como
chave para mapear entre usuários, de um lado, e permissões, propriedade de arquivos e outros
aspectos que determinam o comportamento do sistema, de outro, mais de um nome de login
acessará a conta do UID fornecido.

-p, --password PASSWORD
define uma senha inicial para a conta. PASSWORD deve ser criptografada, conforme retornado por
crypt (3). Dentro de um script shell, esta opção permite criar lotes de usuários de forma
eficiente.

Sem esta opção, a nova conta será bloqueada e não terá senha definida, ou seja, haverá um
único ponto de exclamação no campo correspondente de /etc/shadow. Este é um estado em que o
usuário não poderá acessar a conta ou definir uma senha para si mesmo.

Observação: Evite esta opção na linha de comando, pois a senha (ou senha criptografada) ficará
visível para os usuários que listarem os processos.

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

-r, --system
Cria uma conta de sistema.

Os usuários de 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 useradd não criará um diretório pessoal 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 pessoal seja criado para uma conta de sistema.

Observe que esta opção não atualizará /etc/subuid e /etc/subgid. Você deve especificar as
opções -F se desejar atualizar os arquivos para uma conta de sistema a ser criada.

-R, --root CHROOT_DIR
Aplica as alterações no diretório CHROOT_DIR e usa os arquivos de configuração do diretório
CHROOT_DIR. Apenas caminhos absolutos são suportados.

-P, --prefix PREFIX_DIR
Aplica as alterações aos arquivos de configuração sob o sistema de arquivos raiz encontrado no diretório
PREFIX_DIR. Esta opção não executa chroot e é destinada à preparação de um destino de compilação cruzada. Algumas limitações: usuários/grupos NIS e LDAP não são verificados. A autenticação PAM está usando os arquivos do host. Sem suporte SELINUX.

-s, --shell SHELL
Define o caminho para o shell de login do usuário. Sem esta opção, o sistema usará a variável SHELL especificada em /etc/default/useradd ou, se também não estiver definida, o campo do shell de login em /etc/passwd permanecerá vazio.

-u, --uid UID
O 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 todos os outros usuários.

-U, --user-group
Cria um grupo com o mesmo nome do usuário e adiciona o usuário a este grupo.

O comportamento padrão (se as opções -g, -N e -U não forem especificadas) é definido pela variável USERGROUPS_ENAB em /etc/login.defs.

-Z, --selinux-user SEUSER
Define o usuário SELinux para a nova conta. Sem esta opção, o SELinux usa o usuário padrão. Observe que o sistema shadow não armazena o selinux-user, ele usa semanage(8) para isso.

--selinux-range SERANGE
Define o intervalo MLS SELinux para a nova conta. Sem esta opção, o SELinux usa o intervalo padrão. Observe que o sistema shadow não armazena o selinux-range, ele usa semanage(8) para isso.

Esta opção é válida somente se a opção -Z (ou --selinux-user) for especificada.

Alterando os valores padrão

Quando invocado apenas com a opção -D, o useradd exibirá os valores padrão atuais. Quando invocado com -D mais outras opções, o useradd atualizará os valores padrão para as opções especificadas. As opções de alteração de padrão válidas são:

-b, --base-dir BASE_DIR
Define o prefixo de caminho para o diretório inicial de um novo usuário. O nome do usuário será anexado ao 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, --expiredate EXPIRE_DATE
Define a data em que as contas de usuário recém-criadas são desativadas.

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

-f, --inactive INACTIVE
Especifica o número de dias após a expiração de uma senha durante os quais o usuário ainda pode fazer login. Após este período, a conta é bloqueada.

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

-g, --gid GROUP
Define o grupo primário padrão para novos usuários, aceitando nomes de grupo ou um ID de grupo numérico. O grupo nomeado deve existir, e o GID deve ter uma entrada existente.

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

-s, --shell SHELL
Define o shell de login padrão para novos usuários.

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 em qualquer outro diretório de modelo 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 feito 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 comando useradd negará a solicitação de criação da conta de usuário.

Os nomes de usuário podem conter apenas letras maiúsculas e minúsculas, dígitos, sublinhados ou hífens. Eles podem terminar com um sinal de dólar. Hífens não são permitidos no início do nome de usuário. Nomes de usuário totalmente numéricos e nomes de usuário . ou .. também não são permitidos. Não é recomendado usar nomes de usuário que comecem com o caractere . , pois seus diretórios home ficarão ocultos na saída do comando ls.

Os nomes de usuário podem ter no máximo 256 caracteres.

CONFIGURAÇÃO

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

CREATE_HOME (booleano)

Indica se um diretório home deve ser criado por padrão para novos usuários.

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

GID_MAX (número), GID_MIN (número)

Intervalo de IDs de grupo usados para a criação de grupos regulares por useradd, groupadd ou newusers.

O valor padrão para GID_MIN (resp. GID_MAX) é 1000 (resp. 60000).

HOME_MODE (número)

O modo para novos diretórios home. Se não especificado, a UMASK é usada para criar o modo.

useradd e newusers usam isso para definir o modo do diretório home que eles criam.

LASTLOG_UID_MAX (número)

Maior número de ID de usuário para o qual as entradas lastlog devem ser atualizadas. Como IDs de usuário mais altos são geralmente rastreados por serviços de identidade e autenticação de usuário remotos, não há necessidade de criar um arquivo lastlog grande e esparso para eles.

A ausência da opção LASTLOG_UID_MAX na configuração significa que não há limite de ID de usuário para gravar entradas lastlog.

MAIL_DIR (string)

O diretório do spool de e-mail. Isso é necessário para manipular a caixa de correio quando a conta de usuário correspondente é modificada ou excluída. Se não especificado, um valor padrão em tempo de compilação é usado. O parâmetro CREATE_MAIL_SPOOL em /etc/default/useradd determina se o spool de e-mail deve ser criado.

MAIL_FILE (string)

Define a localização dos arquivos de spool de e-mail dos usuários em relação ao seu diretório home.

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

MAX_MEMBERS_PER_GROUP (número)

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

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

Este recurso (divisão de grupo) permite limitar o comprimento das linhas no arquivo de grupo. Isso é útil para garantir que as linhas para grupos NIS não sejam maiores que 1024 caracteres.


Se você precisar aplicar tal limite, pode usar 25.

Observação: a divisão em grupos pode não ser suportada por todas as ferramentas (mesmo no conjunto de ferramentas Shadow). Você não deve usar esta variável, a menos que realmente precise.

PASS_MAX_DAYS (número)

O número máximo de dias que uma senha pode ser usada. Se a senha for mais antiga do que isso, uma alteração de senha será forçada. Se não for especificado, -1 será assumido (o que desativa a restrição).

PASS_MIN_DAYS (número)

O número mínimo de dias permitidos entre as alterações de senha. Qualquer tentativa de alteração de senha feita antes disso será rejeitada. Se não for especificado, 0 será assumido (o que desativa a restrição).

PASS_WARN_AGE (número)

O número de dias de aviso dado antes do vencimento da senha. Um valor zero significa que o aviso é dado apenas no dia do vencimento, um valor de -1 significa que nenhum aviso é dado. Se não for especificado, nenhum aviso será fornecido.

SUB_GID_MIN (número), SUB_GID_MAX (número), SUB_GID_COUNT (número)

Se /etc/subuid existir, os comandos useradd e newusers (a menos que o usuário já tenha IDs de grupo subordinados) alocam SUB_GID_COUNT IDs de grupo não utilizados no intervalo SUB_GID_MIN a SUB_GID_MAX para cada novo usuário.

Os valores padrão para SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT são, respectivamente, 100000, 600100000 e 65536.

SUB_UID_MIN (número), SUB_UID_MAX (número), SUB_UID_COUNT (número)

Se /etc/subuid existir, os comandos useradd e newusers (a menos que o usuário já tenha IDs de usuário subordinados) alocam SUB_UID_COUNT IDs de usuário não utilizados no intervalo SUB_UID_MIN a SUB_UID_MAX para cada novo usuário.

Os valores padrão para SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT são, respectivamente, 100000, 600100000 e 65536.

SYS_GID_MAX (número), SYS_GID_MIN (número)

Intervalo de IDs de grupo usados para a criação de grupos de sistema por useradd, groupadd ou newusers.

O valor padrão para SYS_GID_MIN (resp. SYS_GID_MAX) é 101 (resp. GID_MIN-1).

SYS_UID_MAX (número), SYS_UID_MIN (número)

Intervalo de IDs de usuário usados para a criação de usuários de sistema por useradd ou newusers.

O valor padrão para SYS_UID_MIN (resp. SYS_UID_MAX) é 101 (resp. UID_MIN-1).

UID_MAX (número), UID_MIN (número)

Intervalo 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).

UMASK (número)

A máscara de criação de modo de arquivo é inicializada para este valor. Se não for especificado, a máscara será inicializada para 022.

useradd e newusers usam esta máscara para definir o modo do diretório inicial que criam, se HOME_MODE não for definido.

Também é usado por pam_umask como o valor umask padrão.

USERGROUPS_ENAB (booleano)

Se definido como sim, userdel removerá o grupo do usuário se ele não contiver mais membros e useradd criará por padrão um grupo com o nome do usuário.

ARQUIVOS

/etc/passwd

Informações da conta de usuário.

/etc/shadow

Informações seguras da conta de usuário.

/etc/group

Informações da conta de grupo.

/etc/gshadow

Informações seguras da conta de grupo.


/etc/default/useradd

Valores padrão para a criação de contas.

/etc/shadow-maint/useradd-pre.d/*, /etc/shadow-maint/useradd-post.d/*

Arquivos de script a serem executados durante a adição de usuários. A variável de ambiente ACTION será preenchida com useradd e SUBJECT com o nome de usuário. useradd-pre.d será executado antes de qualquer adição de usuário. useradd-post.d será executado após a adição do usuário. Se um script retornar um valor diferente de zero, a execução será interrompida.

/etc/skel/

Diretório contendo arquivos padrão.

/etc/subgid

IDs de grupo subordinados por usuário.

/etc/subuid

IDs de usuário subordinados por usuário.

/etc/login.defs

Configuração do conjunto de senhas shadow.

VALORES DE SAÍDA

O comando useradd retorna os seguintes valores:

0   sucesso

1   não é possível atualizar o arquivo de senhas

2   sintaxe de comando inválida

3   argumento inválido para a opção

4   UID já está em uso (e -o não foi especificado)

6   o grupo especificado não existe

9   nome de usuário ou grupo já está em uso

10  não é possível atualizar o arquivo de grupo

12  não é possível criar o diretório home

14  não é possível atualizar o mapeamento de usuário do SELinux

19  nome de usuário ou grupo inválido

VER TAMBÉM

chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8), groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5), userdel(8), usermod(8).