„Nie można utworzyć użytkownika” z powodu błędu wyrażenia regularnego


18

Używam 32-bitowego systemu Ubuntu 12.10. Obecnie mam tylko użytkownika, wpisz administratora. Chciałbym utworzyć innego użytkownika administratora, ale wciąż pojawia się następujący błąd:

Nie udało się utworzyć użytkownika

GDBus.Error: org.freedesktop.Accounts.Error.Failed: uruchomienie '/ usr / sbin / adduser' nie powiodło się: / usr / sbin / adduser zwrócił błąd (1): adduser: Wprowadź nazwę użytkownika pasującą do wyrażenia regularnego skonfigurowanego za pomocą zmienna konfiguracyjna NAME_REGEX [_SYSTEM]. Użyj opcji `--force-badname ', aby złagodzić tę kontrolę lub ponownie skonfigurować NAME_REGEX.

Wszelkie sugestie są mile widziane.


1
Czy możesz edytować i powiedzieć nam dokładniej, co zrobiłeś, aby uzyskać ten błąd? Czy to był rozkaz?
— Zilvador,

Odpowiedzi:


14

Zwykle pojawia się ten komunikat, jeśli próbujesz utworzyć użytkownika o nazwie zawierającej znaki uważane za niedopuszczalne zgodnie z plikiem NAME_REGEX. Możesz spróbować ponownie zmienić nazwę użytkownika za pomocą GUI lub możesz rozluźnić kontrolę, używając wiersza polecenia z następującą komendą.

sudo adduser --force-badname <username>

a następnie, jeśli chcesz dodać użytkownika do grupy sudo, uruchom następujące polecenie.

sudo adduser <username> sudo

1
-1, nie zachęciłbym tego. Ograniczenie prawdopodobnie istnieje z jakiegoś powodu.
— nyuszika7h

1
@ nyuszika7h Zastanawiam się, jak to może wpłynąć na system? Po prostu szukam tutaj przykładu, ponieważ tworzę użytkownika dla mojego konta pocztowego.
— sitilge

10

Wpisana nazwa użytkownika zawiera złe znaki. Spróbuj wpisać prostą nazwę użytkownika zawierającą tylko małe litery angielskie - danieljest dobra, &&Daniel <*> Johnson##nie jest taka dobra.


To jest poprawna odpowiedź. Byłoby pomocne, gdyby komunikat o błędzie pokazywał rzeczywiste wyrażenie regularne zamiast nazwy zmiennej ...
— Gabe Hiemstra

7

W systemach Debian wyrażenie regularne definiujące dopuszczalne nazwy użytkowników znajduje się w /etc/adduser.conf.

Typowy regex (znaleziony w moim systemie) to:

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

Nie chcę odwracać tematu od parsowania wyrażeń regularnych, ale symbol daszka ^ wskazuje, że początkowy znak nazwy użytkownika musi znajdować się między małą a a małą z. Pozostałe znaki mogą być małymi literami az, 0-9, łącznikiem lub podkreśleniem. Jak wspomniano w innych odpowiedziach, możesz zmienić tę kontrolę, jeśli chcesz. Domyślnie w wyrażeniach regularnych rozróżniana jest wielkość liter.


2

Kiedy pisałem, napotkałem ten sam problem - i go rozwiązałem

# adduser --home /ali ali

Mam błąd

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.

Rozwiązałem to, usuwając wielkie litery, jak pokazano poniżej

# 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

1
Ta odpowiedź jest duplikatem tej istniejącej odpowiedzi: askubuntu.com/questions/232742/…
— karel

0

Odpowiedź CoalaWeb jest poprawna, ale jeśli nie chcesz tworzyć niestandardowej grupy dla tego użytkownika ... możesz po prostu użyć następującego polecenia, aby utworzyć użytkownika:

sudo useradd <username>

przykład:

sudo useradd josh

... następnie słusznie powiedziane przez CoalaWeb, wykonaj polecenie:

sudo adduser <username> <groupname>

przykład:

sudo adduser josh sudo

... to da nowemu użytkownikowi „josh” uprawnienia sudo (uprawnienia superużytkownika (aka admin))

... dodałbym również do grupy o nazwie „adm”.

mam nadzieję, że to komuś pomoże


nazwa grupy jest przed nazwą użytkownika. polecenia powinny być sudo, adduser <groupname> <username>np .:sudo adduser sudo josh
— SherylHohman
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.