ADDUSER(8)

NOME
adduser, addgroup - adiciona ou manipula utilizadores ou grupos

SINOPSE
adduser [--add-extra-groups] [--allow-all-names] [--allow-bad-names] [--comment comentário] [--conf ficheiro] [--debug] [--disabled-login] [--disabled-password] [--encrypt-home] [--firstgid id] [--firstuid id] [--gid id] [--home directório] [--ingroup group] [--lastgid id] [--lastuid id] [--no-create-home] [--shell shell] [--quiet] [--uid id] [--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] user
adduser --system [--comment comentário] [--conf ficheiro] [--debug] [--gid id] [--group] [--home directório] [--ingroup group] [--no-create-home] [--shell shell] [--uid id] [--quiet] [--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] user
adduser --group [--conf ficheiro] [--debug] [--firstgid id] [--gid ID] [--lastgid id] [--quiet] [--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] group
addgroup [--conf ficheiro] [--debug] [--firstgid id] [--gid ID] [--lastgid id] [--quiet] [--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] group
addgroup --system [--gid id] [--conf ficheiro] [--quiet] [--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] group
adduser [--conf ficheiro] [--debug] [--quiet] [--verbose] [--stdoutmsglevel prio] [--stderrmsglevel prio] [--logmsglevel prio] user group
adduser --help
adduser --version

DESCRIÇÃO
adduser e addgroup adicionam utilizadores e grupos ao sistema de acordo com opções de linha de comandos e informação de configuração em /etc/adduser.conf. Eles são frontends mais específicos de Debian para os programas useradd, groupadd e usermod, que são mais agnósticos à distribuição. O adduser e o addgroup por predefinição escolhem valores UID e GID respeitantes da política Debian, criam um directório home com o esqueleto da configuração, executam um script personalizado, e têm outras funcionalidades.

adduser e addgroup destinam-se a ser uma camada política, facilitando aos responsáveis dos pacotes e administradores locais criarem contas de sistema locais no modo que Debian espera que sejam criadas, removendo a obrigação de adaptar às prováveis alterações das especificações da política Debian. O adduser --system tem atenção especial de apenas ser preciso uma única chamada nos scripts de maintainer do pacote sem nenhuns envelopes condicionais, supressões de erros ou outras geringonças.

O adduser honra a distinção entre utilizadores e grupos de sistema dinamicamente alocados e contas de utilizador dinamicamente alocadas que está documentada na Política Debian, Capítulo 9.2.2.

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

adduser e addgroup podem ser executados em um de cinco modos:

  Adiciona um utilizador regular (não-sistema)
Se chamado com um argumento não-opção e sem as opções --system ou --group, o adduser irá adicionar um utilizador regular, o que significa uma conta de utilizador alocada dinamicamente no sentido da Política Debian. Isto é normalmente referido no adduser como um utilizador não-sistema.

adduser irá escolher o primeiro UID disponível dentro do alcance especificado por FIRST_UID e LAST_UID no ficheiro de configuração. O alcance pode ser sobreposto com as opções --firstuid e --lastuid. Finalmente, o UID pode definido total manualmente com a opção --uid.

Por predefinição, a cada utilizador é dado um grupo correspondente com o mesmo nome. Isto é geralmente chamado Usergroups e permite que directórios escritos por grupo sejam facilmente mantidos ao colocar os utilizadores apropriados no novo grupo, definido o bit set-group-ID no directório, e assegurando que todos os utilizadores usam uma umask de 002.

Para um usergroup, o adduser irá escolher o primeiro GID disponível dentro do alcance especificado por FIRST_GID e LAST_GID no ficheiro de configuração. O alcance pode ser sobreposto pelas opções --firstgid e --lastgid. Finalmente. o GID pode ser definido totalmente manual com a opção --gid.

A interação entre USERS_GID, USERS_GROUP, e USERGROUPS está explicada em detalhe em adduser.conf(5).

Os grupo primário dos novos utilizadores também pode ser sobreposto a partir da linha de comandos com as opções --gid ou --ingroup para definir o grupo pelo id ou pelo nome respetivamente. Também, os utilizadores podem ser adicionados a um ou mais grupos suplementares definidos como EXTRA_GROUPS seja definido ADD_EXTRA_GROUPS para 1 no ficheiro de configuração, ou passando --add-extra-groups na linha de comandos.

O adduser irá copiar ficheiros de /etc/skel para o directório home e perguntar pelo comentário e uma palavra passe se essas funções não estiverem desligadas / sobrepostas a partir da linha de comandos.

