Il giorno Wed, 5 Dec 2007 03:07:27 +0100
aspinall <[EMAIL PROTECTED]> ha scritto:

> 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.

[..]

> 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...

[..]


Quoto e aggiungo un'ulteriore considerazione. 

La ridefinizione di UT_NAMESIZE è tecnicamente e potenzialmente
possibile. Mi sembra superfluo sottolineare che, dopo aver effettuato
la modifica, devi preoccuparti anche di ricompilare il sistema nella sua
interezza (o quasi) per evitare aspetti alquanto spiacevoli legati a una
validazione della lunghezza che potrebbe assumere connotati ballerini. 

Tieni inoltre presente i limiti POSIX se intendi imbarcarti in questa
attività ludica. Infatti, in base a quanto stabilito dallo standard
POSIX.1, la massima lunghezza di uno username è  fissata dal limite
_POSIX_LOGIN_NAME_MAX il cui valore è 9. 

In realtà, lo standard POSIX permette di ridefinire localmente tale
limite mediante LOGIN_NAME_MAX il cui valore può essere ricavato
mediante una sysconf(3) utilizzando come parametro name
_SC_LOGIN_NAME_MAX. Tale valore è di solito fissato a 256. Il fatto che 
UT_NAMESIZE non sia fissato a LOGIN_NAME_SIZE è un'idiosincrasia 
non da poco a mio personalissimo modo di vedere ma tant'è.

Tornando a noi, tutto questo semplicemente per dire che se decidi di
impostare UT_NAMESIZE a un valore maggiore di 256 forse qualcosa
potrebbe smettere di funzionarti...


Saluti,

-- 

Angelo Dell'Aera 'buffer' 
Antifork Research, Inc.         http://buffer.antifork.org
Metro Olografix

PGP information in e-mail header


Attachment: signature.asc
Description: PGP signature

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

Rispondere a