Manuais para a linha de comandos

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

🌍
adduser, addgroup - adicionar ou manipular usuários ou grupos

SINOPSIS

adduser [--add-extra-groups] [--allow-all-names] [--allow-bad-names] [--comment comment]
[--conf file] [--debug] [--disabled-login] [--disabled-password] [--firstgid id]
[--firstuid id] [--gid id] [--home dir] [--ingroup group] [--lastgid id] [--lastuid id]
[--no-create-home] [--no-copy-skel] [--shell shell] [--quiet] [--uid id] [--verbose]
[--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] user

adduser --system [--comment comment] [--conf file] [--debug] [--gid id] [--group] [--home dir]
[--ingroup group] [--no-create-home] [--no-copy-skel] [--shell shell] [--uid id]
[--quiet] [--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio]
[--logmsglevel prio] user

adduser --group [--conf file] [--debug] [--firstgid id] [--gid ID] [--lastgid id] [--quiet]
[--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] group

addgroup [--conf file] [--debug] [--firstgid id] [--gid ID] [--lastgid id] [--quiet] [--verbose]
[--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] group

addgroup --system [--gid id] [--conf file] [--quiet] [--verbose] [--stdoutmsglevel prio]
[--stderrmsglevel prio] [--logmsglevel prio] group

adduser [--conf file] [--debug] [--quiet] [--verbose] [--stdoutmsglevel prio]
[--stderrmsglevel prio] [--logmsglevel prio] user group

adduser --help

adduser --version

DESCRIÇÃO

adduser e addgroup adicionam usuários e grupos ao sistema de acordo com as opções da linha de comando e
as informações de configuração em /etc/adduser.conf. São front-ends mais específicos do Debian para os
programas useradd, groupadd e usermod, que são mais independentes da distribuição. Por padrão, adduser e addgroup escolhem valores de UID e GID compatíveis com a política do Debian, criam um diretório home
com configuração esquelética, executam um script personalizado e têm outros recursos.

adduser e addgroup destinam-se a ser uma camada de política, facilitando para os mantenedores de pacotes e
administradores locais a criação de contas de sistema locais da maneira que a política do Debian espera que sejam criadas, aliviando o ônus de se adaptar às especificações provavelmente em mudança da política do Debian. adduser --system recebe atenção especial, pois precisa apenas de uma única chamada nos scripts do mantenedor do pacote sem nenhum wrapper condicional, supressão de erros ou outros elementos.

adduser respeita a distinção entre usuários e grupos do sistema alocados dinamicamente e contas de usuário alocadas dinamicamente, conforme documentado na Política do Debian, Capítulo 9.2.2.

Para uma lista completa e explicações de todas as opções, consulte a seção OPÇÕES.

`adduser` e `addgroup` podem ser executados em um dos cinco modos:

Adicionar um usuário regular (não de sistema)

Se chamado com um único argumento não-opcional e sem as opções --system ou --group, adduser adicionará um usuário regular, o que significa uma conta de usuário alocada dinamicamente no sentido da Política Debian. Isso é comumente referido em adduser como um usuário não de sistema.

`adduser` escolherá o primeiro UID disponível no intervalo especificado por `FIRST_UID` e `LAST_UID` no arquivo de configuração. O intervalo pode ser substituído com as opções `--firstuid` e `--lastuid`. Finalmente, o UID pode ser definido manualmente com a opção `--uid`.

Por padrão, a cada usuário é atribuído um grupo correspondente com o mesmo nome. Isso é comumente chamado de Grupos de Usuários e permite que diretórios graváveis por grupo sejam facilmente mantidos, colocando os usuários apropriados no novo grupo, definindo o bit de ID de grupo no diretório e garantindo que todos os usuários usem um umask de 002.

Para um grupo de usuário, `adduser` escolherá o primeiro GID disponível no intervalo especificado por `FIRST_GID` e `LAST_GID` no arquivo de configuração. O intervalo pode ser substituído com as opções `--firstgid` e `--lastgid`. Finalmente, o GID pode ser definido manualmente com a opção `--gid`.

