Навіщо обмежувати максимальну довжину імені користувача до 8 символів?


13

Протягом своєї покірної кар’єри в галузі ІТ я бачу обмежену довжину імені користувача (як правило, до 8 символів). Це відбувається в різних системах, включаючи програми Active Directory та додатки для баз даних.

Чи є для цього причина? Чи є найкращі практики щодо створення імені користувача?


1
Добре запитання, але я здригаюся кожного разу, коли бачу термін "найкраща практика". Немає такої тварини.
Джон Гарденєр

Відповіді:


14

Це обмеження застарілих систем Unix, зокрема служби каталогів NIS . Зазвичай це обмеження діє лише в тому випадку, якщо організація намагається підтримувати послідовні імена користувачів у всіх програмах (що, як правило, є хорошою ідеєю).


1
+1, найменший найпоширеніший знаменник викликає безліч цих обмежень. AD може підтримувати 256 імен користувачів, але сервер Solaris 7 в основному примушує максимум до 8 символів. Також ті ж обмеження стосуються і довжини пароля.
sysadmin1138

Ой, ей, хлопець із блогу, якого я час від часу читав. Суп? :)
jgoldschrafe

1
А на системах MSWindows - успадкований від MSDOS ліміт 8 знаків у назві файлу
symcbean

Ні, цього позбулися - з Windows 95. Навіть Fat отримав оновлення, включаючи режим сумісності;)
TomTom

6

Основна, з якою я нещодавно бачила проблеми, - це ps на Solaris (10), він вимикає символи 9-го +, тому, наприклад, якщо вам потрібно було привчатись до імені користувача, воно не відповідатиме.

$ sudo -u longusername ps -fu longusername
     UID   PID  PPID   C    STIME TTY         TIME CMD
longuser 14012 11985   0 09:58:39 pts/2       0:00 ps -fu longusername

Якщо ви робите ls -l у каталозі з файлами, що належать цьому користувачеві, стовпці висуваються з вирівнювання.

$ ls -ld /export/home/l*
drwxr-xr-x   2 lauser   users        6 Mar 23 10:21 /export/home/lzuser
drwxr-xr-x   2 longusername users        6 May  4 10:02 /export/home/longusername
drwxr-xr-x   2 lzuser   users        6 Mar 12 11:21 /export/home/lzuser

По суті, вам слід насторожено ставитися до будь-якого інструменту, що стосується імен для входу, а не лише UID. Це може включати речі, які читаються з або записуються в журнал файлів або баз даних, або використовуються у виведенні таких інструментів, як last, who, finger, ls, ps тощо.

Швидкий пошук Google відкрив цю сторінку:

http://fixunix.com/sun/113647-username-lenght-more-then-8-characters.html

Що додає ще декілька причин.

Що стосується найкращих практик створення імені користувача, то також може виникнути ускладнення щодо використання логінів у великих літерах замість малих регістрів, тому цього слід уникати.

Коли деякі (старіші) системи, коли бачать логін лише з великої літери, вони корисно замовчують, припускаючи, що термінал користувача не підтримує малі регістри, тому встановіть, що ВСЕ БУДЕ у великих літерах (що може запобігти введенню пароля та можливості вводити пароль Команди Unix після входу!)

Редагувати (16.04.2019):

Я щойно помітив на RHEL 7.5, що вихід PS також не грає добре:

$ ps -fulongusername
UID        PID  PPID  C STIME TTY          TIME CMD
longuse+  1230 27243  0 Apr13 pts/0    00:00:00 vim somescript.sh
longuse+  1701 27243  0 Apr05 pts/0    00:00:00 vim another-script.sh
longuse+  3116 27243  0 Apr12 pts/0    00:00:01 vim test_script.sh

Він обрізає ім'я користувача "+", що не корисно, якщо ви не знайомі, для якого користувача це буде, і означає, що ви не можете розраховувати на вихід PS, наприклад, як вхід до сценарію, який повинен знати, хто володіє процесом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.