私たちが書いているサービスの部分的に完全なRPM仕様が与えられました。必要なディレクトリの作成、ファイルのコピー、アクセス許可の設定などが行われますが、サービスが実行される必要なシステムアカウントは作成されません。RPMがこれを処理するのが最善であると言われたので、
Requires(pre): /usr/sbin/useradd
%pre
useradd -r -d /path/to/program -s /bin/false myservice
これにより、ユーザーアカウント(および関連付けられたグループ)が作成されるので、後でサービスのファイルに所有権/アクセス許可を設定しようとすると成功します。
私の現在の問題は、a)ユーザーアカウントが既に存在する場合、RPMのインストールは失敗するためですuseradd
(ユーザーが既に存在するため)。およびb)rpm -e myservice
関連するユーザーとグループも削除する方法がわかりません。
// FPMの使用を検討しますか?
—
ネイサンバサネーゼ