プライマリ管理者のUID 501はなぜですか?


11

プライマリー管理ユーザーが、ユーザーのIDを与えている*私が理解501し、後続のユーザーは、増分番号を取得(502503、...)。しかし、なぜ501ですか?の何が特別で50x、この選択の歴史的/技術的理由は何ですか?

*外付けハードドライブにすべてのゴミ箱にあるファイルが含まれている理由を知りたくて、これを調べ始めました.Trashes/501。私の検索で結論に至ったの501は、* nixシステムのプライマリ管理者のユーザーID(macOSを使用しています)ですが、理由ではありません。


7
プライマリ管理者のUIDは0だと思いました!
Jeff Schaller

回答:


21

多くのUnixシステムは、特定の番号でユーザーにUIDを配布し始めます。Solarisは最初の汎用ユーザーUID 100を提供します。OpenBSDでは1000です。macOSでは、最初に作成された対話型ユーザーのUIDであるUID 501と思われます。 rootユーザーとして)。

数字の小さいアカウントは、デーモンなどのシステムユーザーアカウントです。これにより、インタラクティブな「人間の」アカウントとシステムサービスアカウントを簡単に区別できます。これにより、さまざまなソフトウェアでのユーザー管理、認証なども簡単になります。YP / NIS、複数のクライアントマシン上のローカルユーザを作成することなく、中央サーバー上のユーザーアカウント(およびその他の情報)を保持するためのわずかに時代遅れのシステムは、例えば、有しMINUID及びMAXUIDユーザの範囲で設定することは、扱うべきであることを占めています。

一部のUnicesでは、システムサービスアカウントの範囲が、FreeBSDではUID 50〜999、OpenBSDでは500〜999などのサードパーティソフトウェアに割り当てられる場合があります。

これらの範囲はすべて、オペレーティングシステムの予想されるニーズに応じて、個々のUnicesのメーカーおよび保守担当者によって選択されます。POSIX標準はこれらのことについて何も述べていません。割り当て可能な最低および最高のUID(およびGID)は、多くの場合、ローカル管理者が構成できます(adduserマニュアルを参照)。

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

(UID 0が常に存在するroot(または存在しない)に関するコメントを参照してください。これは、このトピックからわずかに逸脱しています)


更新:OpenBSDプロジェクトは最近、UID / GID割り当てをランダム化するアイデアを拒否しました。


これらは単に規約にすぎないことにも注意してください。UnixおよびUnixライクなシステムでは、UIDに関して本質的に魔法のようなものはありません。ルートは、任意65535のUID及び第インタラクティブユーザがUID 0として割り当てることができる与えることができる
ダグR.

@DougR。恐らく、しかしそれは多くの既存のソフトウェアを壊す可能性が非常に高いでしょう。POSIXは、プロセスにユーザーではなく「適切な特権」が必要であると言う傾向があります。:また、(一部のシステムでは、「スーパーユーザ」としてUID 0に言及)「適切な権限」の定義を参照してください。pubs.opengroup.org/onlinepubs/9699919799/xrat/...
Kusalananda

あなたのように明確に述べていなくても、ユーザーに対する特権は私のコメントのポイントでした。壊れる唯一のソフトウェアは、特定の範囲内にあるUIDに依存するソフトウェアです。何をしているのかはわかりません
ダグR.


8

LSBに従う配布では、UIDとGID 0〜99を静的に割り当てます。UID 100〜499は動的に割り当てられますが、これらもシステム用であり、ログインアカウント用ではありません。

たとえば、のような印刷デーモンにcupsは、独自のユーザーアカウントが割り当てられる傾向があります。そのため、デーモンの脆弱性が悪用された場合、デーモンはrootシステムの全力で実行されていません。(また、他のデーモンに干渉する力もありません)。

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

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

Debianにはさらに静的割り当てがありますUIDGID100。ただし、この偏差が特定の問題を引き起こすことは想像できません。

UID 500をさらに予約する、1つずつずれた別のシステムを想像するのは簡単です(これはまだ準拠していると思います。更新中です)。

最初のログインアカウントは、管理者アカウントまたはプライマリ管理者アカウントである必要はありません。システムは必ずしも使用する必要はありませんsudo(特に、それより前の場合は:)。rootその場合、「プライマリ管理者アカウント」と言うかもしれません。それ以外は、* nixおよび汎用Linuxディストリビューションは特定の「プライマリ管理者アカウント」を認識しません。


OPは特にマックOS X.について尋ねられたときにわからない、なぜあなたは、Linux、について話している
からCVn

> 7時間前に編集> in * nix systems
sourcejedi

4
On more recent Linux distributions, the system range is extended up to 999.-私には常に1000以上のユーザーIDがあり、2005年にLinuxを使い始めました。これを「最近」とは呼びません。
MirekDługosz

Debianでは100は静的だと思うのはなぜですか?私のシステムのいくつかを見ると、動的に見えます(1つはsystemd-timesync、もう1つはsshd)。
プラグウォッシュ

質問がUTC 12:22に編集されたとき、OPは質問本文にOS Xの言及とともに[osx]タグを追加しました。あなたの回答は10分後に投稿されましたが、これはまったく考慮されていません。
CVn 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.