Dostałem częściowo kompletną specyfikację RPM dla usługi, którą piszemy. Dochodzi do tworzenia wymaganych katalogów, kopiowania plików, ustawiania uprawnień itp., Ale nie tworzy wymaganego konta systemowego, pod którym usługa będzie działać. Powiedziano mi, że najlepiej zadbać o to RPM, więc dodałem
Requires(pre): /usr/sbin/useradd
%pre
useradd -r -d /path/to/program -s /bin/false myservice
Udaje się to utworzyć konto użytkownika (i powiązaną grupę), więc później, gdy próbuje ustawić własność / uprawnienia do plików usługi, również się to udaje.
Mój obecny problem to: a) jeśli konto użytkownika już istnieje, instalacja RPM kończy się niepowodzeniem, ponieważ useradd
kończy się niepowodzeniem (ponieważ użytkownik już istnieje); oraz b) Nie wiem, jak rpm -e myservice
usunąć powiązanego użytkownika i grupę.