"Falha ao criar usuário" devido a erro de expressão regular

18

Estou executando o Ubuntu 12.10 desktop de 32 bits. Atualmente, tenho apenas um usuário, digite administrador. Gostaria de criar outro usuário administrador, mas continuo recebendo o seguinte erro:

Falha ao criar usuário

GDBus.Error: org.freedesktop.Accounts.Error.Failed: a execução de '/ usr / sbin / adduser' falhou: / usr / sbin / adduser retornou um erro (1): adduser: digite um nome de usuário que corresponda à expressão regular configurada via a variável de configuração NAME_REGEX [_SYSTEM]. Use a opção `--force-badname 'para relaxar essa verificação ou reconfigurar NAME_REGEX.

Qualquer sugestão é apreciada.

Daniel
fonte
1
Você poderia editar e nos dizer mais especificamente o que você fez para obter esse erro. Foi um comando?
Zilvador

Respostas:

14

Você normalmente recebe essa mensagem se estiver tentando criar um usuário com um nome que contenha caracteres que são considerados inaceitáveis ​​conforme seu arquivo NAME_REGEX. Você pode tentar alterar novamente o nome de usuário com a GUI ou pode relaxar a verificação usando a linha de comando com o seguinte comando.

sudo adduser --force-badname <username>

e se você deseja adicionar o usuário ao grupo sudo, execute o seguinte comando.

sudo adduser <username> sudo
CoalaWeb
fonte
1
-1, eu não incentivaria isso. A restrição provavelmente está em vigor por um motivo.
precisa saber é o seguinte
1
@ nyuszika7h Gostaria de saber como isso poderia afetar o sistema? Apenas procurando um exemplo aqui, pois eu crio um usuário para minha conta de email.
sitilge
10

O nome de usuário digitado contém caracteres incorretos. Tente digitar um nome de usuário simples contendo apenas letras minúsculas em inglês - danielé bom, &&Daniel <*> Johnson##não é tão bom.

Sergey
fonte
Essa é a resposta correta. Seria útil se a mensagem de erro mostrou a regex real em vez do nome da variável ...
Gabe Hiemstra
7

Nos sistemas Debian, o regex que define nomes de usuário aceitáveis ​​é encontrado em /etc/adduser.conf.

Um regex típico (encontrado no meu sistema) é:

NAME_REGEX="^[a-z][-a-z0-9_]*\$"

Não quero me afastar muito do tópico com a análise de expressões regulares, mas o símbolo de sinal de intercalação ^ indica que o caractere inicial do nome de usuário deve estar entre minúsculas ae z minúsculas. Os caracteres restantes podem estar em minúsculas az, 0-9, hífen ou sublinhado. Conforme mencionado em outras respostas, você pode substituir essa verificação, se quiser. Por padrão, as expressões regulares diferenciam maiúsculas de minúsculas.

mightypile
fonte
2

Enfrentei o mesmo problema - e resolvi - quando escrevi

# adduser --home /ali ali

Eu recebi o erro de

dduser --home /Ali Ali
adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX configuration variable.  Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.

Eu o resolvi removendo as letras maiúsculas, como mostrado abaixo

# adduser --home /ali ali
Adding user `ali' ...
Adding new group `ali' (1001) ...
Adding new user `ali' (1001) with group `ali' ...
Creating home directory `/ali' ...
Copying files from `/etc/skel' ...
passwd:     
passwd: password updated successfully
ali mmd
fonte
1
Esta resposta é uma duplicata da resposta existente: askubuntu.com/questions/232742/…
karel
0

A resposta do CoalaWeb está correta, mas se você não deseja criar um grupo personalizado para esse usuário ... pode simplesmente usar o seguinte comando para criar um usuário:

sudo useradd <username>

exemplo:

sudo useradd josh

... então, com razão, dito pela CoalaWeb, siga o comando:

sudo adduser <username> <groupname>

exemplo:

sudo adduser josh sudo

... isso dará ao novo usuário 'josh' direitos sudo (direitos de superusuário (também conhecido como admin))

... Eu também adicionaria ao grupo chamado 'adm'.

espero que isso ajude alguém

josh.thomson
fonte
nome do grupo é anterior ao nome de usuário. comandos devem ser sudo, adduser <groupname> <username>por exemplo:sudo adduser sudo josh
SherylHohman