В проекте Fedora есть список передовых методов .
По сути, идея состоит в том, что если пакету требуется определенная группа, управление пользователями / группами должно осуществляться с помощью сценария установки rpm с использованием useradd
или groupadd
и должно использоваться ] getent
, чтобы определить, существует ли уже нужный пользователь или группа. Это позволяет администраторам гибко управлять пользователями / группами системы, например через службы каталогов, такие как LDAP, которые в противном случае могли бы управляться пакетом. С другой стороны, дистрибутивы должны заранее выделять UID и GID для пользователей и групп, которые будут созданы пакетами, чтобы гарантировать, что, если пользователь / группа устанавливается пакетом и не управляется локальным администратором, UID и Идентификаторы GID согласованы во всех системах, работающих на одной платформе.
Я понимаю, что это старый вопрос, но я пришел сюда, пытаясь найти, как создавать группы в файле спецификации rpm. Надеюсь, следующее будет полезно.
Чтобы проверить, существует ли группа, и посмотреть, какие пользователи являются ее частью, используйте, например,
getent group root
для группы «root».
Я также нашел следующий полезный стандартный способ добавления групп в файл спецификации rpm: Создание пользователя и группы внутри rpm
в разделе% pre [файла спецификации rpm] убедитесь, что вы правильно создаете пользователей / группы (см. «rpm -q --scripts ...» для примеров того, как это делают пакеты RHEL, вы можете или не захотите использовать «системных пользователей» (uid <500 ), так далее.).
Я посмотрел на rtkit в качестве примера
rpm -q --scripts rtkit-0.11-10.fc21.x86_64
preinstall scriptlet (using /bin/sh):
getent group rtkit >/dev/null 2>&1 || groupadd -r -g 172 rtkit