我想知道答案,因为我找不到任何地方。
它取决于最大UID和PID。UID是32位,因此可以是4,294,967,296,但是PID范围较窄:2^22,这完全是: 4,194,304 。这是理论上的最大值;在现实世界中,已经有一些运行的守护程序,因此大约400万。(在32位上只有32,768)
您可以使用" word count"命令如下:
users | wc -w
理论上,您可以拥有与用户ID空间支持一样多的用户。要在特定系统上确定这一点,请查看UID_T类型的定义。通常将其定义为unsigned_int或int。在英特尔体系结构上,尺寸在/usr/include/bits/typsizes.h
中定义。您可以通过在终端上输入以下命令来检查系统中此变量的值
cat /usr/include/bits/typesizes.h | grep UID_T
在我的系统中,此命令的输出显示:
定义__UID_T_TYPE __U32_TYPE
这意味着系统可以托管4294967296(2^32)不同的用户。但是,在达到此限制之前,其他资源可能会筋疲力尽,例如磁盘空间。如果您为每个用户创建一个主目录,那么即使为每个用户的空间只有1MB,您也需要超过4pbs的存储空间。此外,大量的用户离开流程在后台运行,安排CRON作业,打开FTP和/或SSH会话可能会在系统上造成严重的负担。
同时登录的限制:
登录使用SSH时,您会使用分配给SSH守护程序的伪末端(一个PTY),而不是真实的末端(TTY)。根据需要创建和破坏伪末端。您可以找到一次由
一次分配的PTY数量 cat /proc/sys/kernel/pty/max
在我的系统中,此命令的输出显示:
4096
这意味着4096个用户可以同时登录该计算机(远程登录)。
ps:我的Linux分布是64位Fedora 23
PS.PS: Please don't forget to mark answered. And hit my rating. Thank you :)