LINUX.ORG.RU

Валидация имени пользователя в Linux


0

0

Есть строка. Нужно проверить является ли она допустимым именем
пользователя Linux.

Где почитать про допустимый набор символов и допустимую длину имени.
Является ли эта информация зависимой от дистрибутива, версий  
системных билиотек, версии ядра и т.п. 
Замечу, что речь идет ТОЛЬКО про Linux.

Может знает кто готовый regex - буду очень благодарен :)

P.S.
С паролем та же ситуация.

Ответ на: комментарий от mrco

> Что-то мне подсказывает что валидным будет все что угодно.

Двоеточия не может быть:)

dilmah ★★★★★
()
Ответ на: комментарий от hatefu1_dead

> User/group names must match [a-z_][a-z0-9_-]*[$]

однако, в Debian'е можно добавить пользователя с именем, состоящим только из цифр. (useradd 0 работает)

hatefu1_dead
()
Ответ на: комментарий от hatefu1_dead

Не стоит этого делать, некоторые команды начнут путаться, uid ты им даёшь или логин.

Teak ★★★★★
()
Ответ на: комментарий от hatefu1_dead

А, по-моему, $ - это конец строки, а [$] - это символ $.

Usernames must begin with a lower case letter or an underscore, and only lower case letters, underscores, dashes, and dollar signs may follow. In regular expression terms: [a-z_][a-z0-9_-]*[$]

Это из man useradd.

Davidov ★★★★
()

POSIX требует чтобы максимальная длина логина не превышала 8 символов в противном случае будут лезть грабли в самых непредсказуемых местах

какаято часть утилит завязана на этот пункт стандарта

cvv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.