Perché limitare la lunghezza massima del nome utente a 8 caratteri?


13

Durante la mia umile carriera nell'IT, generalmente vedo la lunghezza del nome utente limitata (in genere a 8 caratteri). Ciò si verifica su una varietà di sistemi tra cui Active Directory e app di database.

C'è una ragione per questo? Esistono buone pratiche per quanto riguarda la creazione del nome utente?


1
Bella domanda ma rabbrividisco ogni volta che vedo il termine "best practice". Non esiste un tale animale.
John Gardeniers,

Risposte:


14

È una limitazione dei sistemi Unix legacy, e in particolare del servizio di directory NIS . Di solito, questa restrizione è valida solo se l'organizzazione sta cercando di mantenere coerenti i nomi utente in tutte le applicazioni (che è generalmente una buona idea).


1
+1, il minimo comune denominatore causa molte di queste restrizioni. AD può supportare 256 nomi utente char, ma il server Solaris 7 nel core impone un massimo di 8 caratteri. Inoltre, le stesse restrizioni si applicano alla lunghezza della password.
sysadmin1138

Oh, ehi, il ragazzo del blog che leggo di tanto in tanto. Sup? :)
jgoldschrafe il

1
E sui sistemi MSWindows - ereditati dal limite MSDOS di 8 caratteri in un nome file
symcbean

No, è stato eliminato - con Windows 95. Anche Fat ha ottenuto un aggiornamento che include la modalità di compatibilità;)
TomTom

6

Il principale con cui ho riscontrato problemi di recente è stato ps su Solaris (10), elimina i caratteri 9th +, quindi ad esempio se avessi bisogno di grep per il nome utente non corrisponderebbe.

$ 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

Se si esegue ls -l in una directory con file appartenenti a quell'utente, le colonne vengono rimosse dall'allineamento.

$ 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

Fondamentalmente dovresti stare attento a qualsiasi strumento che si occupasse dei nomi di accesso e non solo degli UID. Ciò potrebbe includere elementi che hanno letto o scritto su file di log o database o che hanno utilizzato l'output di strumenti come last, who, finger, ls, ps ecc.

Un rapido Google ha aperto questa pagina:

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

Il che aggiunge alcuni altri motivi.

Per quanto riguarda le migliori pratiche per la creazione di nomi utente, possono esserci anche complicazioni nell'uso degli accessi in maiuscolo anziché in minuscolo, quindi anche questo dovrebbe essere evitato.

Quando alcuni sistemi (più vecchi), quando vedono un login solo in maiuscolo, sono utili per impostazione predefinita nel presupporre che il terminale dell'utente non supporti le lettere minuscole, quindi imposta TUTTO in maiuscolo (che può impedire l'inserimento della password e la possibilità di digitare Comandi Unix dopo il login!)

Modifica (16/04/2019):

Ho appena notato su RHEL 7.5 che l'output di ps non funziona bene neanche:

$ 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

Tronca il nome utente con un '+', che non è utile se non hai familiarità con l'utente che sarà e significa che non puoi fare affidamento sull'output di ps, ad esempio come input per uno script che deve sapere chi possiede un processo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.