ulimit 是一個用于控制 shell 啟動進程所使用的資源限制的命令。通過合理地設置 ulimit,可以提高 CentOS 系統的安全性。以下是一些建議:
臨時設置 ulimit 值:
在 shell 中,您可以使用 ulimit 命令臨時設置資源限制。例如,要限制單個用戶的最大進程數,可以執行以下命令:
ulimit -u 100
要限制文件大小,可以執行以下命令:
ulimit -f 100M
請注意,這些設置在關閉 shell 或重新啟動系統后將失效。
永久設置 ulimit 值:
要永久設置 ulimit 值,需要編輯 /etc/security/limits.conf 文件。使用文本編輯器打開文件,例如:
sudo vi /etc/security/limits.conf
在文件末尾添加以下行,以限制特定用戶或用戶組的資源使用:
username soft nproc 100
username hard nproc 150
username soft nofile 100
username hard nofile 150
將 username 替換為要限制的用戶名。soft 行表示軟限制,hard 行表示硬限制。軟限制是用戶可以自行調整的限制,而硬限制是管理員設置的最大限制。
限制系統范圍內的資源使用:
要限制整個系統的資源使用,可以編輯 /etc/sysctl.conf 文件。使用文本編輯器打開文件,例如:
sudo vi /etc/sysctl.conf
在文件末尾添加以下行,以限制最大文件描述符數量:
fs.file-max = 100000
保存并關閉文件。然后運行以下命令使更改生效:
sudo sysctl -p
監控資源使用情況:
使用 ulimit 命令和 watch 命令監控資源使用情況。例如,要每秒刷新一次最大進程數,可以執行以下命令:
watch -n 1 'ulimit -u'
通過以上方法,您可以使用 ulimit 提高 CentOS 系統的安全性。請根據您的需求調整資源限制值,并定期檢查系統資源使用情況。