Vấn đề chính tôi gặp phải gần đây là ps trên Solaris (10), nó tắt các ký tự thứ 9 +, vì vậy, ví dụ nếu bạn cần grep cho tên người dùng thì nó sẽ không khớp.
$ 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
Nếu bạn thực hiện một ls -l trên một thư mục chứa các tệp thuộc về người dùng đó, các cột sẽ bị đẩy ra khỏi căn chỉnh.
$ 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
Về cơ bản, bạn sẽ cần cảnh giác với bất kỳ công cụ nào xử lý tên đăng nhập và không chỉ UID. Điều đó có thể bao gồm những thứ đọc từ hoặc ghi vào tệp nhật ký hoặc cơ sở dữ liệu hoặc sử dụng đầu ra của các công cụ như cuối cùng, ai, ngón tay, ls, ps, v.v.
Google nhanh chóng xuất hiện trang này:
http://fixunix.com/sun/113647-username-lenght-more-then-8-char character.html
Mà thêm một số lý do.
Liên quan đến các thực tiễn tốt nhất để tạo tên người dùng, cũng có thể có các biến chứng từ việc sử dụng thông tin đăng nhập trong thủ đô thay vì chữ thường, do đó cũng nên tránh.
Khi một số hệ thống (cũ hơn), khi thấy thông tin đăng nhập chỉ bằng chữ hoa, chúng sẽ mặc định giả định rằng thiết bị đầu cuối của người dùng không hỗ trợ chữ thường, vì vậy hãy đặt MỌI THỨ thành chữ hoa (có thể ngăn nhập mật khẩu và có thể nhập Các lệnh Unix khi bạn đăng nhập!)
Chỉnh sửa (16/04/2019):
Tôi vừa nhận thấy trên RHEL 7.5, rằng đầu ra của ps cũng không chơi tốt:
$ 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
Nó cắt tên người dùng bằng '+', điều này không hữu ích nếu bạn không biết người dùng đó sẽ là ai và có nghĩa là bạn không thể dựa vào đầu ra của ps, ví dụ như nhập vào tập lệnh cần biết ai sở hữu một quy trình.