UnixライクなOSホストでいくつのユーザーアカウントを使用できますか?[複製]


13

できるだけ多くのユーザーアカウントを持つサーバーが必要だとしましょう。最大はいくつですか?

何百万ものユーザーアカウントが必要です。クレイジーですか?多数の負荷分散ミラーをホストし、ユーザーデータは可用性の高いストレージ共有に保存されますが、他のすべてのデータは揮発性であると想定されます。


"I want millions of user accounts. Is that crazy?"- はい。この多数のユーザー用の多数のミラーではなく、この多数のユーザー用のディレクトリを使用します。
MDマーラ

これはあなたの質問に答えますか?Linuxでの最大ユーザー数
Malat

回答:


22

理論的には、ユーザーIDスペースがサポートする数のユーザーを持つことができます。特定のシステムでこれを判断するには、uid_tタイプの定義をチェックアウトします。これは通常のように定義されるunsigned intか、int32ビットプラットフォーム上で使用すると、ほとんど43億ユーザまで作成できることを意味します。64ビットプラットフォームでは、16e18を超える異なるユーザーIDを使用できます。

ただし、ディスク容量など、この制限に達する前に他のリソースが使い果たされる可能性があります。ユーザーごとにホームディレクトリを作成する場合、ユーザーごとに1 MBの空き容量がある場合でも、4 PBを超えるストレージが必要です。また、多数のユーザーがプロセスをバックグラウンドで実行したままにしたり、cronジョブをスケジュールしたり、ftpセッションやsshセッションを開いたりすると、システムに深刻な負荷がかかる可能性があります。


1
リソースに言及するための+1 ...さらに、Unixのようなシステムでは、非常識なハードウェア構成が可能になります。
HTDutchy

32ビットと64ビットの違いは確かですか?参照を追加できますか?ここで私は見つけるものです1及び2
malat

8

UIDスペースがなくなるまで。現代のシステムは32ビットの符号なし整数を使用します。65535と4294967295は「any」/「unknown」/ etcのマジック値であるため、4294967294の同時個別ユーザーの余地があります。古いシステムでは、16ビットの符号なし整数が表示される場合があります。


1

その他の回答は、特定の制限に関するOPの質問に文字通り回答しました。SFの性質も長期的な参照として与えられているので、考えているアプローチについて非常に重要な警告を指摘することが重要だと思います。

あなたは欲しい、この規模でユーザーアカウントを管理するためのディレクトリ・サービスを使用しているように。ディレクトリサービス[OpenLDAP、Active Directoryなど]が設計されたのはまさに問題です。

「標準」[1] Unixユーザーツールを使用して少数のローカルユーザーアカウントを管理することは、使い古された苦痛に満ちた経路であり、非常に簡単にスケーリングできません。実際に複数のサーバーで水平方向にスケーリングしない場合に、選択したソリューションを再設計します。

[1]それらは一般に非常によく似ていますが、正確な呪文はプラットフォームごとに異なり、類似の伝統的​​なLinuxディストリビューションでさえ時々異なり、もちろんOSリリースバージョンで定期的に変更されます。買い手責任負担。


0

上記のように、理論的にはUID unsigned intサイズによって制限されますが、上記の制限に達する前に現在のリソースによって制限される可能性が高いでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.