A interação entre `USERS_GID`, `USERS_GROUP` e `USERGROUPS` é explicada em detalhes em `adduser.conf(5)`.

O grupo primário do novo usuário também pode ser substituído na linha de comando com as opções --gid ou --ingroup para definir o grupo por ID ou nome, respectivamente. Além disso, os usuários podem ser adicionados a um ou mais grupos suplementares definidos como EXTRA_GROUPS, definindo ADD_EXTRA_GROUPS como 1 no arquivo de configuração, ou passando --add-extra-groups na linha de comando.

`adduser` copiará arquivos de `/etc/skel` para o diretório inicial e solicitará o campo de comentário e uma senha, se essas funções não tiverem sido desativadas/substituídas na linha de comando.

UID, comentário, diretório inicial e shell podem ser predeterminados com as opções `UID_POOL` e `GID_POOL`, documentadas em `adduser.conf(5)`.

Adicionar um usuário de sistema

Se chamado com um único argumento não-opcional e a opção --system, adduser adicionará um usuário de sistema alocado dinamicamente, geralmente abreviado como usuário de sistema no contexto do pacote adduser.

`adduser` escolherá o primeiro UID disponível no intervalo especificado por `FIRST_SYSTEM_UID` e `LAST_SYSTEM_UID` no arquivo de configuração. Isso pode ser substituído com a opção `--uid`.

Por padrão, os usuários de sistema recebem `nogroup` como grupo primário. Para atribuir um grupo existente como grupo primário, use as opções `--gid` ou `--ingroup`. Se a opção `--group` for fornecida e o grupo com o mesmo nome não existir, ele será criado com o mesmo ID.

Se nenhum diretório inicial for especificado, o diretório inicial padrão para um novo usuário de sistema é `/nonexistent`. Este diretório nunca deve existir em nenhum sistema Debian e `adduser` nunca o criará automaticamente.

Se um diretório inicial for especificado com a opção --home, e o diretório já existir (por exemplo, se o pacote for fornecido com arquivos nesse diretório), o comando adduser não define silenciosamente o proprietário do diretório para o novo usuário criado. Definir o proprietário pode substituir uma decisão do administrador local, e relatar esse fato quebraria o silêncio do adduser durante a instalação do pacote. Se você usar adduser --home nos scripts de manutenção do seu pacote, talvez queira emitir um comando chown recursivo explícito para o diretório inicial após a chamada para adduser.

A menos que um shell seja explicitamente definido com a opção --shell, o novo usuário do sistema terá o shell definido como /usr/sbin/nologin. O comando adduser --system não define uma senha para a nova conta. É um erro se adduser --system for chamado para uma conta que já tem uma senha. Os arquivos de configuração esqueléticos não são copiados.

Outras opções se comportarão como na criação de um usuário regular. Os arquivos referenciados por UID_POOL e GID_POOL também são considerados.

Adicionar um grupo

Se adduser for chamado com a opção --group e sem a opção --system, ou se addgroup for chamado, um grupo de usuário será adicionado.

Um grupo de sistema alocado dinamicamente, frequentemente abreviado como grupo de sistema no contexto do pacote adduser, será criado se adduser --group ou addgroup forem chamados com a opção --system.

Um GID será escolhido do intervalo especificado para GIDs no arquivo de configuração (FIRST_GID, LAST_GID, FIRST_SYSTEM_GID, LAST_SYSTEM_GID). Para substituir esse mecanismo, você pode fornecer o GID usando a opção --gid.

Para grupos não-sistema, o intervalo especificado no arquivo de configuração pode ser substituído com as opções --firstgid e --lastgid.

O grupo é criado sem membros.

Adicionar um usuário existente a um grupo existente

Se chamado com dois argumentos não-opção, adduser adicionará um usuário existente a um grupo existente.

