On 12/19/19 9:12 PM, Davide Prina wrote:
On 19/12/19 10:11, Federico Di Gregorio wrote:
Linux usa uid di 32 bit. Non c'è alcuna differenza nello scegliere
come id 5 oppure 19711019. (Ovviamente non puoi andare oltre 2^31-1)
$ grep UID_T /usr/include/bits/typesizes.h
#define __UID_T_TYPE __U32_TYPE
$ davide:~# grep '#define __U32_TYPE' /usr/include/bits/types.h
#define __U32_TYPE unsigned int
---8<----8<----8<----8<- a.c ---8<----8<----8<----8<----8<-
#include <sys/types.h>
#include <stdio.h>
int main( void )
{
printf("uid_t: %d bytes (%d bits)\n", sizeof(uid_t), sizeof(uid_t) * 8);
}
---8<----8<----8<----8<----8<----8<----8<----8<----8<----8<-
$ gcc a.c
$ ./a.out
uid_t: 4 bytes (32 bits)
quindi non dovrebbe essere 2^³²-1?
Si, ma _mi sembra_ di ricordare che in alcuni punti venga usato un
signed int. Non trovo i riferimenti, roba vecchia di anni.
Però andando a leggere in giro ho trovato che:
$ cat /etc/login.defs | grep UID
UID_MIN 1000
UID_MAX 60000
Quindi il massimo UID per l'utente è impostato a 60.000 di default.
$ man 5 login.defs
In ogni caso puoi cambiare i valori in login.defs oppure utilizzare
direttamente i parametri --uid e --gid:
# grep UID_MAX /etc/login.defs
UID_MAX 60000
# adduser --uid 19711019 test
Adding user `test' ...
Adding new group `test' (19711019) ...
Adding new user `test' (19711019) with group `test' ...
Creating home directory `/home/test' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
(Tutto funziona)
# deluser --remove-home test
Looking for files to backup/remove ...
Removing files ...
Removing user `test' ...
Warning: group `test' has no more members.
Done.
L'importante è verificare che nessun'altra parte del sistema (tipo
volumi di rete o sistemi di virtualizzazione) utilizzino gli uid alti.
In ogni caso se dovessi mettere su un sistema con tutta questa
granularità utilizzerei gli attributi estesi del file system: imposti i
permessi su di una directory e fai in modo che tutti i file le
sotto-directory li dentro li ereditino, così non hai bisogno di un
numero assurdamente alto di gruppi.
[snip]
federico
--
Federico Di Gregorio federico.digrego...@dndg.it
DNDG srl http://dndg.it
Ma nostro di chi? Cosa abbiamo in comune io e te? -- Md