combien de comptes d'utilisateurs un hôte de type OS peut-il héberger? [dupliquer]

13

Disons que je veux avoir un serveur avec autant de comptes d'utilisateurs que possible. Combien coûte le max?

Je veux des millions de comptes d'utilisateurs. C'est fou? J'hébergerais des dizaines de miroirs d'équilibrage de charge de la boîte, et les données utilisateur seraient stockées sur un partage de stockage hautement disponible, tandis que toutes les autres données sont supposées volatiles.


la source
"I want millions of user accounts. Is that crazy?"- Oui. Utilisez un répertoire pour autant d'utilisateurs, pas des dizaines de miroirs pour autant d'utilisateurs.
MDMarra
Est-ce que cela répond à votre question? Nombre maximum d'utilisateurs sur Linux
malat

Réponses:

22

Théoriquement, vous pouvez avoir autant d'utilisateurs que l'espace d'ID utilisateur le prend en charge. Pour déterminer cela sur un système particulier, consultez la définition du uid_ttype. Il est généralement défini comme unsigned intou intsignifiant que sur les plates-formes 32 bits, vous pouvez créer jusqu'à près de 4,3 milliards d'utilisateurs. Sur les plates-formes 64 bits, vous pouvez avoir plus de 16e18 ID utilisateur différents.

Cependant, d'autres ressources peuvent s'épuiser avant d'atteindre cette limite, par exemple l'espace disque. Si vous créez un répertoire personnel pour chaque utilisateur, même avec seulement 1 Mo d'espace pour chaque utilisateur, vous avez besoin de plus de 4 Po de stockage. De plus, un grand nombre d'utilisateurs laissant les processus s'exécuter en arrière-plan, la planification de tâches cron, l'ouverture de sessions ftp et / ou ssh peuvent créer une lourde charge pour le système.

Adam Zalcman
la source
1
+1 pour mentionner les ressources ... Là encore, les systèmes de type Unix permettent des configurations matérielles folles.
HTDutchy
Êtes-vous sûr de la différence entre 32 bits et 64 bits? Pouvez-vous ajouter une référence? Voici ce que je trouve 1 et 2
malat
8

Jusqu'à ce que l'espace UID soit épuisé. Les systèmes contemporains utilisent des entiers non signés 32 bits, avec 65535 et 4294967295 étant des valeurs magiques pour "tout" / "inconnu" / etc., donc il y a de la place pour 4294967294 utilisateurs distincts simultanés. Les anciens systèmes peuvent toujours afficher des entiers non signés 16 bits.

jørgensen
la source
1

D'autres réponses ont littéralement répondu à la question d'OP concernant des limites spécifiques. Étant donné la nature de la SF comme référence à long terme également, je pense qu'il est important de signaler une mise en garde très importante sur l'approche que vous envisagez.

Vous souhaitez utiliser un service d'annuaire pour gérer les comptes d'utilisateurs à cette échelle. C'est exactement le problème pour lequel les services d'annuaire [par exemple OpenLDAP, Active Directory, et al.] Ont été conçus.

L’utilisation d’outils utilisateur «standard» [1] Unix pour gérer plus d’une poignée de comptes d’utilisateurs locaux est une voie très usée et douloureuse, qui ne s’adaptera pas très facilement et - compte tenu de la description de votre problème - entraînera très probablement une la ré-architecture de la solution que vous avez choisie lorsqu'elle ne se transforme pas en fait horizontalement avec plusieurs serveurs.

[1] Ils fonctionnent généralement de manière très similaire, mais les incantations exactes varient d'une plate-forme à l'autre, sont parfois différentes même dans des distributions Linux d'héritage similaires et bien sûr sont régulièrement modifiées avec les versions des versions du système d'exploitation. Caveat emptor.

Mark Glossop
la source
0

Comme ci-dessus, vous êtes théoriquement limité par la taille int non signée de l'UID, mais vous serez probablement limité par les ressources actuellement avant d'atteindre cette limite.

mwil7034
la source