ulimit 是一个用于控制 shell 启动进程的资源限制的命令。通过使用 ulimit,您可以限制用户或进程可以使用的资源,从而提高系统安全性。以下是一些建议:
限制打开文件描述符的数量:
打开文件描述符的数量限制可以通过 ulimit -n 命令设置。限制打开文件描述符的数量可以防止恶意用户或程序耗尽系统资源。
ulimit -n 1024
限制进程数:
通过 ulimit -u 命令限制用户可以创建的最大进程数。这可以防止恶意用户创建大量进程,从而消耗系统资源。
ulimit -u 100
限制CPU时间:
使用 ulimit -t 命令限制进程可以使用的最大CPU时间。这可以防止恶意用户或程序长时间占用CPU资源。
ulimit -t 300
限制内存使用:
使用 ulimit -v 命令限制进程可以使用的最大虚拟内存。这可以防止恶意用户或程序消耗过多内存资源。
ulimit -v 512000
限制数据段大小:
使用 ulimit -d 命令限制进程的数据段大小。这可以防止恶意用户或程序创建过大的内存映射文件。
ulimit -d 262144
限制堆栈大小:
使用 ulimit -s 命令限制进程的堆栈大小。这可以防止恶意用户或程序创建过大的堆栈。
ulimit -s 8192
限制核心文件大小:
使用 ulimit -c 命令限制核心文件的大小。这可以防止恶意用户生成过大的核心文件,从而消耗磁盘空间。
ulimit -c 0
请注意,这些设置仅对当前 shell 会话有效。要永久更改这些设置,请将相应的 ulimit 命令添加到用户的 shell 配置文件(如 .bashrc 或 .bash_profile)中。另外,您还可以通过修改 /etc/security/limits.conf 文件来设置系统范围内的资源限制。