On Tuesday 04 December 2007 16:44, Alessandro wrote:
> Ciao a tutti, mi scuso anticipatamente nel caso che questa richiesta sia
> offtopic, ho un problema di questo genere: su una fedora core 5 il
> massimo numero di caratteri ammissibili passabili con il comando useradd
> è di 31 caratteri.  Ho già provato a scaricare i sorgenti e modificare
> il parametro all'interno del file login.c
> int main (int argc, char **argv)
> {
>         char username[256]; precedentemente settato a 32
>         char tty[BUFSIZ];
>
>
> ho ricompilato il tutto ma niente useradd mi da l'errore:
> useradd: nome utente «alessandro.alessandro.intred.it» non valido

Il fatto che tu abbia incrementato quella grandezza, non significa niente.Nel 
codice ci sarà un controllo per validare la lunghezza della stringa 
inserita ,che ovviamente non sarà più grande di 32 byte.

Il controllo di useradd sulla lunghezza del dato è eseguito dalla funzione 
check_user_name(), nel dettaglio :

"chkname.h"
49: if (strlen (name) > sizeof (ut.ut_user)) 
50:     return 0;

ut fa riferimento ad una struttura utmp, che si occupa della gestione 
dell'accounting, e nel dettaglio ut_user è un array grande UT_NAMESIZE,
definito in bits/utmp.h 32 byte.

Ridefinire UT_NAMESIZE...

Non mi sono mai posto il problema, ma se la lunghezza di un username in un 
sistema è standard, ci saranno tonnelate di codice che useranno quel dato 
(MAX SIZE) per validare la copia del dato stesso in memoria.Vedi login.c 
riportato da te, avrebbe ispirato più fiducia se fosse stato dichiarato 
username[UT_NAMESIZE], in quel modo anche se hai un username > 32, quel 
codice ti segherebbe sempre le gambe, e penso che ci sia parecchio codice 
scritto in quel modo.

Ho paura :-) , non voglio chiederti a cosa ti serve aumentare la lunghezza 
dell'username, ti scoraggio nell'andare avanti sulla questione, ma non posso 
negarti l'euforia di un segmentation fault :-)

Sicuramente qualcuno conoscerà meglio la problematica.

Salut.

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a