Przez całą moją skromną karierę w branży IT na ogół widzę ograniczoną długość nazwy użytkownika (zazwyczaj do 8 znaków). Dzieje się tak w różnych systemach, w tym w Active Directory i aplikacjach bazodanowych.
Czy jest tego powód? Czy istnieją najlepsze praktyki dotyczące tworzenia nazw użytkowników?
user-accounts
Geordan
źródło
źródło
Odpowiedzi:
Jest to ograniczenie starszych systemów uniksowych, w szczególności usługi katalogowej NIS . Zwykle to ograniczenie obowiązuje tylko wtedy, gdy organizacja stara się zachować spójność nazw użytkowników we wszystkich aplikacjach (co jest ogólnie dobrym pomysłem).
źródło
Główny, z którym ostatnio widziałem problemy, to ps na Solarisie (10), który odcina 9 + znaki, więc na przykład, jeśli potrzebujesz grep dla nazwy użytkownika, to nie pasuje.
Jeśli wykonasz polecenie ls -l w katalogu z plikami należącymi do tego użytkownika, kolumny zostaną wypchnięte z wyrównania.
Zasadniczo musisz uważać na wszelkie narzędzia, które zajmują się nazwami logowania, a nie tylko identyfikatorami UID. Może to obejmować rzeczy, które czytają lub zapisują pliki dziennika lub bazy danych, lub wykorzystują dane wyjściowe narzędzi takich jak last, who, finger, ls, ps itp.
Szybkie Google pokazało tę stronę:
http://fixunix.com/sun/113647-username-lenght-more-then-8-characters.html
Co dodaje kilka innych powodów.
Jeśli chodzi o sprawdzone metody tworzenia nazw użytkowników, mogą wystąpić również komplikacje związane z używaniem logów wielkimi literami zamiast małych liter, dlatego też należy tego unikać.
Kiedy niektóre (starsze) systemy, gdy logują się tylko wielkimi literami, pomocne jest domyślne założenie, że terminal użytkownika nie obsługuje małych liter, więc ustaw WSZYSTKO na wielkie litery (co może uniemożliwić wpisanie hasła i możliwość pisania Polecenia uniksowe po zalogowaniu!)
Edytuj (16.04.2019):
Właśnie zauważyłem na RHEL 7.5, że wyjście ps też nie gra ładnie:
Obcina nazwę użytkownika znakiem „+”, co nie jest pomocne, jeśli nie wiesz, który to będzie użytkownik, i oznacza, że nie możesz polegać na danych wyjściowych ps, np. Jako danych wejściowych do skryptu, który musi wiedzieć, kto jest właścicielem procesu.
źródło