Je suis intéressé par le cas où un nouvel utilisateur est généré et qu'aucun UID n'est donné explicitement, ce qui permet à Ubuntu d'attribuer automatiquement un UID. Je sais que par défaut, Ubuntu générera un UID supérieur à 1000, mais je veux tout savoir sur la politique de génération d'UID d'ubuntu.
Une bonne réponse à cette question éclaircira les points suivants
Voir _/etc/adduser.conf
_:
_# FIRST_SYSTEM_[GU]ID to LAST_SYSTEM_[GU]ID inclusive is the range for UIDs
# for dynamically allocated administrative and system accounts/groups.
# Please note that system software, such as the users allocated by the base-passwd
# package, may assume that UIDs less than 100 are unallocated.
FIRST_SYSTEM_UID=100
LAST_SYSTEM_UID=999
FIRST_SYSTEM_GID=100
LAST_SYSTEM_GID=999
# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically
# allocated user accounts/groups.
FIRST_UID=1000
LAST_UID=29999
FIRST_GID=1000
LAST_GID=29999
_
Et, en lisant le script Perl sur $(type -p adduser)
ou _/usr/sbin/adduser
_, on trouve cette fonction:
_ sub first_avail_uid {
my ($min, $max) = @_;
printf (gtx("Selecting UID from range %d to %d ...\n"),$min,$max) if ($verbose > 1);
my $t = $min;
while ($t <= $max) {
return $t if (!defined(getpwuid($t)));
$t++;
}
return -1; # nothing available
}
_
Cela signifie: adduser
sélectionne le premier UID libre compris entre 1000 et 29999 ou échoue.
Réponse exacte: 1002, Il en choisira un gratuitement.
Il y a IS un UID maximum, _4294967295
_, car UID
s sont des champs de 32 bits, mais adduser
utilise une limite inférieure.
Cependant, il y a aussi _/usr/sbin/useradd
_ ATTENTIONadduser
et useradd
se trompent/se trompent .
man useradd
me dit:
_DESCRIPTION
useradd is a low level utility for adding users. On Debian,
administrators should usually use adduser(8) instead.
...
-u, --uid UID
The numerical value of the user's ID. This value must be unique,
unless the -o option is used. The value must be non-negative. The
default is to use the smallest ID value greater than or equal to
UID_MIN and greater than every other user.
See also the -r option and the UID_MAX description.
...
CONFIGURATION
The following configuration variables in /etc/login.defs change the
behavior of this tool:
...
SYS_UID_MAX (number), SYS_UID_MIN (number)
Range of user IDs used for the creation of system users by useradd
or newusers.
The default value for SYS_UID_MIN (resp. SYS_UID_MAX) is 101
(resp. UID_MIN-1).
UID_MAX (number), UID_MIN (number)
Range of user IDs used for the creation of regular users by useradd
or newusers.
The default value for UID_MIN (resp. UID_MAX) is 1000 (resp.
60000).
_
Une des raisons pour lesquelles j'utilise adduser
plutôt que useradd
est l'option _--encrypt-home
_ de adduser
. L'un ou l'autre, cependant, pourrait être remplacé en éditant un tas de fichiers, en copiant d'autres, en créant des répertoires, etc. en utilisant n'importe quel UID choisi (pourquoi, jadis, je ...). Il n’ya rien de magique dans adduser
ou useradd
.