OPÇÕES

Diferentes modos do adduser permitem diferentes opções. Se nenhum modo válido for listado para uma opção, ela será aceita em todos os modos.

Versões abreviadas para certas opções podem existir por razões históricas. Elas continuarão sendo suportadas, mas serão removidas da documentação. Os usuários são aconselhados a migrar para a versão longa das opções.

--add-extra-groups
Adiciona o novo usuário aos grupos extras definidos na configuração `EXTRA_GROUPS`. A grafia antiga `--add_extra_groups` está obsoleta e será suportada apenas no Debian bookworm. Modos válidos: `adduser`, `adduser --system`.

--allow-all-names
Permite qualquer nome de usuário e grupo suportado pelo comando `useradd` subjacente. Veja VALID NAMES abaixo. Modos válidos: `adduser`, `adduser --system`, `addgroup`, `addgroup --system`.

--allow-bad-names
Desativa a verificação `NAME_REGEX` e `SYS_NAME_REGEX` dos nomes. Apenas uma verificação mais fraca da validade do nome é aplicada. Veja VALID NAMES abaixo. Modos válidos: `adduser`, `adduser --system`, `addgroup`, `addgroup --system`.

--comment comment

Define o campo de comentário para a nova entrada gerada. O comando adduser não solicitará a informação se esta opção for fornecida. Este campo também é conhecido pelo nome de campo GECOS e contém informações que são usadas pelo comando finger(1). Esta era a opção --gecos, que está obsoleta e será removida após o Debian bookworm. Modos válidos: adduser, adduser --system.

--conf file

Use o arquivo em vez de /etc/adduser.conf. Várias opções --conf podem ser fornecidas.

--debug

Sinônimo de --stdoutmsglevel=debug. Obsoleto.

--disabled-login
--disabled-password

Não execute passwd(1) para definir uma senha. Na maioria das situações, os logins ainda são possíveis (por exemplo, usando chaves SSH ou por meio do PAM) por motivos que estão além do escopo do adduser. --disabled-login também definirá o shell como /usr/sbin/nologin. Modos válidos: adduser.

--firstuid ID
--lastuid ID
--firstgid ID
--lastgid ID

Substitua o primeiro UID / último UID / primeiro GID / último GID na faixa da qual o UID é escolhido (FIRST_UID, LAST_UID, FIRST_GID e LAST_GID, FIRST_SYSTEM_UID, LAST_SYSTEM_UID, FIRST_SYSTEM_GID e LAST_SYSTEM_GID no arquivo de configuração). Se um grupo for criado como um grupo de usuários, --firstgid e --lastgid são ignorados. O grupo recebe o mesmo ID do usuário. Modos válidos: adduser, adduser --system, para --firstgid e --lastgid, também addgroup.

--force-badname
--allow-badname

Estas são as formas obsoletas de --allow-bad-names. Elas serão removidas durante o ciclo de lançamento do Debian 13.

--gid GID

Ao criar um grupo, esta opção define o número de ID do grupo do novo grupo como GID. Ao criar um usuário, esta opção define o número de ID do grupo primário do novo usuário como GID. Modos válidos: adduser, adduser --system, addgroup, addgroup --system.

--group

Ao usar esta opção em adduser --system, indica que o novo usuário deve receber um grupo primário com o mesmo nome. Se esse grupo com o mesmo nome já não estiver presente, ele será criado. Se não for combinado com --system, um grupo com o nome fornecido será criado. Este é o comportamento padrão se o programa for invocado como addgroup. Modos válidos: adduser --system, addgroup, addgroup --system.

--help Exibe instruções breves.

--home dir

Use dir como o diretório inicial do usuário, em vez do padrão especificado no arquivo de configuração (ou /nonexistent se adduser --system for usado). Se o diretório não existir, ele será criado. Modos válidos: adduser, adduser --system.

--ingroup GROUP

