Comandos adduser e addgroup do Linux
Nos sistemas operacionais do tipo Unix, o comando adduser cria um novo usuário e o comando addgroup cria um novo grupo .
O comando adduser também pode ser usado para adicionar um usuário existente a um grupo existente.
Como usar adduser e addgroup
adduser e addgroup adicionam usuários e grupos ao sistema de acordo com as opções de linha de comando e informações de configuração em /etc/adduser.conf . Eles são front-ends mais amigáveis para as ferramentas de baixo nível, como programas useradd , groupadd e usermod , escolhendo valores UID e GID em conformidade com a política, criando um diretório inicial com configuração esquelética, executando um script personalizado e outros recursos.
Existem cinco maneiras principais de usar o adduser e o addgroup pode ser executado em um dos cinco modos:
Adicione um usuário normal
Se chamado com um argumento não opcional e sem as opções –system ou –group , adduser adicionará um usuário normal.
O adduser escolherá o primeiro UID disponível no intervalo especificado para usuários normais no arquivo de configuração. O UID pode ser substituído pela opção –uid .
O intervalo especificado no arquivo de configuração pode ser substituído pelas opções –firstuid e –lastuid .
Por padrão, cada usuário em um sistema GNU / Linux recebe um grupo correspondente com o mesmo nome. Os grupos de usuários permitem que os diretórios graváveis do grupo sejam mantidos com facilidade, colocando os usuários apropriados no novo grupo, configurando o bit do set-group-ID no diretório e garantindo que todos os usuários usem umask de 002 . Se essa opção estiver desativada, definindo USERGROUPS como não , todos os GIDs de todos os usuários serão definidos como USERS_GID. Os grupos primários dos usuários também podem ser substituídos 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 definidos no adduser.conf , configurando ADD_EXTRA_GROUPS como 1 no adduser.conf ou passando –add_extra_groups na linha de comando.
O adduser criará um diretório inicial sujeito a DHOME, GROUPHOMES e LETTERHOMES. O diretório inicial pode ser substituído na linha de comando com a opção –home e o shell com a opção –shell . O bit set-group-ID do diretório inicial é definido se USERGROUPS for sim, para que todos os arquivos criados no diretório inicial do usuário tenham o grupo correto.
O adduser copiará os arquivos do SKEL no diretório inicial e solicitará informações sobre dedos (gecos) e uma senha . Os gecos também podem ser configurados com a opção –gecos . Com a opção –disabled-login , a conta será criada, mas será desativada até que uma senha seja definida. A opção –disabled-password não definirá uma senha, mas o login ainda é possível (por exemplo, com chaves SSH RSA ). Para configurar um diretório inicial criptografado para o novo usuário, adicione a opção –encrypt-home .
Se o arquivo /usr/local/sbin/adduser.local existir, ele será executado depois que a conta do usuário tiver sido configurada para fazer qualquer configuração local. Os argumentos passados para adduser.local são: ” nome do usuário uid gid home-directory” .
A variável de ambiente VERBOSE é configurada de acordo com as seguintes regras:
- se –quiet for especificado
- se nem –quiet nem –debug for especificado
- se –debug é especificado
(O mesmo se aplica à variável DEBUG , mas DEBUG está obsoleto e será removido em uma versão posterior do adduser ).
Adicionar um usuário do sistema
Se chamado com um argumento não opcional e a opção –system , adduser adicionará um usuário do sistema. Se um usuário com o mesmo nome já existir no intervalo de uid do sistema (ou, se o uid for especificado, se já existir um usuário com esse uid), o adduser sairá com um aviso. Este aviso pode ser suprimido adicionando ” –quiet “.
O adduser escolherá o primeiro UID disponível no intervalo especificado para usuários do sistema no arquivo de configuração ( FIRST_SYSTEM_UID e LAST_SYSTEM_UID ). Se você deseja ter um UID específico, pode especificá-lo usando a opção –uid .
Por padrão, os usuários do sistema são colocados no grupo ” nogroup “. Para colocar o novo usuário do sistema em um grupo já existente, use as opções –gid ou –ingroup . Para colocar o novo usuário do sistema em um novo grupo com o mesmo ID, use a opção –group .
Um diretório inicial é criado pelas mesmas regras que para usuários normais. O novo usuário do sistema terá o shell / bin / false (a menos que seja substituído pela opção –shell ) e os logins desabilitados. Arquivos de configuração esquelética não são copiados.
Adicionar um grupo de usuários
Se adduser for chamado com a opção –group e sem a opção –system , ou addgroup for chamado, um grupo de usuários será adicionado.
O GID será escolhido a partir dos limites especificados para o sistema GIDs no ficheiro de configuração (FIRST_GID, LAST_GID). Para substituir esse mecanismo, você pode fornecer o GID usando a opção –gid .
O grupo é criado sem usuários.
Adicionar um grupo de sistemas
Se addgroup for chamado com a opção –system , um grupo de sistemas será adicionado.
Um GID será escolhido no intervalo especificado para o sistema GIDS no arquivo de configuração ( FIRST_SYSTEM_GID , LAST_SYSTEM_GID ). Para substituir esse mecanismo, você pode fornecer o GID usando a opção –gid .
O grupo é criado sem usuários.
Adicionar um usuário existente a um grupo existente
Se você executar o adduser com dois argumentos não opcionais, ele adicionará o usuário existente ao grupo de grupos , se existir.
Sintaxe
adduser [--system] [--home DIR ] [--shell SHELL ] [--no-create-home] [- ID do fluido] [- ID do primeiro código] [- ID do último fluido] GRUPO | --gid ID ] [--disabled-password] [--disabled-login] [--gecos GECOS ] [--add_extra_groups] [--encrypt-home] [--quiet] [--debug] [--force-badname] Usuário [--help | -h] [--version] [--conf FILE ]
addgroup [--system] [--quiet] [--debug] [--force-badname] [--help | -h] Grupo [--version] [--conf FILE ] [--gid ID ]
grupo de usuários adduser [ opções ]
Opções
–conf FILE | Use FILE em vez de /etc/adduser.conf . |
–disabled-login | Não execute o passwd para definir a senha. O usuário não poderá usar sua conta até que a senha seja definida. |
–disabled-password | Como –disabled-login , mas logins ainda são possíveis (por exemplo, usando chaves SSH RSA), mas não usando autenticação de senha. |
–force-badname | Por padrão, os nomes de usuários e grupos são verificados na expressão regular configurável NAME_REGEX (ou NAME_REGEX_SYSTEM se –system for especificado) especificado no arquivo de configuração. Esta opção força o adduser e o addgroup a aplicar apenas uma verificação fraca da validade do nome. |
–gecos GECOS | Defina o campo gecos para a nova entrada gerada. O adduser não solicitará informações dos dedos se essa opção for fornecida. |
–id ID | Ao criar um grupo, essa opção força o novo ID do grupo a ser o número fornecido. Ao criar um usuário, essa opção colocará o usuário nesse grupo. |
–grupo | Quando combinado com –system , um grupo com o mesmo nome e ID que o usuário do sistema é criado. Se não combinado com –system , um grupo com o nome fornecido será criado. Essa é a ação padrão se o programa for chamado como addgroup . |
–Socorro | Exiba uma mensagem de ajuda e saia. |
–home DIR | Use DIR como o diretório inicial do usuário, em vez do padrão especificado pelo arquivo de configuração. Se o diretório não existir, ele será criado e os arquivos de esqueleto serão copiados. |
– concha | Use SHELL como o shell de logon do usuário, em vez do padrão especificado pelo arquivo de configuração. |
–ingroup GROUP | Adicione o novo usuário ao GROUP em vez de um grupo de usuários ou o grupo padrão definido por USERS_GID no arquivo de configuração. Isso afeta o grupo principal de usuários. Para adicionar grupos adicionais, consulte a opção add_extra_groups. |
–no-criar-casa | Não crie o diretório inicial, mesmo que ele não exista. |
–quieto | Suprimir mensagens informativas, mostrar apenas avisos e erros. |
–depurar | Seja detalhado , o que é mais útil se você deseja solucionar um problema com o adduser . |
–sistema | Crie um usuário ou grupo do sistema. |
–id ID | Força o novo ID do usuário a ser o número fornecido. O adduser falhará se o ID do usuário já estiver em uso. |
–firstuid ID | Substitua o primeiro uid no intervalo em que o uid é escolhido (substitui FIRST_UID especificado no arquivo de configuração). |
– ID do último líquido | Substitua o último uid no intervalo em que o uid é escolhido (LAST_UID). |
–add_extra_groups | Adicione novo usuário a grupos extras definidos no arquivo de configuração. |
–versão | Exibir versão e informações sobre direitos autorais. |
Configuração
O arquivo /etc/adduser.conf contém padrões para os programas adduser , addgroup , deluser e delgroup . Cada linha possui um único par de valores no formato ” opção = valor “. Aspas duplas ou simples são permitidas em torno do valor, assim como o espaço em branco ao redor do sinal de igual. As linhas de comentários devem ter um sinal de hash (” # “) na primeira coluna.
As opções de configuração válidas são:
DSHELL | O shell de login a ser usado para todos os novos usuários. O padrão é / bin / bash . |
DHOME | O diretório no qual novos diretórios pessoais devem ser criados. O padrão é / home . |
GRUPOS | Se estiver definido como sim , os diretórios pessoais serão criados como ” / home / [ nome do grupo ] / usuário “. O padrão é não . |
LETTERHOMES | Se estiver definido como sim , os diretórios pessoais criados terão um diretório extra inserido, que é a primeira letra do nome de login. Por exemplo: / home / u / user . O padrão é não . |
SKEL | O diretório do qual os arquivos de configuração do usuário esquelético devem ser copiados. O padrão é / etc / skel . |
FIRST_SYSTEM_UID , LAST_SYSTEM_UID | especifique um intervalo inclusivo de UIDs dos quais os UIDs do sistema podem ser alocados dinamicamente. O padrão é 100 – 999 . Observe que o software do sistema, como os usuários alocados pelo pacote base-passwd, pode assumir que UIDs inferiores a 100 não sejam alocados. |
FIRST_UID, LAST_UID | especifique um intervalo inclusivo de UIDs dos quais os UIDs normais do usuário podem ser alocados dinamicamente. O padrão é 1000 – 29999 . |
FIRST_SYSTEM_GID , LAST_SYSTEM_GID | especifique um intervalo inclusivo de GIDs dos quais os GIDs do sistema podem ser alocados dinamicamente. O padrão é 100 – 999 . |
FIRST_GID , LAST_GID | especifique um intervalo inclusivo de GIDs dos quais os GIDs do grupo normal podem ser alocados dinamicamente. O padrão é 1000 – 29999 . |
USERGROUPS | Se isso estiver definido como sim , cada usuário criado receberá seu próprio grupo para usar. Se não , então, cada usuário criado será colocado no grupo cujo GID é USERS_GID (veja abaixo). O padrão é sim . |
USERS_GID | Se USERGROUPS for não , USERS_GID é o GID fornecido a todos os usuários recém-criados. O valor padrão é 100. |
DIR_MODE | Se definido como um valor válido (por exemplo, 0755 ou 755 ), os diretórios criados terão as permissões especificadas como umask. Caso contrário, 0755 é usado como padrão. |
SETGID_HOME | Se estiver definido como sim , os diretórios pessoais para usuários com seu próprio grupo ( USERGROUPS = yes ) terão o bit setgid definido. Essa era a configuração padrão para as versões do adduser anteriores à 3.13. Infelizmente, ele tem alguns efeitos colaterais ruins, portanto não fazemos mais isso por padrão. Se você quiser, no entanto, você ainda pode ativá-lo aqui. |
QUOTAUSER | Se definido como um valor não vazio, os novos usuários terão cotas copiadas desse usuário. O padrão está vazio. |
NAME_REGEX | Os nomes de usuários e grupos são verificados nessa expressão regular. Se o nome não corresponder a este regexp, a criação de usuários e grupos no adduser será recusada, a menos que –force-badname esteja definido. Com –force-badname definido, apenas verificações fracas são executadas. O padrão é o mais conservador ^ [az] [- a-z0-9] * $ . Quando –system é especificado, NAME_REGEX_SYSTEM é usado. |
NAME_REGEX_SYSTEM | Os nomes dos usuários do sistema são verificados nessa expressão regular. Se –system for fornecido e o nome não corresponder a este regexp, a criação do usuário no adduser será recusada, a menos que –force-badname esteja definido. Com conjunto –force-badname, apenas verifica fracos são executadas. O padrão é o NAME_REGEX padrão, mas também permite letras maiúsculas. |
SKEL_IGNORE_REGEX | Os arquivos em / etc / skel / são verificados nesse regex e não são copiados para o diretório inicial recém-criado, se corresponderem. Por padrão, é definido como a expressão regular que corresponde aos arquivos restantes dos arquivos de configuração não imersos ( dpkg- ( antigo | novo | dist )). |
ADD_EXTRA_GROUPS | Definir isso como algo diferente de 0 (o padrão) fará com que o adduser adicione usuários não pertencentes ao sistema recém-criados à lista de grupos definida por EXTRA_GROUPS (abaixo). |
EXTRA_GROUPS | Esta é a lista de grupos aos quais novos usuários não pertencentes ao sistema serão adicionados. Por padrão, esta lista é ‘discagem cdrom disquete áudio vídeo plugdev jogos para usuários’. |
Valores de saída
0 0 | O usuário existe conforme especificado. Isso pode ter 2 causas: O usuário foi criado pelo adduser ou já estava presente no sistema antes da chamada do adduser . Se adduser estava retornando 0, a invocação de adduser uma segunda vez com os mesmos parâmetros de antes também retornará 0 . |
1 | A criação do usuário ou grupo falhou porque já estava presente com outro UID / GID que o especificado. O nome de usuário ou o nome do grupo foi rejeitado devido a uma incompatibilidade com as expressões regulares configuradas. adduser foi abortado por um sinal. Ou esse código pode ser retornado por outros motivos não documentados, que nesse caso são impressos no console. Você pode então remover –quiet para tornar o adduser mais detalhado. |
arquivos
/etc/adduser.conf | Arquivo de configuração padrão para adduser e addgroup |
Exemplos
adduser mynewuser
Cria uma nova conta de usuário, mynewuser .
O adduser solicitará que você atribua uma senha ao usuário e solicite informações opcionais de identificação, como Nome completo e Número de telefone .
Um diretório inicial (por padrão, / home / mynewuser ) será criado para o novo usuário, e um grupo específico do usuário, mynewuser , será criado. O conteúdo do diretório inicial do esqueleto, que por padrão está localizado em / etc / skel , será copiado para o novo diretório inicial.
Se o script /usr/local/sbin/adduser.local existir, ele será executado com os argumentos nome do usuário uid gid home-directory , onde o nome do usuário é mynewuser , uid é o ID do usuário do mynewuser , gid é o ID do grupo do mynewuser e home -directory é o diretório inicial do mynewuser .
adduser --home / home / mynewuserhome mynewuser
Cria a conta de usuário mynewuser e cria seu diretório pessoal no local / home / mynewuserhome .
Comandos relacionados
finger – Relaciona informações sobre um usuário.
groupadd – Adicione um grupo ao sistema.
passwd – altera a senha de um usuário.
useradd – Adicione um usuário ao sistema.
userdel – Remove um usuário do sistema.
usermod – Modifique a conta de um usuário.