"Impossible de créer un utilisateur" en raison d'une erreur d'expression régulière

18

J'utilise Ubuntu 12.10 desktop 32 bits. Actuellement, je n'ai qu'un utilisateur, tapez administrateur. Je voudrais créer un autre utilisateur administrateur mais je reçois toujours l'erreur suivante:

Impossible de créer un utilisateur

GDBus.Error: org.freedesktop.Accounts.Error.Failed: l'exécution de '/ usr / sbin / adduser' a échoué: / usr / sbin / adduser a renvoyé une erreur (1): adduser: veuillez entrer un nom d'utilisateur correspondant à l'expression régulière configurée via la variable de configuration NAME_REGEX [_SYSTEM]. Utilisez l'option `--force-badname 'pour relâcher cette vérification ou reconfigurer NAME_REGEX.

Toute suggestion est appréciée.

Daniel
la source
1
Pourriez-vous modifier et nous dire plus précisément ce que vous avez fait pour obtenir cette erreur. C'était une commande?
Zilvador

Réponses:

14

Vous obtenez normalement ce message si vous essayez de créer un utilisateur avec un nom qui contient des caractères considérés comme inacceptables selon votre fichier NAME_REGEX. Vous pouvez réessayer de changer le nom d'utilisateur avec l'interface graphique ou vous pouvez relâcher la vérification en utilisant la ligne de commande avec la commande suivante.

sudo adduser --force-badname <username>

puis si vous souhaitez ajouter l'utilisateur au groupe sudo, exécutez la commande suivante.

sudo adduser <username> sudo
CoalaWeb
la source
1
-1, je n'encouragerais pas à faire ça. La restriction est probablement en place pour une raison.
nyuszika7h
1
@ nyuszika7h Je me demande comment cela pourrait-il affecter le système? Je cherche juste un exemple ici depuis que je crée un utilisateur pour mon compte mail.
sitilge
10

Le nom d'utilisateur que vous saisissez contient de mauvais caractères. Essayez d'entrer un nom d'utilisateur simple contenant uniquement des lettres anglaises minuscules - danielc'est bien, ce &&Daniel <*> Johnson##n'est pas si bon.

Sergey
la source
Ceci est la bonne réponse. Il serait utile que le message d'erreur indique la regex réelle au lieu du nom de la variable ...
Gabe Hiemstra
7

Dans les systèmes Debian, l'expression régulière définissant les noms d'utilisateur acceptables se trouve dans /etc/adduser.conf.

Une expression régulière typique (trouvée sur mon système) est:

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

Je ne veux pas m'éloigner trop du sujet avec l'analyse syntaxique des expressions rationnelles, mais le symbole caret ^ indique que le caractère de début du nom d'utilisateur doit être compris entre a en minuscule et z en minuscule. Les caractères restants peuvent être minuscules az, 0-9, tiret ou trait de soulignement. Comme mentionné dans d'autres réponses, vous pouvez remplacer cette vérification si vous le souhaitez. Par défaut, les expressions rationnelles sont sensibles à la casse.

mayypile
la source
2

J'ai fait face au même problème - et je l'ai résolu - quand j'ai écrit

# adduser --home /ali ali

J'ai l'erreur 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.

Je l'ai résolu simplement en supprimant les lettres majuscules comme indiqué ci-dessous

# 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
la source
1
Cette réponse est un double de cette réponse existante: askubuntu.com/questions/232742/…
karel
0

La réponse de CoalaWeb est correcte, mais si vous ne voulez pas créer un groupe personnalisé pour cet utilisateur ... vous pouvez simplement utiliser la commande suivante pour créer un utilisateur:

sudo useradd <username>

exemple:

sudo useradd josh

... puis à juste titre dit par CoalaWeb, suivez la commande:

sudo adduser <username> <groupname>

exemple:

sudo adduser josh sudo

... cela donnera au nouvel utilisateur des droits de sudo 'josh' (droits de super-utilisateur (aka admin))

... J'ajouterais aussi au groupe appelé 'adm'.

j'espère que cela aide quelqu'un

josh.thomson
la source
le nom de groupe est avant le nom d'utilisateur. les commandes doivent être sudo adduser <groupname> <username>par exemple:sudo adduser sudo josh
SherylHohman