多less个用户帐户可以有一个类似Unix的OS主机?

比方说,我想有一个尽可能多的用户帐户的服务器。 最多几个?

我想要数百万用户帐户。 那是疯了吗? 我会主持几十个盒子的负载平衡镜像,用户数据将被存储在一个高度可用的存储共享,而所有其他数据被认为是不稳定的。

理论上你可以拥有与用户ID空间支持一样多的用户。 要在特定的系统上确定这个,请检查uid_ttypes的定义。 它通常被定义为unsigned intint这意味着在32位平台上可以创build近43亿用户。 在64位平台上,您可以拥有16个以上不同的用户ID。

但是,在达到此限制之前,其他资源可能会耗尽,例如磁盘空间。 如果你为每个用户创build一个主目录,那么即使每个用户只有1MB的空间,你也需要超过4PB的存储空间。 另外,大量的用户在后台运行,调度cron作业,打开ftp和/或ssh会话会给系统带来严重的负担。

直到UID空间耗尽。 当代系统使用32位无符号整数,65535和4294967295是“任何”/“未知”/等的魔术值,因此有4294967294个并行不同用户的空间。 旧的系统可能仍然显示16位无符号整数。

如上所述,理论上受到UID无符号整数大小的限制,但在达到上述限制之前,很可能会受到目前资源的限制。

其他的回答也直接回应了OP关于具体限制的问题。 鉴于SF的性质也是一个长期的参考,我认为对你正在考虑的方法提出一个非常重要的警告是非常重要的。

想要使用目录服务来pipe理这种规模的用户帐户。 目录服务(如OpenLDAP,Active Directory等)的devise就是这个问题。

使用“标准的”Unix用户工具来pipe理一个以上的本地用户帐户是一个充满痛苦的老旧path,不会非常容易扩展,并且 – 考虑到您的问题描述 – 很可能会导致重大当您select的解决scheme实际上并没有在多个服务器上进行横向扩展时,重新devise您的解决scheme。

[1]他们通常工作非常相似,但是确切的咒语因平台而异,甚至在类似的传统Linux发行版中也有所不同,当然也会随着操作系统版本的不同而发生变化。 买者自负。