Ao criar um usuário, esta opção define o número de ID do grupo primário do novo usuário como o GID do grupo especificado pelo nome. Ao contrário da opção --gid, o grupo é especificado aqui pelo nome, em vez de pelo número de ID. O grupo já deve existir. Modos válidos: adduser, adduser --system.


--lastuid ID
--lastgid ID

Substitui o último UID / último GID. Veja --firstuid.

--no-create-home

Não criar um diretório home para o novo usuário. Observe que o caminho para o diretório home do novo usuário ainda será inserido no campo apropriado no arquivo /etc/passwd. O uso desta opção não implica que este campo deva estar vazio. Em vez disso, indica ao adduser que algum outro mecanismo será responsável por inicializar o diretório home do novo usuário. Modos válidos: adduser, adduser --system.

--no-copy-skel

Não preencher o diretório home do novo usuário com arquivos de /etc/skel. Se o diretório home for criado recentemente, ele estará vazio. Modos válidos: adduser, adduser --system.

--quiet

Sinônimo de --stdoutmsglevel=warn. Obsoleto.

--shell shell

Usar shell como o shell de login do usuário, em vez do padrão especificado no arquivo de configuração (ou /usr/sbin/nologin se adduser --system for usado). Modos válidos: adduser, adduser --system.

--system

Normalmente, adduser cria contas e grupos de usuário alocadas dinamicamente, conforme definido na Política Debian, Capítulo 9.2.2. Com esta opção, adduser cria um usuário e grupo de sistema alocados dinamicamente e altera seu modo, respectivamente. Modos válidos: adduser, addgroup.

--uid ID

Forçar o novo ID de usuário a ser o número fornecido. adduser falhará se o ID de usuário já estiver em uso. Modos válidos: adduser, adduser --system.

--verbose

Sinônimo de --stdoutmsglevel=info. Obsoleto.

--stdoutmsglevel prio
--stderrmsglevel prio
--logmsglevel prio

Prioridade mínima para mensagens registradas no syslog/journal e no console, respectivamente. Os valores são trace, debug, info, warn, err e fatal. As mensagens com a prioridade definida aqui ou superior são impressas no meio respectivo. As mensagens impressas em stderr não são repetidas em stdout. Isso permite que o administrador local controle o nível de detalhe do adduser no console e no log de forma independente, mantendo informações provavelmente confusas para si mesmo, enquanto ainda deixa informações úteis no log. stdoutmsglevel, stderrmsglevel e logmsglevel têm como padrão warn, warn e info, respectivamente.

-v , --version

Exibir informações de versão e direitos autorais.

Nomes válidos

Historicamente, adduser(8) e addgroup(8) aplicavam a conformidade com o IEEE Std 1003.1-2001, que permite apenas que os seguintes caracteres apareçam nos nomes de grupo e usuário: letras, dígitos, sublinhados, pontos, símbolos de arroba (@) e hífens. O nome não pode começar com um hífen ou @. O símbolo "$" é permitido no final dos nomes de usuário para permitir contas de máquina Samba típicas.

As configurações padrão para NAME_REGEX e SYS_NAME_REGEX permitem que os nomes de usuário contenham letras e dígitos, mais hífen (-) e sublinhado (_); o nome deve começar com uma letra (ou um sublinhado para usuários de sistema).

A política menos restritiva, disponível usando a opção --allow-all-names, simplesmente faz as mesmas verificações que useradd(8). Observe que as verificações do useradd se tornaram muito mais restritivas no Debian 13.


Alterar o comportamento padrão pode ser usado para criar nomes confusos ou enganosos; use com cautela.

REGISTRO

O Adduser usa registro extenso e configurável para adaptar sua verbosidade às necessidades do administrador do sistema.

Cada mensagem que o adduser imprime tem um valor de prioridade atribuído pelos autores. Essa prioridade não pode ser alterada em tempo de execução. Os valores de prioridade disponíveis são crit, error, warning, info, debug e trace.

Se você achar que uma mensagem tem a prioridade errada, registre um bug.

