«Не удалось создать пользователя» из-за ошибки регулярного выражения

18

Я использую Ubuntu 12.10 для рабочего стола 32 бит. На данный момент у меня есть только пользователь, типа администратор. Я хотел бы создать другого администратора, но получаю следующую ошибку:

Не удалось создать пользователя

GDBus.Error: org.freedesktop.Accounts.Error.Failed: запуск '/ usr / sbin / adduser' завершился ошибкой: / usr / sbin / adduser вернул ошибку (1): adduser: введите имя пользователя, соответствующее регулярному выражению, настроенному с помощью переменная конфигурации NAME_REGEX [_SYSTEM]. Используйте опцию --force-badname, чтобы ослабить эту проверку или перенастроить NAME_REGEX.

Любое предложение приветствуется.

Даниил
источник
1
Не могли бы вы отредактировать и рассказать нам более конкретно, что вы сделали, чтобы получить эту ошибку. Была ли это команда?
Зилвадор

Ответы:

14

Обычно вы получаете это сообщение, если пытаетесь создать пользователя с именем, содержащим символы, которые считаются неприемлемыми в соответствии с вашим файлом NAME_REGEX. Вы можете попробовать еще раз изменить имя пользователя с помощью графического интерфейса или вы можете ослабить проверку с помощью командной строки с помощью следующей команды.

sudo adduser --force-badname <username>

а затем, если вы хотите добавить пользователя в группу sudo, выполните следующую команду.

sudo adduser <username> sudo
CoalaWeb
источник
1
-1, я бы не советовал это делать. Ограничение, вероятно, имеет место по причине.
nyuszika7h
1
@ nyuszika7h Интересно, как это может повлиять на систему? Просто ищу пример, поскольку я создаю пользователя для своей почтовой учетной записи.
sitilge
10

Введенное вами имя пользователя содержит плохие символы. Попробуйте ввести простое имя пользователя, содержащее только строчные английские буквы - danielэто хорошо, &&Daniel <*> Johnson##но не так хорошо.

Сергей
источник
Это правильный ответ. Было бы полезно, если бы в сообщении об ошибке было указано фактическое регулярное выражение вместо имени переменной ...
Гейб Химстра,
7

В системах Debian регулярное выражение, определяющее допустимые имена пользователей, находится в /etc/adduser.conf.

Типичное регулярное выражение (находится в моей системе):

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

Я не хочу слишком сильно отклоняться от темы при разборе регулярных выражений, но символ каретки ^ указывает, что начальный символ имени пользователя должен находиться между строчными и строчными буквами z. Остальные символы могут быть строчными az, 0-9, дефисом или подчеркиванием. Как уже упоминалось в других ответах, вы можете отменить эту проверку, если хотите. По умолчанию регулярные выражения чувствительны к регистру.

mightypile
источник
2

Я столкнулся с той же проблемой - и решил ее - когда писал

# adduser --home /ali ali

Я получил ошибку

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.

Я решил это, просто удалив заглавные буквы, как показано ниже

# 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
Этот ответ является дубликатом этого существующего ответа: askubuntu.com/questions/232742/…
karel
0

Ответ CoalaWeb верен, но если вы не хотите создавать пользовательскую группу для этого пользователя ... вы можете просто использовать следующую команду для создания пользователя:

sudo useradd <username>

пример:

sudo useradd josh

... тогда правильно сказал CoalaWeb, следуй команде:

sudo adduser <username> <groupname>

пример:

sudo adduser josh sudo

... это даст новому пользователю права 'josh' sudo (права суперпользователя (он же админ))

... Я бы также добавил в группу под названием "adm".

надеюсь, это поможет кому-то

josh.thomson
источник
имя группы перед именем пользователя. команды должны быть sudo, adduser <groupname> <username>например:sudo adduser sudo josh
SherylHohman