Mengapa membatasi panjang nama pengguna maksimum hingga 8 karakter?

13

Sepanjang karier saya yang sederhana di TI, saya biasanya melihat panjang nama pengguna terbatas (biasanya sampai 8 karakter). Ini terjadi pada berbagai sistem termasuk Active Directory dan aplikasi database.

Apakah ada alasan untuk ini? Apakah ada praktik terbaik terkait dengan pembuatan nama pengguna?

Geordan
sumber
1
Pertanyaan bagus tapi saya ngeri setiap kali melihat istilah "praktik terbaik". Tidak ada binatang seperti itu.
John Gardeniers

Jawaban:

14

Ini adalah batasan sistem warisan Unix, dan layanan direktori NIS pada khususnya. Biasanya, pembatasan ini hanya berlaku jika organisasi mencoba untuk menjaga nama pengguna konsisten di semua aplikasi (yang umumnya merupakan ide yang baik).

jgoldschrafe
sumber
1
+1, denominator terendah-umum menyebabkan banyak pembatasan ini. AD dapat mendukung 256 nama pengguna char, tetapi server Solaris 7 pada core memaksa maks hingga 8 karakter. Juga, pembatasan yang sama berlaku untuk panjang kata sandi.
sysadmin1138
Oh, hei, cowok blog yang saya baca dari waktu ke waktu. Sup? :)
jgoldschrafe
1
Dan pada sistem MSWindows - diwarisi dari batas MSDOS 8 karakter dalam nama file
symcbean
Tidak, itu sudah terhapus - dengan Windows 95. Bahkan Fat mendapat pembaruan termasuk mode kompatibilitas;)
TomTom
6

Masalah utama yang saya lihat belakangan ini adalah ps pada Solaris (10), ini mematikan karakter ke-9 +, jadi misalnya jika Anda perlu mencari nama pengguna yang tidak cocok.

$ 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

Jika Anda melakukan ls-l pada direktori dengan file milik pengguna itu, kolom didorong keluar dari alignment.

$ 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

Pada dasarnya Anda harus waspada terhadap alat apa pun yang berurusan dengan nama login dan bukan hanya UID. Itu bisa termasuk hal-hal yang dibaca dari atau ditulis untuk mencatat file atau database, atau menggunakan output dari alat-alat seperti yang terakhir, yang, jari, ls, ps dll.

Google cepat memunculkan halaman ini:

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

Yang menambah beberapa alasan lagi.

Sehubungan dengan praktik terbaik untuk pembuatan nama pengguna, ada juga komplikasi dari menggunakan login di ibukota daripada huruf kecil, sehingga harus dihindari juga.

Ketika beberapa sistem (yang lebih tua), ketika melihat login hanya dengan huruf besar, mereka sangat membantu untuk mengasumsikan bahwa terminal pengguna tidak mendukung huruf kecil, jadi setel SEMUA yang berada dalam huruf kapital (yang dapat mencegah memasukkan kata sandi dan dapat mengetikkan Perintah Unix setelah Anda masuk!)

Edit (16/04/2019):

Saya baru saja memperhatikan di RHEL 7.5, bahwa output ps tidak berfungsi dengan baik:

$ 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

Ini memotong nama pengguna dengan tanda '+', yang tidak membantu jika Anda tidak terbiasa dengan pengguna yang mana dan akan berarti Anda tidak dapat mengandalkan output ps misalnya sebagai input ke skrip yang perlu tahu siapa memiliki sebuah proses.

JohnGH
sumber