UID, comentário, directório home e shell podem ser pre-determinados com a opção UID_POOL e GID_POOL, documentada em adduser.conf(5). To set up an encrypted home directory for the new user, add the --encrypt-home option. For more information, refer to the -b option of ecryptfs-setup-private(1).

  Adicionar um utilizador de sistema
Se chamado com um argumento não-opção e a opção --system, o adduser irá adicionar um utilizador de sistema alocado dinamicamente, muitas vezes abreviado como utilizador de sistema no contexto do pacote adduser.

adduser irá escolher o primeiro UID disponível dentro do alcance especificado por FIRST_SYSTEM_UID e LAST_SYSTEM_UID no ficheiro de configuração. Isto pode ser sobreposto com a opção --uid.

Por predefinição, os utilizadores do sistema são atribuídos ao grupo primário nogroup. Para atribuir o novo utilizador de sistema num grupo já existente como grupo primário, use as opções --gid ou --ingroup. Se a opção --group for dada e um grupo de nome idêntico ainda não existir, este é criado com o mesmo ID.

Se não for especificado um directório home, o directório home predefinido para um novo utilizador é /nonexistent. Este directório nunca deverá existir em nenhum sistema Debian, e o adduser nunca irá cria-lo automaticamente.

Se um directório home for especificado com a opção --home, e o directório já existir (por exemplo, se o pacote vier com ficheiros nesse directório), o adduser em silêncio não define o dono do directório para o novo utilizador criado. Definir o dono pode sobrepor uma decisão do administrador local, e reportar o facto iria quebrar o silêncio do adduser durante a instalação do pacote. Se você usar adduser --home nos seus scripts de maintainer do pacote, você pode querer emitir um chown recursivo explícito para o directório home após a chamada ao adduser.

A menos que uma shell seja explicitamente definida com a opção --shell, o novo utilizador de sistema irá ter a shell definida para /usr/sbin/nologin. adduser --system não define uma palavra passe para a nova conta. Os ficheiros de configuração esqueleto não são copiados.

As outras opções irão comportar-se como para a criação de um utilizador regular. Os ficheiros referenciados por UID_POOL e GID_POOL são também honrados.

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

Um utilizador de sistema alocado dinamicamente, muitas vezes abreviado como utilizador de sistema no contexto do pacote adduser, será criado se adduser --group ou addgroup for chamado com a opção --system.

Será escolhido um GID do alcance respetivo especificado para GIDs no ficheiro de configuração (FIRST_GID, LAST_GID, FIRST_SYSTEM_GID, LAST_SYSTEM_GID). Para sobrepor esse mecanismo, você pode fornecer o GID usando a opção --gid.

Para grupos não-sistema, o alcance especificado no ficheiro de configuração pode ser sobreposto com as opções --firstgid e --lastgid.

O grupo é criado sem nenhum membro.

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

OPÇÕES
Os diferentes modos do adduser permitem diferentes opções. Se nenhum modo válido estiver listado para uma opção, ela é aceite em todos os modos.

Versões curtas para certas opções podem existir por razões históricas. Elas vão continuar a ser suportadas, mas estão removidas da documentação. Os são aconselhados a migrarem para a versão longa das opções.

--add-extra-groups
    Adiciona novo utilizador aos grupos extra definidos na definição EXTRA_GROUPS dos ficheiros de configuração. A maneira antiga --add_extra_groups está descontinuada e será suportada apenas no bookworm Debian. Modos válidos: adduser, adduser --system.

--allow-all-names
    Permite qualquer nome de utilizador e grupo que seja suportado pelo useradd(8) subjacente, Veja NOMES VÁLIDOS em baixo. Modos válidos: adduser, adduser --system, addgroup, addgroup --system.

--allow-bad-names
    Desativa as verificações NAME_REGEX e SYS_NAME_REGEX de nomes. Apenas é aplicada uma verificação mais fraca para validade do nome. Veja NOMES VÁLIDOS em baixo. Modos válidos: adduser, adduser --system, addgroup, addgroup --system.

--comment comentário
    Define o campo de comentário para a nova entrada gerada. O adduser não irá pedir a informação se esta opção for dada. Este campo é também conhecido sob o nome campo GECOS e contém informação que é usada pelo comando finger(1). Isto já foi a opção --gecos, a qual está descontinuada e será removida após o Debian bookworm. Modos válidos: adduser, adduser --system.

--conf ficheiro
    Usa ficheiro em vez de /etc/adduser.conf. Várias opções --conf podem ser dadas.

--debug
    Sinónimo para --stdoutmsglevel=debug. Descontinuado.

