修改 /etc/security/limits.conf后怎么生效
时间: 2023-09-22 22:07:07 浏览: 467
在修改 /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 文件,那么说明修改已经生效。
相关问题
/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配置不生效,可以尝试以下解决方法:
1. 确认是否重新登录或重新启动服务:在修改/etc/security/limits.conf后,需要重新登录或重新启动服务才能使配置生效。
2. 确认是否修改正确的文件:如果你的系统是基于 systemd 的,你需要编辑 /etc/systemd/system.conf 和 /etc/systemd/user.conf ,而不是 /etc/security/limits.conf 。
3. 确认文件权限:确保/etc/security/limits.conf文件的权限正确。文件权限应该是644,所有者是root。
4. 确认是否配置正确:确保你的配置是正确的。可以使用 ulimit 命令查看当前的限制值。
如果以上方法都无效,可以尝试使用 PAM 模块来配置限制。你可以查看PAM模块的文档来了解如何配置。