デフォルトの管理者UIDが501の理由は何ですか?

デフォルトの管理者UIDが501の理由は何ですか?

*デフォルト管理者のユーザーIDは501であり、後続のユーザーには増分番号(502、、、503...)が付与されることを理解しています。しかし、なぜ501?何がそんなに特別であり50x、これらの選択をした歴史的/技術的理由は何ですか?

*私はなぜ私の外付けハードドライブにジャンクファイルがすべて含まれているのか疑問に思ってこの問題を調査し始めました.Trashes/501。検索501では、*nixシステム(私はmacOSを使用しています)のデフォルトの管理者ユーザーIDが正しくないと結論付けました。なぜ

答え1

多くのUnixシステムは、特定の番号を持つユーザーにUIDを発行し始めました。 Solarisは最初のユニバーサルユーザーにUID 100を提供し、OpenBSDでは1000になり、macOSではUID 501が作成された最初の対話型ユーザーのUIDになります。このユーザーはmacOS管理者でもあります(これはrootと同じではありません)。ユーザー)。

数値が低いアカウントは、デーモンなどのシステムユーザーアカウントです。これにより、対話型の「人」アカウントとシステムサービスアカウントをより簡単に区別できます。これにより、さまざまなソフトウェアでユーザー管理、認証などを簡単に作成できます。YP/NIS、複数のクライアントシステムでローカルユーザーを作成することなく、中央サーバー上のユーザーアカウント(およびその他の情報)を維持するための少し古いシステムです。たとえば、処理する必要があるユーザーアカウントの範囲設定がありますMINUIDMAXUID

一部のUnicesでは、FreeBSDのUID 50〜999、OpenBSDのUID 500〜999など、さまざまなシステムサービスアカウントをサードパーティソフトウェアに割り当てることができます。

これらすべての範囲は、オペレーティングシステムの予想要件に応じて、個々のUnicesの製造業者およびメンテナンス業者によって選択されます。 POSIX 標準は、これらの事項に言及していません。割り当て可能な最低および最高のUID(およびGID)は通常、ローカル管理者によって設定されます(adduserマニュアルを参照)。

rootほとんどのUnicesはスーパーユーザーのためにUID 0を予約し、ユーザーに可能な最も高いUID(または少なくともある程度高い値)を割り当てますnobody(SolarisはUID 60001を使用し、OpenBSDは32768を使用しますが、UIDは次のようになります)あります)。たくさんそれよりも大きい)。

root(トピックから少しずれたUID 0が常に存在するかどうかの説明を参照してください。)


アップデート:OpenBSDプロジェクト最近拒否されましたUID/GID 割り当てをランダムに指定するアイデアです。

答え2

次のディストリビューションの場合最下位ビット、UID、GID 0~99が静的に割り当てられます。 UID 100-499は動的に割り当てられますが、これはログインアカウント用ではなくシステム用でもあります。

たとえば、印刷デーモンにはcups独自のユーザーアカウントが割り当てられる傾向があります。したがって、デーモンの脆弱性が悪用されると、デーモンはrootシステムを完全に制御できるようには機能しません。 (また他のデーモンを妨げる能力が必ずしも必要ではありません。)

最新のLinuxディストリビューションでは、システムの範囲が999に拡張されています。

これにより、ログインアカウントに500以上(または1000以上)のUIDが残ります。

Debian 別のものがあります変化のない割り当てユーザーIDGID 100ですが、その偏差が特定の問題を引き起こすことは想像できません。

500の追加UIDを予約するオフセットが1の異なるシステムを想像するのは簡単です。 (私はこれがまだ規制に準拠していると思います。すべてのLinuxが更新されず、長い間LSBに違反することを想像することはできません)。

最初のログインアカウントは管理者アカウントであるか、デフォルトの管理者アカウントである必要はありません。システムが必ずしもそれを使用する必要はありませんsudo(特に古いバージョンの場合)。rootこの場合、「デフォルト管理者アカウント」と言うことができます。また、* nixおよび一般的なLinuxディストリビューションは特定の「マスター管理者アカウント」を認識しません。

関連情報