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