一次在linux操作系统中运行的用户总数是多少?

时间:2017-12-14 11:40:53

标签: linux operating-system

我想知道答案,因为我无法在任何地方找到它。

3 个答案:

答案 0 :(得分:0)

您可以使用"字数"命令如下:

users | wc -w

答案 1 :(得分:0)

理论上,您可以拥有与用户ID空间支持的用户数量相同的用户。要在特定系统上确定这一点,请查看uid_t类型的定义。它通常定义为unsigned_int或int。在intel架构上,大小在/usr/include/bits/typsizes.h中定义。您可以通过在终端

上键入以下命令来检查系统中此变量的值

<强> cat /usr/include/bits/typesizes.h | grep UID_T

在我的系统中,此命令的输出显示:

定义__UID_T_TYPE __U32_TYPE

这意味着系统可以托管4294967296(2 ^ 32)个不同的用户。但是,在达到此限制之前,其他资源可能会耗尽,例如:磁盘空间。如果为每个用户创建一个主目录,那么即使每个用户只有1MB的空间,您需要超过4PB的存储空间。此外,大量用户在后台运行进程,调度cron作业,打开ftp和/或ssh会话都会给系统带来严重负担。

同时登录的限制:

使用SSH登录时,使用分配给SSH守护程序的伪终端(pty),而不是真正的终端(tty)。根据需要创建和销毁伪终端。您可以通过

找到一次允许分配的ptys数

<强> 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 :) 

答案 2 :(得分:0)

取决于最大UIDPID。 UID是32位,所以它可以是4,294,967,296,但是PID range更窄:2 ^ 22,这正是: 4,194,304 。这是理论上的最大值;在现实世界中已经有一些正在运行的守护进程,所以大约400万。 (在32位,它只有32,768)