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