
Предположим, вы создали демон (написанный специально) и хотите создать новый uid/gid для этой программы.
Существуют ли какие-либо стандартные практики?
например
- Должны ли uid и gid быть одинаковыми?
- Должен ли идентификатор начинаться с 1000?
или любой?
Причина, по которой я спрашиваю, заключается в том, что в настоящее время я использую динамическое распределение, но когда у меня больше одной машины, кажется ли мне, что будет хорошим выбором использовать фиксированное число?
Обновление: я использую Ubuntu
решение1
- UID ниже 100 обычно зарезервированы для системных учетных записей и служб.
- UID от 100 до 1000 обычно зарезервированы для таких приложений, как Oracle, Apache и т. д.
- Обычно учетные записи пользователей начинаются с 1000 или даже выше. Учитывая количество UID, доступных в большинстве систем Unix (65 535, если не больше), вероятность исчерпания UID практически отсутствует. В 64-битной системе UID хранятся как минимум в 32-битных полях, а это значит, что максимальное значение намного выше.
Некоторые дистрибутивы, такие как RHEL, рекомендуют устанавливать частную группу пользователя (upg), которая должна иметь тот же gid, что и uid пользователя.
Вот несколько хороших руководств:
http://www.softpanorama.org/Access_control/Groups/index.shtml
http://www.softpanorama.org/Access_control/Groups/primary_group.shtml
решение2
Стандартные практики существуют для каждого дистрибутива Linux. Например, в Debian пакет для вашего демона позаботится о создании "динамически выделенного" системного пользователя и группы. Обычно каждый получает идентификатор от 100 до 999 (см.руководство по политике, раздел 9.2.2, в качестве ссылки).
Конечно, это можно считать хорошей практикой, даже если вы не упаковываете свой демон, а устанавливаете его на одной машине; поскольку они динамически распределяются, это не помешает другому программному обеспечению.