--disabled-login
--disabled-password
    Não corre o passwd(1) para definir uma palavra-passe. Na maioria das situações, os logins são ainda possíveis (por exemplo usando chaves SSH ou através do PAM) por razões que ultrapassam o escopo do adduser. --disabled-login irá adicionalmente definir a shell para /usr/sbin/nologin. Modo válido: adduser.

--firstuid ID
--lastuid ID
--firstgid ID
--lastgid ID
    Sobrepõe o primeiro UID / último UID / primeiro GID / último GID no alcance em que o uid é escolhido a partir de (FIRST_UID, LAST_UID, FIRST_GID e LAST_GID, FIRST_SYSTEM_UID, LAST_SYSTEM_UID, FIRST_SYSTEM_GID e LAST_SYSTEM_GID no ficheiro de configuração). Se um grupo for criado como um usergroup, --firstgid e --lastgid são ignorados. O grupo obtém o mesmo ID que o utilizador. Modos válidos: adduser, adduser --system, para --firstgid e --lastgid também addgroup.

--force-badname
--allow-badname
    Estes são formatos descontinuados de --allow-bad-names. Serão removidos durante o ciclo de lançamento de lançamento de Debian 13.

--extrausers
    Uses extra users as the database.

--gid GID
    Quando se cria um grupo, esta opção define o número ID de grupo do novo grupo para GID. Quando se cria um utilizador, esta opção define o número ID de grupo primário do novo utilizador para GID. Modos válidos: adduser, adduser --system, addgroup, addgroup --system.

--group
    Usar esta opção em adduser --system indica que o novo utilizador deve obter um grupo de nome idêntico como seu grupo primário. Se esse grupo de nome idêntico não existir já, ele é criado. Se não combinada com --system, é criado um grupo com o nome fornecido. A última é a acção predefinida se o programa for invocado como addgroup. Modos válidos: adduser --system, addgroup, addgroup --system.

--help
    Mostra instruções breves.

--home dir
    Usa dir como o directório home do utilizador, em vez da predefinição especificada pelo ficheiro de configuração (ou /nonexistent se for usado adduser --system). Se o directório não existir, ele é criado. Modos válidos: adduser, adduser --system.

--ingroup GRUPO
    Quando se cria um utilizador, esta opção define o número ID do grupo primário do novo utilizador para o GID do grupo nomeado. Ao contrário da opção --gid, o grupo é especificado aqui pelo nome em vez de pelo número ID numérico. O grupo tem de já existir. Modos válidos: adduser, adduser --system.

--lastuid ID
--lastgid ID
    Sobrepõe o último UID / último GID. Veja --firstuid.

--no-create-home
    Não cria o directório home para o novo utilizador. Note que o nome de caminho para o directório home do novo utilizador irá ainda ser inserido no campo apropriado no ficheiro /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 directório home do novo utilizador. Modos válidos: adduser, adduser --system.

--quiet
    Sinónimo de --stdoutmsglevel=warn. Descontinuado.

--shell shell
    Usa shell como a shell de login do utilizador, em vez da predefinição especificada pelo ficheiro de configuração (ou /usr/sbin/nologin se adduser --system for usado). Modos válidos: adduser, adduser --system.

--system
    Normalmente, o adduser cria contas de utilizador e grupos alocados dinamicamente como definido em Política Debian, Capítulo 9.2.2. Com esta opção, o adduser cria uma conta de utilizador e grupo alocada dinamicamente e muda o seu modo respetivamente. Modos válidos: adduser, addgroup.

--uid ID
    Força o novo id de utilizador a ser o número fornecido. O adduser irá falhar se o id de utilizador já estiver atribuído. Modos válidos: adduser, adduser --system.

--verbose
    Sinónimo de --stdoutmsglevel=info. Descontinuado.

--stdoutmsglevel prio
--stderrmsglevel prio
--logmsglevel prio
    Prioridade mínima para mensagens registadas no syslog/journal e a consola, respetivamente. Valores são trace, debug, info, warn, err, e fatal. As mensagens com a prioridade definida aqui ou superior são escritas na média respectiva. As mensagens escritas no stderr não são repetidas no stdout. Isso permite ao administrador local controla a tagarelice do adduser na consola e no registo independentemente, deixando a informação provavelmente confusa para si enquanto deixa informação útil no registo. stdoutmsglevel, stderrmsglevel, e logmsglevel predefinidos para aviso, aviso, informação, respetivamente.

-v , --version
    Mostra informação de versão e copyright.

