如何确定修改 /etc/security/limits.conf 生效
时间: 2023-09-18 12:07:13 浏览: 52
要确定修改 /etc/security/limits.conf 文件生效,您可以按照以下步骤进行操作:
1. 在终端中运行以下命令以重新启动 PAM(Pluggable Authentication Modules):
```
sudo /etc/init.d/login restart
```
2. 在新的终端中,运行以下命令以检查您所做的更改是否生效:
```
ulimit -a
```
如果您看到输出中包含您所做的更改,则表示您的限制已经生效了。如果您没有看到输出中包含您所做的更改,则请检查您的更改是否正确,并尝试重新启动您的系统。
请注意,还有其他因素可能会影响您的限制,例如使用 su 或 sudo 切换用户时所使用的 shell。如果您使用的是不同的 shell,则可能需要在该 shell 中重新加载限制。
相关问题
/etc/security/limits.conf修改不生效
如果你修改了`/etc/security/limits.conf`文件后并不生效,可能有以下原因:
1. 没有重启(或重新登录)。在修改`/etc/security/limits.conf`文件后,需要重启(或重新登录)才能使更改生效。
2. 没有添加正确的语法。在`/etc/security/limits.conf`文件中,每个限制条目都必须按照正确的语法格式来添加。正确的格式为:
```
<domain> <type> <item> <value>
```
其中:
- `<domain>`:表示要应用限制的用户或用户组。
- `<type>`:表示要限制的资源类型,如`soft`或`hard`。
- `<item>`:表示要限制的具体资源,如`nofile`或`cpu`。
- `<value>`:表示限制的具体值,如`1000`或`unlimited`。
例如,要将所有用户的最大打开文件数限制为1000,可以添加以下行:
```
* soft nofile 1000
* hard nofile 1000
```
请注意,`*`表示所有用户。
3. 存在其他配置文件覆盖了`/etc/security/limits.conf`的配置。在某些情况下,其他配置文件可能会覆盖`/etc/security/limits.conf`文件的设置。例如,如果使用了PAM(Pluggable Authentication Modules),则可能需要编辑`/etc/pam.d/common-session`文件以应用限制。在这种情况下,可以将以下行添加到`/etc/pam.d/common-session`文件的末尾:
```
session required pam_limits.so
```
这将确保`/etc/security/limits.conf`中的限制得以应用。
如果你确定以上原因都不存在,但修改仍然不生效,可以尝试重新安装`libpam-modules`和`libpam-modules-bin`包。命令如下:
```
sudo apt-get purge libpam-modules libpam-modules-bin
sudo apt-get install libpam-modules libpam-modules-bin
```
然后重启系统,看看是否生效。
修改 /etc/security/limits.conf后怎么生效
在修改 /etc/security/limits.conf 文件后,需要重新登录或者重新启动才能使修改生效。这是因为 limits.conf 文件只会在用户登录时读取一次,并将限制值设置为进程的默认值。如果要立即使修改生效,可以使用以下命令:
1. 重新登录:关闭当前终端,重新打开一个终端并登录即可。
2. 执行 `su - <username>` 命令:对于修改的是某个用户的限制值,可以切换到该用户并重新登录,例如执行 `su - testuser` 命令。
3. 执行 `ulimit -a` 命令:该命令可以显示当前 shell 进程的所有限制值,包括从 limits.conf 文件中读取的值。如果看到修改后的值已经生效,那么说明修改成功。
4. 执行 `sysctl -p` 命令:该命令可以重新加载系统的配置文件,包括 limits.conf 文件。执行该命令后,会输出重新加载的配置文件列表,如果列表中包含了 limits.conf 文件,那么说明修改已经生效。