Я только что установил Ubuntu Server через стандартный интерфейс командной строки, и мне было предложено создать новую учетную запись.
Попытка создать числового пользователя (например 12345
), я получил "Неверное имя пользователя" ошибка, указывающая, что имя пользователя должно начинаться со строчной буквы.
Поэтому я создал альтернативное имя пользователя и вошел в систему без проблем.
Затем, как пользователь root, я использовал useradd
команду, чтобы создать предпочитаемое мной числовое имя пользователя, и оно было создано без ошибок или комментариев.
Проверив /etc/adduser.conf
файл конфигурации, я обнаружил, что хотя запись и была NAME_REGEX="^[a-z]..."
, но она была закомментирована, следовательно, не являлась значением по умолчанию.
Так зачем же применять его при установке, если он не является настройкой по умолчанию, заставляя меня выполнять эту процедуру каждый раз при установке?
Есть ли альтернативный способ принудительного ввода числового пользователя при установке или мне нужно изучить опцию кикстарта?
К сожалению, мое имя пользователя должно состоять из цифр, как того требует политика моих клиентов.
решение1
По моему мнению, вам нужно рекомендовать вашему клиенту изменить его политику. Ульрих Шварцв одном из комментариев было сказано, что удивительно, что имена пользователей, состоящие только из цифр, вообще работают.
Подумайте об этом: если пользователь с именем 12345
существует в системе, как бы вы использовали chown
команду для изменения uid файла на числовое значение 12345? Подсказка: это на самом деле возможно, но даже в man-странице не сказано, как. Любой автоматизированный скрипт, пытающийся сделать что-то подобное, вероятно, сломается.
И chown
это не единственная команда. Вполне возможно, что есть и другие компоненты системы, которые будут ломаться хуже, если подвергнуть их полностью цифровым именам пользователей.
Есть тема об изменении правил, за которой следует adduser
.Видимо, раньше запрещалось использовать имена, начинающиеся с цифр.