limits.conf
配置文件用于限制与用户、域和进程相关的度量。Limits.conf与 pam_limits
模块。
limits.conf配置文件
有一个名为limits.conf的配置文件 位于/etc/security/ . 此文件的默认内容如下所示。我们可以看到有不同的列命名为 domain
, type
, item
和 value
.
## #* soft core 0 #root hard core 100000 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #ftp - chroot /ftp #@student - maxlogins 4
正如我们所看到的,所有的配置都被注释了,所以它们不是有效的。还有一个目录,用于将配置文件存储在一个单独的文件中,以便于维护。这个位置是 /etc/security/limits.d/
. 它默认为空,但是我们可以很容易地在这个目录中创建规则。
limits.conf语法
Limits.conf文件具有简单可靠的语法。定义此语法可以轻松设置上下文、类型、限制和相关值。我们将在下面查看所有这些术语。
域
在限制配置的同时,我们需要指定上下文。这个内容可以用各种方式和各种参数来定义。规则的第一列是域。域可以是以下值之一。
- 用户名
- 组名字
-
*
指定全部 - 用户ID
- 用户组
类型
虽然限制有两种类型的限制实现。这些被称为 hard
和 soft
. 硬限制由根设置并由内核强制执行。不能超过硬限制。软限制有一些范围过载。但超载可能会持续一段时间,不可能永远持续下去。
相关文章: 如何在Linux中为无密码和基于公钥的身份验证创建和设置SSH密钥?
项目
项目是限制的核心。项目用于指定将应用限制的项目。例如,如果我们想限制最大进程数,我们将使用nproc 数字。以下是一些可用于限制操作的项目。
-
fsize
指定最大文件大小 -
nofile
指定文件大小的最大数目 -
cpu
指定最大CPU时间 -
nproc
指定最大进程数 -
maxlogins
指定最大登录次数 -
maxsyslogins
指定所有用户的最大登录次数
指定限制用户
现在我们可以从例子开始。如前所述,我们可以根据用户名限制相关项目。在下面的规则中,我们将指定用户名的限制 ismail
我们在第一列中指定用户名。
ismail hard core 100000
在这个例子中,我们设置 core
或CPU值限制 1000000
用户名 ismail
作为 hard
指定限制组
在本例中,我们可以指定用户组名称的限制。如果我们想限制某些用户组名,这种类型的限制可能很有用。
@apache hard nproc 20
在本例中,我们指定 apache
要限制的组名 process
最大数量 20
使用通配符限制
在指定域或用户和组时,我们可能需要为系统中的所有用户和组设置限制。在这里我们将使用* 或者通配符。
* hard rss 10000
在这个例子中,我们设置 rss
此系统中所有用户和组的限制。
相关文章: Linux Dig命令教程及示例
指定限制的用户ID范围
我们要指定限制某些用户。但它们不在用户组中,我们不希望或可以为这些组创建组。一个接一个地指定限制是个问题。我们可以像下面这样指定多个用户。但限制是我们将指定范围。
1000:1010 hard rss 10000
上述规则将应用于那些用户ID之间的用户 1000
和 1010
. 这个 :
用于指定范围的运算符。
指定限制的组ID范围
与前面的用户范围类似的定义是组范围。我们将指定组ID范围,如下所示。
@500:510 hard rss 10000
在本例中,规则将应用于500之间的组ID 和510。我们用@ 运算符将ID指定为组和 :
范围。
限制进程数
现在我们将开始研究要使用的不同项目类型。有更多的项目比这里描述的,但这些是最流行的。第一个例子是限制用户的进程数。
ismail hard nproc 20
在本例中,我们使用nproc限制进程数 项目。规则将应用的用户是ismail 此用户可以拥有的最大进程数为 20
限制CPU时间
另一个有用的限制是CPU时间。我们可以设置CPU时间的限制。
ismail soft cpu 10000
在这个例子中,我们应用了最大 10000
用户周期 ismail
通过使用 cpu
项目。
相关文章: HMAC(基于Hach的消息认证码)教程
限制打开的文件数
我们可以限制用户可以及时打开的文件数量。如果系统中有许多用户访问这些文件,这对于防止磁盘瓶颈非常有用。
ismail hard nofile 512
在本例中,我们指定用户 ismail
只能打开 512
文件或文件描述符 nofile
项目。
限制登录次数
默认情况下,用户可以在系统中拥有无限数量的连接、会话或登录。这可能会给系统带来一些安全或性能问题。我们可以限制一下。
@student - maxlogins 4
在这些例子中,我们限制学生 组的用户登录计数。我们使用MaxLogin 对于学生组中的每个用户。最大登录次数不能超过 4
.
限制系统登录次数
在前面的示例中,我们限制了作为用户群的最大登录次数。我们还可以指定系统范围内的登录总数。这种限制在一般情况下是有效的。
* - maxsyslogins 40
在本例中,我们限制所有用户和组,但实际上,这不是基于用户或组的限制。我们在整个系统内设置并使用此规则 maxsyslogin
项目为 40
限制最大文件大小
我们可能要限制文件大小。这个限制在temp或类似的使用类型文件中很有用。
@student - fsize 4000000
在本例中,我们将学生的单个文件大小限制为4000000 . 这是一个 KB
或千字节。所以这个例子的意思是 4 GB
. 我们使用 fsize
作为项目类型。