NOMES VÁLIDOS
Historicamente, o adduser(8) e o addgroup(8) reforçou conformidade com IEEE Std 1003.1-2001, o qual permite que apenas os seguintes caracteres apareçam nos nomes de grupos e utilizadores: letras, dígitos, underscores, pontos, e sinais (@) e traços. O nome não pode começar com um traço ou @. O sinal "$" é permitido no final dos nomes de utilizador para permitir as contas de máquina Samba típicas.

As definições predefinidas para NAME_REGEX e SYS_NAME_REGEX permitem que nomes de utilizador contenham letras e dígitos, mais traço (-) e underscore (_); o nome tem de começar com uma letra (ou um underscore para utilizadores de sistema).

A política menos restritiva, disponível usando a opção --allow-all-names, simplesmente faz as mesmas verificações que o useradd(8), Por favor note que as verificações do useradd passaram a ser um pouco mais restritivas em Debian 13.

Alterar o comportamento predefinido pode ser usado para criar nomes confusos ou que conduzam a erros; cuidado ao usar.

REGISTRO
O Adduser usa registos extensivos e configuráveis para afinar os seus detalhes às necessidades do administrador do sistema. Cada mensagem que o adduser escreve tem um valor de prioridade atribuído pelos autores. Esta prioridade não pode ser alterada durante a execução. Os valores de prioridade disponíveis são crit, error, warning, info, debug, e trace. Se você descobrir que uma mensagem tem prioridade errada, por favor preencha em relatório de bug. De cada vez que uma mensagem é gerada, o código decide onde escrever a mensagem para a saída standard, erro standard, ou syslog. Isto é controlado principalmente e independentemente pelas definições de configuração STDOUTMSGLEVEL, STDERRMSGLEVEL, e LOGMSGLEVEL. Para objectivos de teste, estas definições podem ser sobrepostas na linha de comandos. Apenas mensagens com uma prioridade igual ou maior que o nível da mensagem respetiva são registados no meio de saída respetivo. Uma mensagem que foi escrita no erro standard não é escrita uma segunda vez na saída standard.

VALORES DE SAÍDA

0   Sucesso: O utilizador ou grupo existe como especificado. Isto pode ter 2 causas: O utilizador ou grupo foi criado por esta chamada ao adduser ou o utilizador ou grupo já estava presente no sistema como especificado antes do adduser ser invocado. Se for invocado adduser --system para um utilizador já existente com os atributos requeridos ou compatíveis, irá também retornar 0.

11  O objecto que foi pedido ao adduser para criar já existe.

12  O objecto que foi pedido ao adduser ou deluser para operar não existe.

13  O objecto que foi pedido ao adduser ou deluser para operar não tem as propriedades que são requeridas para completar a operação: Um utilizador (um grupo) que foi requerido para ser criado como um utilizador (grupo) de sistema já existe e não é um utilizador (grupo) de sistema, ou um utilizador (grupo) que foi requerido para ser criado com certo UID (GID) já existe e tem um UID (GID) diferente, ou um utilizador (grupo) de sistema que foi requerido para ser apagado existe, mas não é um utilizador (grupo) de sistema.

21  O UID (GID) que foi explicitamente requerido para o novo utilizador (grupo) já está a ser usado.

22  Não existe nenhum UID (GID) disponível na gama pedida.

23  Não existe nenhum grupo com o GID requerido para o grupo primário para o novo utilizador.

31  O nome escolhido para o novo utilizador ou novo grupo não está em conformidade com as regras de nomeação selecionadas.

32  O directório home para um novo utilizador tem de ser um caminho absoluto.

33  useradd retornou código de saída 19 "invalid user or group name". Isto significa que o nome de utilizador ou grupo escolhido está em conformidade com as restrições do useradd e o adduser não pode criar o utilizador.

41  O grupo que foi requerido para ser apagado não está vazio.

42  O utilizador que foi requerido para ser removido de um grupo não é membro desse grupo em primeiro lugar.

43  Não é possível remover um utilizador do seu grupo principal, ou nenhum grupo primário selecionado para um novo utilizador por nenhum método.

51  Detectado número ou ordem de parâmetros de linha de comandos incorreta.

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

53  Detetadas opções de linha de comandos incompatíveis mutuamente.

54  adduser e deluser invocados como não-root e assim não podem funcionar.

55  O deluser irá recusar apagar a conta do root.

56  Foi requerida uma função que precisa de mais pacotes instalados. Veja Recommends: e Suggests: do pacote adduser.

61  O adduser foi abortado por alguma razão e tentou reverter as alterações que foram feitas durante a execução.

62  Erro interno do adduser. Isto não devia ter acontecido. Por favor tente reproduzir o problema e preencha um relatório de bug.

