Ich glaube nicht, dass es ein inhärentes Risiko gibt. Dies geschieht lediglich, um eine Trennung zwischen Systemkonten und Benutzerkonten zu erreichen. Die Praxis, aus meiner Erfahrung Zahlen unter 500 zu verwenden, ist ein Redhatismus, und wirklich nichts weiter.
Unter Solaris hatte ich gesehen, dass Benutzern auch Nummern ab 100 zugewiesen wurden. Erst Jahre später stellte sich heraus, dass das Zusammenführen von Systemen zweier kleinerer Abteilungen eine Art Albtraum darstellt, da mehrere Benutzer in den beiden Abteilungen dieselbe UID hatten / GIDs zugewiesen.
Dies ist wirklich das Hauptrisiko / der Hauptschmerz beim Zuweisen der UIDs. Da die UID das ist, was letztendlich in den Inode für die angegebenen Dateien / Verzeichnisse eines Benutzers geschrieben wird, möchten Sie nicht, dass Sie massiv find
nach Dateien suchen müssen, die der UID 1234 gehören, und diese in 5678 ändern müssen .
Wenn Sie sich also Gedanken über die Auswahl der UIDs machen, können Administratoren Probleme vermeiden.
Die Verwendung von 500 und höher ist nur ein Versuch von Redhat (und anderen Unixen), sich genügend Puffer zu geben, damit alle Systemkonten, die erstellt werden müssen, nicht mit UIDs vermischt werden, die Benutzern zugewiesen sind.
/etc/login.defs
Im übrigen wird die Zahl 500 durch diese Einstellung in der Konfigurationsdatei angetrieben, /etc/login.defs
.
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500
UID_MAX 60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500
GID_MAX 60000
Sie können dies beliebig ändern, wenn Sie das Standardverhalten von useradd
/ adduser
command überschreiben möchten .
Useradd Manpage
Wenn Sie sich die useradd
Manpage ansehen, werden Sie diesen Abschnitt bemerken, in dem der Standardwert für GID erläutert wird. Dieser Kommentar gilt jedoch auch für UIDs:
Auszug
-g, --gid GROUP
The group name or number of the user´s initial login group. The group name
must exist. A group number must refer to an already existing group.
If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB
variable in /etc/login.defs. If this variable is set to yes
(or -U/--user-group is specified on the command line), a group will be
created for the user, with the same name as her loginname. If the variable
is set to no (or -N/--no-user-group is specified on the command line),
useradd will set the primary group of the new user to the value specified by
the GROUP variable in /etc/default/useradd, or 100 by default.
Systemkonten
Eine andere Sache, die in der useradd
Manpage beachtet werden muss, ist dieses Bit bei der Systemkontoerzeugung.
Auszug
-r, --system
Create a system account.
System users will be created with no aging information in /etc/shadow,
and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX
range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their
GID counterparts for the creation of groups).
Note that useradd will not create a home directory for such an user,
regardless of the default setting in /etc/login.defs (CREATE_HOME). You
have to specify the -m options if you want a home directory for a system
account to be created.
Diese Methode ( useradd -r ...
) wird häufig von Skripten verwendet, die bei der Installation eines Pakets in die verschiedenen Paketverwalter (z. B. RPM) integriert sind. Wenn Sie auf diese Weise Skripte erstellen, kann das System automatisch die nächste verfügbare UID / GID auf einem bestimmten System auswählen, ohne das Risiko einzugehen, auf UIDs / GIDs zuzugreifen, die den Benutzern des Systems bereits zugewiesen wurden.