У сучасній системі (з повною підтримкою Unicode) це не повинно бути проблемою - з акцентом на "не слід". Як цитується у цій відповіді,
Типовим є NAME_REGEX="^[a-z][-a-z0-9]*\$"
Хоча це може бути надто суворим для нинішніх систем, це полегшує адміністрування, як, наприклад, "одна менша справа, яку потрібно турбувати". Зауважте, що ім'я користувача використовується у багатьох місцях - наприклад, ваш домашній каталог, мабуть, має форму /home/username; Більшість розумних файлових систем мають повну підтримку Unicode, але як і у випадку, що стосується будь-якого комп'ютера, розумність за будь-яких обставин не гарантується.
Зауважте, що існує власне ім’я для входу, як використовується система (яка підпадає під ці правила), відображається в UID в /etc/passwd, і є "Повне ім'я", що є рядком (і можна ввести більшість дійсних символів, хоча є попередження "не ASCII").
Що робити: там, де це застосовано, я використовую ім'я без діакритики (або романізованого, у разі не латинських сценаріїв) для імені користувача, а справжню форму для повного імені. Запис у вашому / etc / passwd може виглядати приблизно так:
martrang:x:1001:1001:Märt Rang,,,:/home/martrang:/bin/bash