カスタムパッケージ(RedHatと互換性)のシステムユーザーIDを選択するには?

カスタムパッケージ(RedHatと互換性)のシステムユーザーIDを選択するには?

カスタム.rpmパッケージで作成されたシステムユーザーの正しいuid(または)を選択するにはどうすればよいですか?gid

このユーザーは、ルートではなくデーモンを実行するために使用されます。

adduser次のIDを省略して選択することは、--uid公式パッケージの修正と競合する可能性があるため許容できないと思います。uidまた、これにより、異なるIDを持つ複数のシステムが生成され、追加の管理がより困難になる可能性があります。

利用可能な未使用または予約されていない範囲はありますかuid(ローカル環境で再利用されない限り)?uid/を生成するアルゴリズムはありますかgid

この問題はRedHat EL 6+、CentOS 6+、およびFedoraに適用されます。パッケージの.srpmまたは.specを公開する必要があります。

答え1

これRHEL6移行ガイドドキュメントには、現在約200個の静的に割り当てられたUIDのリスト/usr/share/doc/setup-*/uidgidと、499個からカウントダウンされる動的システムユーザーのリストが含まれています。

私はこれを「adduser -rこの場合使用してください。300人以上を維持している場合はもちろん心配しないでください。何百人ものシステムユーザーがいない場合、競合は発生しません」と解釈します。

答え2

adduserユーザーIDを選択しましょうはい正しい方法。自動的に割り当てられたUIDと静的に割り当てられたUIDは異なる範囲にあるため、公式パッケージと競合しません。はい、これはシステム全体で異なるユーザーIDを引き起こします。世界中のすべてのシステム管理者とパッケージ作成者に、「このユーザーIDを使用しないでください。私のものです」と伝える必要があるため、これを行う簡単な方法はありません。

特に、adduser -r自動的に割り当てられたシステムアカウント用に予約された範囲でユーザーを作成するために使用されます。これにより、UIDは動的に割り当てられた他のUID(adduserまだ存在していないUIDを選択したため)、静的に割り当てられたUID、またはエンティティユーザーのUID(異なる範囲にあるため)と競合しません。

詳細については、次を参照してください。Fedoraのパッケージングガイド

関連情報