답변:
레거시 Unix 시스템과 특히 NIS 디렉토리 서비스 의 한계입니다 . 일반적으로이 제한은 조직이 모든 응용 프로그램에서 사용자 이름을 일관되게 유지하려는 경우에만 적용됩니다 (일반적으로 좋은 생각입니다).
내가 최근에 문제를 본 주된 것은 Solaris (10)의 ps였으며 9 번째 문자 이상을 잘라냅니다. 예를 들어 사용자 이름을 grep 해야하는 경우 일치하지 않습니다.
$ 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
몇 가지 이유가 더 있습니다.
사용자 이름 생성에 대한 모범 사례와 관련하여 소문자 대신 대문자로 로그인을 사용하면 복잡 할 수 있으므로 피해야합니다.
일부 (구) 시스템에서는 대문자로만 로그인을 볼 때 사용자 터미널이 소문자를 지원하지 않는다고 가정하면 기본적으로 유용하므로 모든 것을 대문자로 설정하십시오 (암호 입력 및 입력을 막을 수 있음) 로그인하면 유닉스 명령!)
편집 (2019 년 4 월 16 일) :
방금 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의 출력에 의존 할 수 없다는 것을 의미합니다. 프로세스를 소유합니다.