ulimit
是一个用于控制 shell 进程资源使用的命令行工具。通过限制用户和进程的资源使用,可以提高 CentOS 系统的安全性。以下是一些建议:
限制打开文件描述符的数量:
打开文件描述符的数量限制可以通过 ulimit -n
命令查看和设置。为了防止恶意程序打开大量文件描述符耗尽系统资源,可以适当降低此值。例如,将打开文件描述符的数量限制为 1024:
ulimit -n 1024
限制进程数:
通过 ulimit -u
命令可以限制用户可以同时运行的最大进程数。这可以防止恶意用户或程序创建大量进程,消耗系统资源。例如,将最大进程数限制为 512:
ulimit -u 512
限制CPU时间:
使用 ulimit -t
命令可以限制用户进程可以使用的最大CPU时间(以秒为单位)。这可以防止恶意程序长时间占用CPU资源。例如,将最大CPU时间限制为 3600 秒:
ulimit -t 3600
限制内存使用:
使用 ulimit -v
命令可以限制用户进程可以使用的最大虚拟内存(以KB为单位)。这可以防止恶意程序消耗过多内存资源。例如,将最大虚拟内存限制为 512000 KB:
ulimit -v 512000
限制数据段大小:
使用 ulimit -d
命令可以限制用户进程的数据段大小(以KB为单位)。这可以防止恶意程序分配过多内存。例如,将数据段大小限制为 204800 KB:
ulimit -d 204800
限制堆栈大小:
使用 ulimit -s
命令可以限制用户进程的堆栈大小(以KB为单位)。这可以防止恶意程序分配过多内存。例如,将堆栈大小限制为 8192 KB:
ulimit -s 8192
限制核心文件大小:
使用 ulimit -c
命令可以限制核心文件的大小(以块为单位)。这可以防止恶意程序生成过大的核心文件,占用磁盘空间。例如,将核心文件大小限制为 0(禁止生成核心文件):
ulimit -c 0
请注意,这些限制仅对当前 shell 会话有效。要使这些更改永久生效,可以将相应的 ulimit
命令添加到用户的 ~/.bashrc
或 /etc/profile
文件中。另外,某些限制可能需要 root 权限才能修改。