Руководящие сервисные учетные записи в спецификации об/мин

Мне дали частично полную спецификацию об/мин для сервиса, который мы пишем. Это добирается до создания необходимых каталогов, копирования файлов, установки полномочий, и т.д., но это не заставляет необходимую систему считать это, услуга будет работать под. Мне сказали, что лучше для об/мин заботиться об этом, таким образом, я добавил

Requires(pre): /usr/sbin/useradd

%pre
useradd -r -d /path/to/program -s /bin/false myservice

Это преуспевает в том, чтобы делать учетную запись пользователя (и связанная группа), поэтому позже, когда она пытается установить владение / полномочия на файлах сервиса, который успешно выполняется также.

Моя текущая проблема, a), если учетная запись пользователя уже существует, сбои установки об/мин потому что useradd сбои (потому что пользователь уже существует); и b), который я не знаю, как иметь rpm -e myservice также удалите связанного пользователя и группу.

16
задан 27.07.2010, 22:38

1 ответ

Я на самом деле решил это независимо путем рассмотрения других спецификаций об/мин, которые сделали подобные вещи. Если Вы просто хотите добавить пользователя (условно), используйте ссылку Ignacio. Я сделал это:

Requires(pre): /usr/sbin/useradd, /usr/bin/getent
Requires(postun): /usr/sbin/userdel

%pre
/usr/bin/getent group myservice || /usr/sbin/groupadd -r myservice
/usr/bin/getent passwd myservice || /usr/sbin/useradd -r -d /path/to/program -s /sbin/nologin myservice

%postun
/usr/sbin/userdel myservice

Это удостоверяется, что об/мин "моется после себя", но все еще обеспечивает способность установить, даже если учетная запись уже существует.

18
ответ дан 07.12.2019, 10:51

Теги

Похожие вопросы