In verschiedenen Kreisen kam wiederholt die Frage auf, aus welchem Bereich unter Linux die Werte für UID und GID stammen. Diese Frage möchte ich in diesem Beitrag beantworten.
Der maximal mögliche Wert, den eine UID oder GID annehmen kann, wird vom Typ der Variablen bestimmt, in der dieser Wert gespeichert wird. Bei den im Folgenden betrachteten Distributionen besitzen diese Integer-Variablen eine Größe von 32 Bit. Der maximal mögliche Wert für UID bzw. GID liegt in diesen Distributionen also bei 4.294.967.295. Wie die Größe dieser Variablen ermittelt werden kann, wird in der Red Hat Wissensdatenbank beschrieben.
Darüber hinaus definieren die Distributionen in der Datei /etc/login.defs einen Bereich, aus dem eine automatische Vergabe bei der Verwendung der Kommandos useradd bzw. groupadd erfolgt.
Min- und Maximal-Werte für UID und GID
| Min/Max-Werte | Ubuntu 16.04 LTS | RHEL/CentOS 7 | SLES 12 SP1 |
|---|---|---|---|
| UID_MIN | 1000 | 1000 | 1000 |
| UID_MAX | 60000 | 60000 | 60000 |
| SYS_UID_MIN | 100 | 201 | 100 |
| SYS_UID_MAX | 999 | 999 | 499 |
| GID_MIN | 1000 | 1000 | 1000 |
| GID_MAX | 60000 | 60000 | 60000 |
| SYS_GID_MIN | 100 | 201 | 100 |
| SYS_GID_MAX | 999 | 999 | 499 |
UID und GID gelten für „normale“ Benutzer, während SYS_UID und SYS_GID die Grenzen für Systembenutzer angeben.