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
命令可以限制用戶進程的數據段大?。ㄒ訩B為單位)。這可以防止惡意程序分配過多內存。例如,將數據段大小限制為 204800 KB:
ulimit -d 204800
限制堆棧大?。?使用 ulimit -s
命令可以限制用戶進程的堆棧大?。ㄒ訩B為單位)。這可以防止惡意程序分配過多內存。例如,將堆棧大小限制為 8192 KB:
ulimit -s 8192
限制核心文件大?。?使用 ulimit -c
命令可以限制核心文件的大?。ㄒ詨K為單位)。這可以防止惡意程序生成過大的核心文件,占用磁盤空間。例如,將核心文件大小限制為 0(禁止生成核心文件):
ulimit -c 0
請注意,這些限制僅對當前 shell 會話有效。要使這些更改永久生效,可以將相應的 ulimit
命令添加到用戶的 ~/.bashrc
或 /etc/profile
文件中。另外,某些限制可能需要 root 權限才能修改。