Toda vez que uma mensagem é gerada, o código decide se deve imprimir a mensagem na saída padrão, no erro padrão ou no syslog. Isso é controlado principalmente e independentemente pelas configurações STDOUTMSGLEVEL, STDERRMSGLEVEL e LOGMSGLEVEL. Para fins de teste, essas configurações podem ser substituídas na linha de comando.

Somente as mensagens com uma prioridade maior ou igual ao nível de mensagem respectivo são registradas no meio de saída respectivo. Uma mensagem que foi gravada no erro padrão não é gravada uma segunda vez na saída padrão.

VALORES DE SAÍDA

0     Sucesso: o usuário ou grupo existe conforme especificado. Isso pode ter 2 causas: o usuário ou grupo foi criado por esta chamada para adduser ou o usuário ou grupo já estava presente no sistema conforme especificado antes que o adduser fosse invocado. Se o adduser --system for invocado para um usuário que já existe com os atributos solicitados ou compatíveis, também retornará 0.

11    O objeto para o qual o adduser foi solicitado para criar já existe.

12    O objeto no qual o adduser ou deluser foi solicitado para operar não existe.

13    O objeto no qual o adduser ou deluser foi solicitado para operar não tem as propriedades necessárias para concluir a operação: um usuário (um grupo) que foi solicitado para ser criado como um usuário (grupo) do sistema já existe e não é um usuário (grupo) do sistema, ou um usuário (grupo) que foi solicitado para ser criado com um determinado UID (GID) já existe e tem um UID (GID) diferente, ou um usuário (grupo) do sistema que foi solicitado para ser excluído existe, mas não é um usuário (grupo) do sistema.

21    O UID (GID) que foi explicitamente solicitado para um novo usuário (grupo) já está em uso.

22    Não há nenhum UID (GID) disponível no intervalo solicitado.

23    Não há nenhum grupo com o GID solicitado para o grupo primário para um novo usuário.

31    O nome escolhido para um novo usuário ou um novo grupo não está em conformidade com as regras de nomenclatura selecionadas.

32    O diretório inicial de um novo usuário deve ser um caminho absoluto.

33    useradd retornou o código de saída 19 "nome de usuário ou grupo inválido". Isso significa que o nome de usuário ou grupo escolhido não se ajusta às restrições do useradd e o adduser não pode criar o usuário.

41    O grupo que foi solicitado para ser excluído não está vazio.

42 O usuário que foi solicitado para ser removido de um grupo não é membro dele.

43 Não é possível remover um usuário do grupo primário ou não foi selecionado um grupo primário para um novo usuário por nenhum método.

51 Número incorreto ou ordem incorreta de parâmetros de linha de comando detectada.

52 Opções incompatíveis definidas no arquivo de configuração.

53 Opções de linha de comando mutuamente incompatíveis detectadas.

54 `adduser` e `deluser` foram invocados como não-root e, portanto, não podem funcionar.

55 `deluser` se recusará a excluir a conta root.

56 Uma função foi solicitada que precisa de mais pacotes para serem instalados. Veja Recomenda: e Sugere: do pacote `adduser`.

61 `adduser` foi abortado por algum motivo e tentou reverter as alterações que foram feitas durante a execução.

62 Erro interno de `adduser`. Isso não deveria acontecer. Tente reproduzir o problema e registre um relatório de bug.

71 Erro ao criar e manipular o bloqueio.

72 Erro ao acessar o(s) arquivo(s) de configuração.

73 Erro ao acessar um arquivo de pool.

74 Erro ao ler um arquivo de pool, erro de sintaxe no arquivo.

75 Erro ao acessar arquivos auxiliares.

81 Um executável que é necessário para `adduser` ou `deluser` não pode ser encontrado. Verifique sua instalação e dependências.

82 A execução de um comando externo retornou algum erro inesperado.

83 Um comando externo foi encerrado com um sinal.

