Comando Linux 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ÁRIO | COMMENT 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_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 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 , –defaults | Defina novos valores padrão. Consulte a seção Alterando valores padrão de novo usuário , abaixo. |
-e , – expirou EXPIRE_DATE | A 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 INACTIVE | O 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 GRUPO | O 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 , –help | Exiba uma mensagem de ajuda e saia. |
-k , –skel SKEL_DIR | SKEL_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 = VALOR | Substitui 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-init | Nã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-casa | Crie 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. |
-M | Nã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-group | Nã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-exclusivo | Permitir 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 SENHA | A 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 , –system | Crie 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_DIR | Aplique alterações no diretório CHROOT_DIR e use os arquivos de configuração do diretório CHROOT_DIR . |
-s , –shell SHELL | O 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 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 qualquer outro usuário. Consulte também a opção -r e a descrição UID_MAX . |
-U , –user-group | Crie 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 SEUSER | O 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_DIR | O 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_DATE | A data em que a conta do usuário está desativada. Esta opção define a variável EXPIRE em / etc / default / useradd . |
-f , –inactive INACTIVE | O 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 GRUPO | O 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 SHELL | O 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:
nome | tipo | descrição |
---|---|---|
CREATE_HOME | boleano | Indique 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_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 é 1000 ; o padrão para GID_MAX é 60000 . |
MAIL_DIR | corda | O 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_FILE | corda | Define 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_GROUP | número | Má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_DAYS | número | O 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_DAYS | número | O 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_AGE | número | O 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_MIN | número | Intervalo 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_MIN | número | Intervalo 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_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 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_ENAB | boleano | Se 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 / passwd | Informações da conta do usuário. |
/ etc / shadow | Proteja as informações da conta do usuário. |
/ etc / group | Informações da conta do grupo. |
/ etc / gshadow | Informações seguras da conta do grupo. |
/ etc / default / useradd | Valores padrão para criação de conta. |
/ etc / skel / | Diretório contendo arquivos padrão. |
/etc/login.defs | Configuração do conjunto de senhas sombra. |
Status de saída
useradd sai com o seguinte status, dependendo do que ocorreu:
0 0 | Tudo foi concluído com sucesso. |
1 | Não foi possível atualizar o arquivo de senha. |
2 | A sintaxe do comando era inválida. |
3 | Uma ou mais opções receberam um argumento inválido . |
4 | O ID do usuário já está em uso e -o não foi especificado. |
6 | O grupo especificado não existe. |
9 | Nome de usuário já em uso. |
10 | Não foi possível atualizar o arquivo de grupo. |
12 | Não foi possível criar o diretório inicial. |
14 | Nã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 .
Comandos relacionados
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.