71  Erro ao criar e manusear a tranca.

72  Erro ao aceder a ficheiro(s) de configuração.

73  Erro ao aceder a um ficheiro de pool.

74  Erro a ler um ficheiro pool, erro de sintaxe no ficheiro.

75  Erro ao aceder a ficheiros auxiliares.

81  Não pôde ser encontrado um executável preciso pelo adduser ou deluser. Verifique a sua instalação e dependências.

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

83  Um comando externo foi terminado com um sinal.

84  Uma chamada de sistema (syscall) terminou com um erro inesperado.

Ou por muitas razões ainda não documentadas que são então escritas na consola. Você deve considerar aumentar o nível de registro para tornar o adduser mais detalhado.

SEGURANÇA
O adduser precisa de privilégios de root e oferece via opção de linha de comandos --conf a utilização de diferentes ficheiros de configuração. Não use o sudo(8) ou ferramentas semelhantes para dar privilégios parciais ao adduser com parâmetros de linha de comandos restritos. Isto é fácil de contornar e pode permitir que utilizadores criem contas arbitrárias. Se você deseja isto, consider escrever o seu próprio script envelope e dê privilégios para executar esse script.

FICHEIROS

/etc/adduser.conf
    Ficheiro de configuração predefinido para adduser(8) e addgroup(8)

/usr/local/sbin/adduser.local
    Adições personalizadas opcionais, veja adduser.local(8)

NOTAS
Infelizmente, o termo conta de sistema sofre de duplo uso em Debian. Em ambos significa uma conta para o sistema Debian real, distinguindo-se ele próprio de uma conta de aplicação a qual pode existir na base de dados de utilizador de alguma aplicação que corre em Debian. Uma conta de sistema nesta definição tem o potencial de abrir sessão no sistema real, tem um UID, pode ser membro em grupos de sistema, pode possuir ficheiros e processos. A Política Debian, ao contrário, no seu Capítulo 9.2.2, faz uma distinção de utilizadores e grupos de sistema alocados dinamicamente e contas de utilizador alocadas dinamicamente, significando am ambos os casos instâncias especiais de contas de sistema. Tem de se tomar cuidado para não se confundir esta terminologia. Como adduser e deluser(8) nunca se dirigem a contas de aplicação e tudo neste pacote se refere aqui a contas de sistema, o uso dos termos conta de utilizador e conta de sistema não é realmente ambígua no contexto deste pacote. Para clarificar, este documento usa a definição conta ou grupo de sistema local se for necessária a distinção para contas de aplicação ou contas geridas num serviço de directório.

O adduser costumava ter a visão de ser o frontend universal para os vários serviços de directório para se criar e apagar contas de sistema e regulares em Debian desde os anos 1990. Esta visão foi abandonada a partir de 2022. A razão por trás disto inclui: que na prática, um pequeno sistema servidor não vai ter acesso de escrita a um serviço de directório de toda-a-empresa de qualquer modo, que os pacotes instalados localmente são difíceis de gerir com contas de sistema controladas centralmente, que serviços de directório de empresas têm os seus próprios processos de gestão de qualquer modo e que o poder-pessoal da equipa do adduser dificilmente vai ter força suficiente para escrever e manter suporte para a abundância de serviços de directório que precisam de suporte.

O adduser irá contrair ele próprio a ser uma camada política para a gestão das contas de sistema locais, usando as ferramentas do pacote passwd para o trabalho real.

BUGS
O uso inconsistente de terminologia em redor do termo conta de sistema em documentos e código é um bug. Por favor reporte isto e permita-nos melhorar a nossa documentação.

O adduser tem atenção especial em ser utilizável diretamente em scripts de maintainer Debian sem envelopes condicionais, supressão de erros e outras geringonças. A única coisa que o maintainer do pacote deve precisar codificar é uma verificação pela presença do executável no script postrm. O maintainers do adduser consideram a necessidade de geringonças adicionais um bug e encorajam os seus colegas maintainers de pacotes Debian a reportar bugs contra o pacote adduser nestes casos.

VEJA TAMBÉM
adduser.conf(5), deluser(8), groupadd(8), useradd(8), usermod(8), /usr/share/doc/base-passwd/users-and-groups.html em qualquer sistema Debian, Política Debian 9.2.2, RFC8264 "Estrutura PRECIS: Preparação, Reforço, e Comparação se Strings Internacionalizadas em Protocolos de Aplicações", RFC8265 "PRECIS Representando Nomes de Utilizadores e Palavras Passe", https://wiki.debian.org/UserAccounts.