"Benutzer konnte nicht erstellt werden" aufgrund eines Fehlers mit regulären Ausdrücken

18

Ich verwende Ubuntu 12.10 Desktop 32 Bit. Derzeit habe ich nur einen Benutzer, Typ Administrator. Ich möchte einen anderen Administrator-Benutzer erstellen, erhalte jedoch weiterhin die folgende Fehlermeldung:

Benutzer konnte nicht erstellt werden

GDBus.Error: org.freedesktop.Accounts.Error.Failed: Ausführen von '/ usr / sbin / adduser' fehlgeschlagen: / usr / sbin / adduser hat einen Fehler zurückgegeben (1): adduser: Geben Sie einen Benutzernamen ein, der dem regulären Ausdruck entspricht, der über konfiguriert wurde Die Konfigurationsvariable NAME_REGEX [_SYSTEM]. Verwenden Sie die Option --force-badname, um diese Prüfung zu lockern oder NAME_REGEX neu zu konfigurieren.

Jeder Vorschlag wird geschätzt.

Daniel
quelle
1
Könnten Sie uns bitte genauer mitteilen, was Sie getan haben, um diesen Fehler zu erhalten? War es ein Befehl?
Zilvador,

Antworten:

14

Diese Meldung wird normalerweise angezeigt, wenn Sie versuchen, einen Benutzer mit einem Namen zu erstellen, der Zeichen enthält, die gemäß Ihrer NAME_REGEX-Datei als nicht akzeptabel gelten. Sie können versuchen, den Benutzernamen über die Benutzeroberfläche erneut zu ändern, oder Sie können die Überprüfung mithilfe der Befehlszeile mit dem folgenden Befehl lockern.

sudo adduser --force-badname <username>

Wenn Sie den Benutzer zur sudo-Gruppe hinzufügen möchten, führen Sie den folgenden Befehl aus.

sudo adduser <username> sudo
CoalaWeb
quelle
1
-1, das würde ich nicht empfehlen. Die Einschränkung besteht wahrscheinlich aus einem bestimmten Grund.
Nyuszika7h
1
@ nyuszika7h Ich frage mich, wie sich das auf das System auswirken könnte? Ich suche hier nur ein Beispiel, da ich einen Benutzer für mein E-Mail-Konto erstelle.
Sitilge
10

Der eingegebene Benutzername enthält ungültige Zeichen. Versuchen Sie, einen einfachen Benutzernamen einzugeben, der nur englische Kleinbuchstaben enthält - danielist gut, &&Daniel <*> Johnson##ist nicht so gut.

Sergey
quelle
Das ist die richtige Antwort. Es wäre hilfreich, wenn die Fehlermeldung den tatsächlichen regulären Ausdruck anstelle des Variablennamens anzeigen würde ...
Gabe Hiemstra
7

In Debian-Systemen befindet sich der reguläre Ausdruck, der akzeptable Benutzernamen definiert, in /etc/adduser.conf.

Ein typischer regulärer Ausdruck (auf meinem System vorhanden) ist:

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

Ich möchte mit Regex-Parsing nicht zu weit vom Thema abweichen, aber das Caret ^ -Symbol zeigt an, dass das Anfangszeichen des Benutzernamens zwischen Kleinbuchstaben a und Kleinbuchstaben z liegen muss. Die verbleibenden Zeichen können Kleinbuchstaben az, 0-9, Bindestrich oder Unterstrich sein. Wie in anderen Antworten erwähnt, können Sie diese Prüfung überschreiben, wenn Sie möchten. Bei regulären Ausdrücken wird standardmäßig zwischen Groß- und Kleinschreibung unterschieden.

Mächtiger Stapel
quelle
2

Ich hatte das gleiche Problem - und ich habe es gelöst -, als ich schrieb

# adduser --home /ali ali

Ich habe den Fehler von

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.

Ich habe es gelöst, indem ich die Großbuchstaben wie unten gezeigt entfernt habe

# 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
quelle
1
Diese Antwort ist ein Duplikat dieser vorhandenen Antwort: askubuntu.com/questions/232742/…
karel
0

Die Antwort von CoalaWeb ist richtig. Wenn Sie jedoch keine benutzerdefinierte Gruppe für diesen Benutzer erstellen möchten, können Sie einfach den folgenden Befehl verwenden, um einen Benutzer zu erstellen:

sudo useradd <username>

Beispiel:

sudo useradd josh

... dann, richtig gesagt von CoalaWeb, folgen Sie dem Befehl:

sudo adduser <username> <groupname>

Beispiel:

sudo adduser josh sudo

... dies gibt dem neuen Benutzer "Josh" Sudo-Rechte (Super-User-Rechte (aka Admin))

... würde ich auch der Gruppe "adm" hinzufügen.

hoffe das hilft jemandem

josh.thomson
quelle
Gruppenname steht vor Benutzername. Befehle sollten sudo sein, adduser <groupname> <username>zB:sudo adduser sudo josh
SherylHohman