ulimit 是一个用于控制 shell 进程资源限制的命令行工具。通过合理地设置 ulimit 参数,可以提升 CentOS 系统的安全性。以下是一些建议:
限制打开文件描述符的数量:
打开文件描述符的数量限制可以通过 ulimit -n 命令查看和设置。为了防止恶意进程消耗大量文件描述符,可以适当降低此值。例如,将打开文件描述符的数量限制为 1024:
ulimit -n 1024
要使更改永久生效,请在 /etc/security/limits.conf 文件中添加以下行:
* soft nofile 1024
* hard nofile 1024
限制进程数:
通过 ulimit -u 命令查看和设置允许的最大用户进程数。为了防止恶意用户创建大量进程,可以适当降低此值。例如,将最大进程数限制为 512:
ulimit -u 512
要使更改永久生效,请在 /etc/security/limits.conf 文件中添加以下行:
* soft nproc 512
* hard nproc 512
限制 CPU 时间:
通过 ulimit -t 命令查看和设置允许的最大 CPU 时间(单位:秒)。为了防止恶意进程消耗过多 CPU 资源,可以适当降低此值。例如,将最大 CPU 时间限制为 3600 秒:
ulimit -t 3600
要使更改永久生效,请在 /etc/security/limits.conf 文件中添加以下行:
* soft cpu 3600
* hard cpu 3600
限制内存使用:
通过 ulimit -v 命令查看和设置允许的最大虚拟内存(单位:KB)。为了防止恶意进程消耗过多内存资源,可以适当降低此值。例如,将最大虚拟内存限制为 512000 KB:
ulimit -v 512000
要使更改永久生效,请在 /etc/security/limits.conf 文件中添加以下行:
* soft as 512000
* hard as 512000
限制锁定的内存大小:
通过 ulimit -l 命令查看和设置允许的最大锁定内存(单位:KB)。为了防止恶意进程消耗过多内存资源,可以适当降低此值。例如,将最大锁定内存限制为 65536 KB:
ulimit -l 65536
要使更改永久生效,请在 /etc/security/limits.conf 文件中添加以下行:
* soft memlock 65536
* hard memlock 65536
请注意,根据您的系统需求和应用程序需求,您可能需要根据实际情况调整这些值。在更改任何设置之前,请确保充分了解这些更改的影响。