ulimit 是一个用于控制 shell 进程资源限制的命令。通过合理地设置 ulimit,可以提升 Ubuntu 系统的安全性。以下是一些建议:
-
限制同时打开的文件描述符数量:
打开文件描述符的数量可能会影响到系统的性能。通过限制每个用户可以打开的文件描述符数量,可以防止恶意用户消耗过多资源。在/etc/security/limits.conf文件中添加以下内容:* soft nofile 64 * hard nofile 128这将限制所有用户同时打开的文件描述符数量为 64,最大允许数量为 128。
-
限制进程数:
限制每个用户可以运行的进程数量,可以防止恶意用户创建大量进程,消耗系统资源。在/etc/security/limits.conf文件中添加以下内容:* soft nproc 1024 * hard nproc 2048这将限制所有用户可以运行的进程数量为 1024,最大允许数量为 2048。
-
限制内存使用:
限制每个用户可以使用的内存数量,可以防止恶意用户消耗过多内存资源。在/etc/security/limits.conf文件中添加以下内容:* soft as 512M * hard as 1G这将限制所有用户可以使用的内存数量为 512MB,最大允许数量为 1GB。
-
限制 CPU 使用:
限制每个用户可以使用的 CPU 时间,可以防止恶意用户消耗过多 CPU 资源。在/etc/security/limits.conf文件中添加以下内容:* soft cpu 50% * hard cpu 100%这将限制所有用户可以使用的 CPU 时间为 50%,最大允许数量为 100%。
-
限制 shell 命令执行时间:
限制用户可以执行的 shell 命令的最长时间,可以防止恶意用户执行耗时的命令。在/etc/security/limits.conf文件中添加以下内容:* soft maxlogins 10这将限制所有用户在一定时间内可以登录的次数。
-
使设置生效:
修改/etc/security/limits.conf文件后,需要重新登录或重启系统以使设置生效。
请注意,根据实际需求调整上述建议的值。过于严格的限制可能会影响到正常用户的操作。