useradd 123 - неверное имя пользователя

[[email protected] ~]# useradd 123
useradd: неверное имя пользователя «123»
[[email protected] ~]#

Не получается создать пользователя, имя которого начинаться с цифры, если же создать пользователя z123, а потом в ручную удалить z из /etc/passd и /etc/shadow, то пользователь как-бы появляется в системе. причем даже получается войти в его учетную запись посредством su -l 123.
Пользователей нужно завести около 40, править каждого ручками не хочется, может какие политики безопасности нужно подкрутить, где ?
Упреждая некоторые вопросы - пользователи должны быть в формате 401x222, то есть "номер кабинета номер телефона", по другому нельзя, никак вообще нельзя :)
Хотя бы потому что виндовсы могут.
Ну, вообще, это не очень правильно, ибо:
It is usually recommended to only use usernames that begin with a lower
case letter or an underscore, followed by lower case letters, digits,
underscores, or dashes. They can end with a dollar sign. In regular
expression terms: [a-z_][a-z0-9_-]*[$]?
Так что лучшим вариантом было бы называть юзеров в формате u401x202.
Но если сильно хочется, можно назвать и цифрами. Точнее, добавляете в виде prefix401x202, а потом через sed или в vim этот самый prefix убираете.
ну сейчас вот в цикле вот так вот сделал:
useradd -m -s /bin/bash z$user -g $group;
cat /etc/shadow | sed s/"z$name"/"$name"/ > /tmp/1; cat /tmp/1 > /etc/shadow;
cat /etc/passwd | sed s/"z$name"/"$name"/ > /tmp/1; cat /tmp/1 > /etc/passwd;
Зачем такие сложности-то? Удалили бы потом префиксы из файлов, да и всё.
sed 's/prefix//g' /etc/passwd > /etc/passwd.new
Потом проверить и заменить. Или можно -i использовать, тогда файл сразу поменяется.
Сто раз подумайте о том, что никто Вам не скажет заранее, где и какие проблемы с такими именами могут всплыть. Например, некоторые команды воспринимают аргумент как имя пользователя, если он начинается с буквы, и как User ID, если с цифры (например, chown). Такая команда всегда будет считать, что ей подсунули ID, и либо сделает не то, что Вы на самом деле хотели (если имя такого юзера совпадет с ID или GID кого-то другого в системе), либо просто не найдет никого. А потом начнется: arch говно - файлы не открываются из под "обычного" пользователя.
Это только один пример. Думаю, что пораскинув мозгами, можно придумать еще много. А жизнь подкинет проблему вообще в самом неожиданном месте.
kurych
Сто раз подумайте о том, что никто Вам не скажет заранее, где и какие проблемы с такими именами могут всплыть. Например, некоторые команды воспринимают аргумент как имя пользователя, если он начинается с буквы, и как User ID, если с цифры (например, chown). Такая команда всегда будет считать, что ей подсунули ID, и либо сделает не то, что Вы на самом деле хотели (если имя такого юзера совпадет с ID или GID кого-то другого в системе), либо просто не найдет никого. А потом начнется: arch говно - файлы не открываются из под "обычного" пользователя.
Это только один пример. Думаю, что пораскинув мозгами, можно придумать еще много. А жизнь подкинет проблему вообще в самом неожиданном месте.
5 лет, пока ни разу не словил проблем ;)
не значит , что этого не будет.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
0leg
5 лет, пока ни разу не словил проблем ;)
Я так понимаю, Вы имеете в виду свой несчастный нолик впереди? Остальное-то, буквы. А речь идет об именах полностью из цифр. Почувствуйте разницу...
Впрочем, никто никому не запрещает быть ССЗБ. Это личное дело каждого.
Если шаманство корпоративное и пользователей 70+ то наверное имеет смысл посмотреть на те плюшки что может дать OpenLDAP или Active Directory. Правда может оказаться что овчинка в итоге не стоит выделки. Но в принципе возможность авторизоваться на любом компьютере под собой плюшка неплохая. да и цифровые логины вроде допустимы.
Да пребудет с вами знание ip адреса
 
Зарегистрироваться или войдите чтобы оставить сообщение.