limits.conf檔案實際上是linux PAM中pam_limits.so的配置檔案,而且隻針對于單個會話。
limits.conf的格式如下:
<domain> <type> <item> <value>
domain有好幾種格式,具體可以用man limits.conf來檢視,不過一般來說,我們都是用的使用者名群組名的形式:username|@groupname
設定需要被限制的使用者名,組名前面加@和使用者名差別。也可以用通配符*來做所有的限制。
type:有soft,hard和-,soft指的是目前系統生效的設定值,軟限制也可以了解為警告值。hard表名系統中所能設定的最大值。soft的限制不能比hard限制高,用-表名同時設定了soft和hard的值。
item表明需要限制的使用資源類型
core 限制核心檔案的大小
date 最大資料大小
fsize 最大檔案大小
memlock 最大鎖定記憶體位址空間
nofile 打開檔案的最大數目
rss 最大持久設定大小
stack 最大棧大小
cpu 以分鐘為機關的最多CPU時間
noproc 程序的最大數目
as 位址空間限制
maxlogins 此使用者允許登入的最大數目
要是limits.conf檔案配置生效,必須確定pam_limits.so檔案被加入到啟動檔案中,要檢視/etc/pam.d/login檔案中有session required /lib/security/pam_limits.so
ulimit指令,用于shell啟動程序所占用的資源限制
一般可以通過使用ulimit指令或者編輯/etc/security/limits.conf重新加載的方式來使限制生效。
通過ulimit比較直接,但隻在目前的session有效,limits.conf中可以根據使用者和限制項使使用者在下次登入中生效。對于limits.conf的設定是通過pam_limits.co的加載生效的,比如/etc/pam.d/sshd這樣通過ssh登入時會加載limit又或者在/etc/pam.d/login加載生效。
轉載于:https://www.cnblogs.com/z-books/p/4191366.html