From Fedora Project Wiki

1000 account di systema

Sommario

Fondare su login.defs lo standard per la definizione delle autorizzazioni di spazio allocazione di UID/GID, ed allargare il limite tra account di sistema ed utente da 500 a 1000. (n.d.t. rivedere)

Sviluppatore

Descrizione dettagliata

Lo spazio di allocazione UID/GID ("ID" da ora in poi), non è chiaramente definito in Fedora oltre ad essere strettamente codificato in molte applicazioni. Storicamente Fedora allocava 500 valori di ID per gli utenti di sistema; dato che gli attuali pacchetti Fedora allocano più di 270 account, maggiore spazio è richiesto per interrompere i processi di sistema come root, o per consentire di allocare staticamente più ID (da Fedora o da policy locali). Il valore di 500 devia anche dall'allocazione in shadow(-utils).

L'intento di questa feature, quindi, è allocare 1000 valori di ID per gli account di sistema. Un bel po' di applicazioni hanno codificato il valore 500 come limite; invece di sostituire questo valore con un valore fisso di 1000, tali applicazioni saranno modificate per leggere il limite dal file /etc/login.defs.

Il layout dell'ID cambierà come segue:

Account di sistema allocati staticamente (/usr/share/doc/setup/uidgid) 0-? 0-200
Account di sistema allocati dinamicamente (allocati in ordine decrescente) ?-499 201-999
Avvount utente 500-60,000 1,000-60,000

Come sopra indicato, il limite tra account di sistema allocati staticamente e dinamicamente non è stato ben definito (si era pensato a 100, ma già in Fedora 15, gli UID statici allocati erano 173); il limite è ora esplicitamente definito, tramite SYS_[UG]ID_MIN), su 201, e poichè gli account di sistema dinamici sono allocati dai valori più alti, risulterà in futuro più semplice espandere lo spazio per gli account allocati staticamente.

/etc/login.defs è già lo standard di fatto per configurare il limite degli account di sistema/utente (usato se non altro già da accountsservice, libsemanage, libuser e naturalmente da shadow-utils), quindi si procede alla sua codifica piuttosto che inventare un nuovo ed incompatibile file di configurazione.

Rendendo il limite configurabile, consente agli utenti di mentenere il precedente limite di 500, se desiderato:

  • Poichè /etc/login.defs è %config(noreplace), gli aggiornamenti mantengono il valore limite di 500, senza interruzioni;
  • Per nuove installazioni con impostazioni con UID allocati centralmente (p.e. usando LDAP), possono essere ugualmente configurati per usare il valore limite di 500 creando /etc/login.defs in un %pre script di kickstart.

Vantaggi per Fedora

  • Maggiore spazio per account di sistema, rendendo possibile di interrompere i processi di sistema come root, su scala maggiore
  • Esplicitamente definito il limite tra sistemi di account statici e dinamici, per riflettere l'attuale allocazione
  • Sufficiente spazio per consentire, in futuro, l'espansione dello spazio allocato staticamente
  • Usare la stessa llocazione di ID di shadow(-utils) di upstream, e di altre eminenti distribuzioni Linux (p.e. Debian, OpenSUSE)

Esperienza utente

For users that don't use a site-wide ID allocation mechanism (e.g. LDAP), no visible impact is expected - neither on fresh installs nor on upgrades.

For users with a site-wide ID allocation mechanism (e.g. LDAP) that allocates user IDs >= 1000, no impact is expected either. If user IDs in the range 500-1000 are allocated, upgrades will work fine, but new installs that follow the site-wide policy will only be possible using kickstart.

Documentazione

login.defs(5)

Note di rilascio

Fedora 16 changes the UID and GID allocation policy: user accounts now start from value 1000 instead of the previous value 500. This policy is now globally set in /etc/login.defs variables GID_MIN and UID_MIN, see login.defs(5) for more details. Upgrades from earlier Fedora releases will keep their configuration, starting user accounts from 500.

If you need to install a new system from scratch, while starting user accounts from 500 (to connect the system to a network with globally-defined UIDs), install using a kickstart script that places /etc/login.defs on the file system before package installation starts.