Мне дали частично полную спецификацию RPM для сервиса, который мы пишем. Он доходит до создания необходимых каталогов, копирования файлов, установки разрешений и т.д., Но не создает необходимой системной учетной записи, под которой будет работать служба. Мне сказали, что RPM лучше всего позаботиться об этом, поэтому я добавил
Requires(pre): /usr/sbin/useradd
%pre
useradd -r -d /path/to/program -s /bin/false myservice
Это позволяет создать учетную запись пользователя (и связанную группу), поэтому позже, когда он пытается установить права доступа / права на файлы службы, это также успешно выполняется.
Моя текущая проблема заключается в следующем: а) если учетная запись пользователя уже существует, установка RPM завершится неудачно из-за сбоя useradd
(поскольку пользователь уже существует); и б) я не знаю, как rpm -e myservice
также удаляет связанных пользователя и группу.