84 Uma chamada de sistema foi encerrada com um erro inesperado.

Ou, para muitas outras razões ainda não documentadas, que são impressas no console. Você pode então considerar aumentar um nível de log para tornar adduser mais detalhado.

SEGURANÇA

^ dduser precisa de privilégios de root e oferece, por meio da opção de linha de comando --conf, o uso de diferentes arquivos de configuração. Não use sudo(8) ou ferramentas semelhantes para fornecer privilégios parciais a adduser com parâmetros de linha de comando restritos. Isso é fácil de contornar e pode permitir que os usuários criem contas arbitrárias. Se você quiser isso, considere escrever seu próprio script de wrapper e fornecer privilégios para executar esse script.

ARQUIVOS

/etc/adduser.conf

Arquivo de configuração padrão para adduser(8) e addgroup(8)

/usr/local/sbin/adduser.local

Complementos personalizados opcionais, veja adduser.local(8)

NOTAS

Infelizmente, o termo "conta de sistema" sofre de uso duplo no Debian. Ele se refere tanto a uma conta para o sistema Debian real, distinguindo-se de uma conta de aplicativo que pode existir no banco de dados de usuário de algum aplicativo em execução no Debian. Uma conta de sistema nesta definição tem o potencial de fazer login no sistema real, tem um UID, pode ser membro de grupos de sistema, pode possuir arquivos e processos. O Debian Policy, ao contrário, em seu Capítulo 9.2.2, faz uma distinção entre usuários e grupos de sistema alocados dinamicamente e contas de usuário alocadas dinamicamente, significando em ambos os casos instâncias especiais de contas de sistema. Deve-se ter cuidado para não confundir essa terminologia. Como adduser e deluser(8) nunca abordam contas de aplicativo e tudo neste pacote diz respeito a contas de sistema aqui, o uso dos termos conta de usuário e conta de sistema não é realmente ambíguo no contexto deste pacote. Para maior clareza, este documento usa a definição de conta de sistema local ou grupo se a distinção entre contas de aplicativo ou contas gerenciadas em um serviço de diretório for necessária.


O comando `adduser` já teve a visão de ser a interface universal para os vários serviços de diretório para criação e exclusão de contas de usuário e de sistema no Debian desde a década de 1990. Essa visão foi abandonada em 2022. A justificativa por trás disso inclui: que, na prática, um pequeno sistema de servidor não terá permissão de gravação em um serviço de diretório em toda a empresa, que os pacotes instalados localmente são difíceis de gerenciar com contas de sistema controladas centralmente, que os serviços de diretório corporativos têm seus próprios processos de gerenciamento e que o poder de trabalho da equipe `adduser` provavelmente nunca será forte o suficiente para escrever e manter o suporte para a infinidade de serviços de diretório que precisam de suporte.

O `adduser` se limitará a ser uma camada de política para o gerenciamento de contas de sistema locais, usando as ferramentas do pacote `passwd` para o trabalho real.

BUGS

O uso inconsistente de terminologia em torno do termo "conta de sistema" na documentação e no código é um bug. Por favor, relate isso e nos permita melhorar nossa documentação.

O adduser tem como objetivo ser diretamente utilizável em scripts de manutenção do Debian sem wrappers condicionais, supressão de erros e outros elementos de suporte. A única coisa que o mantenedor do pacote precisa codificar é uma verificação da presença do executável no script postrm. Os mantenedores do adduser consideram a necessidade de elementos de suporte adicionais como um bug e incentivam seus colegas mantenedores de pacotes Debian a registrar bugs contra o pacote adduser neste caso.

VEJA TAMBÉM

^ dduser.conf(5), deluser(8), groupadd(8), useradd(8), usermod(8), /usr/share/doc/basepasswd/users-and-groups.html em qualquer sistema Debian, Política do Debian 9.2.2, RFC8264 "PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols", RFC8265 "PRECIS Representing Usernames and Passwords", https://wiki.debian.org/UserAccounts.