Я не вірю, що існує якийсь притаманний ризик. Це робиться просто для створення розділення між тим, що вважається системними обліковими записами, та обліковими записами користувачів. Практика використання цифр нижче 500, з мого досвіду, є Redhat-Ism, і насправді не більше того.
На Solaris я бачив, як користувачі присвоюють номери, починаючи з 100, лише через роки виявляють, що при об'єднанні двох менших систем департаментів разом викликає різного кошмару, оскільки в двох відділах було два користувачі, які мали той самий UID / Присвоєно GID
Це дійсно основний ризик / головний біль при призначенні UID. Оскільки UID - це те, що в кінцевому рахунку записується в inode для заданих користувачем файлів / каталогів, вам не хочеться, щоб у дорозі виконувати масові find
пошуки файлів, які належать UID 1234, і потрібно змінити їх на 5678 .
Тож, подумавши про вибір UID, адміністратори можуть уникнути головного болю в дорозі.
Використання 500 і вище - це лише спроба Redhat (та інших Unixes) дати собі достатній буфер, щоб будь-які системні облікові записи, які, можливо, потрібно було б створити, не змішалися з UID, призначеними користувачам.
/etc/login.defs
До речі, число 500 наводиться в рух з допомогою цієї настройки в файлі конфігурації, /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
Ви можете змінити це на все, що завгодно, якщо хочете змінити поведінку за замовчуванням на useradd
/ adduser
команди.
Сторінка чоловіка Useradd
Якщо ви подивитеся на useradd
підручну сторінку, ви помітите цю частину, в якій обговорюється значення за замовчуванням для GID, але цей коментар також застосовний і до UID:
витяг
-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.
Системні рахунки
Ще одна річ, на яку слід звернути увагу на useradd
сторінці man, - це цей біт щодо створення облікових записів системи.
витяг
-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.
Саме цей метод ( useradd -r ...
) часто використовується за допомогою сценаріїв, які вбудовані в різні керування пакетами, такі як RPM, коли пакет встановлюється. Сценарій цього способу дозволяє системі автоматично вибирати наступний доступний UID / GID для даної системи без ризику наступати на вже UID / GID, які вже призначені користувачам системи.