Linux /etc/security/limits.conf安全限制

limits.conf文件是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文

件,然后/etc/pam.d/下的应用程序调用pam_***.so模块。而且只针对于单个会话。

[root@yumserver-222 lwy]# cat /etc/security/limits.conf

# /etc/security/limits.conf

#Each line describes a limit for a user in the form:

---文件格式---

#<domain>        <type>  <item>  <value>

#Where:

 

#<domain> can be:

#        - an user name

#        - a group name, with @group syntax

#        - the wildcard *, for default entry

#        - the wildcard %, can be also used with %group syntax,

#                 for maxlogin limit

---设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

 

#<type> can have the two values:

#        - "soft" for enforcing the soft limits

#        - "hard" for enforcing hard limits

---soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 -

就表明同时设置了soft 和hard的值。

 

---要限制的资源---

#<item> can be one of the following:

#        - core - limits the core file size (KB) 限制内核文件的大小

#        - data - max data size (KB) 最大数据大小

#        - fsize - maximum filesize (KB) 最大文件大小

#        - memlock - max locked-in-memory address space (KB) 最大锁定内存地址空间

#        - nofile - max number of open files 打开文件的最大数目

#        - rss - max resident set size (KB) 最大持久设置大小

#        - stack - max stack size (KB) 最大栈大小

#        - cpu - max CPU time (MIN) 以分钟为单位的最多 CPU 时间

#        - nproc - max number of processes  进程的最大数目

#        - as - address space limit (KB) 地址空间限制

#        - maxlogins - max number of logins for this user 此用户允许登录的最大数目

#        - maxsyslogins - max number of logins on the system 此系统允许登录的最大数目

#        - priority - the priority to run user process with 用户运行进程使用的优先 级

#        - locks - max number of file locks the user can hold 用户最大可容纳文件锁的数目

#        - sigpending - max number of pending signals 最大等待信号的数量

#        - msgqueue - max memory used by POSIX message queues (bytes) 最大消息队列内存使用

#        - nice - max nice priority allowed to raise to values: [-20, 19] 允许的最大优先级

#        - rtprio - max realtime priority 最大实时优先

 

--eg.---

#<domain>      <type>  <item>         <value>

#*               soft    core            0

#*               hard    rss             10000

#@student        hard    nproc           20

#@faculty        soft    nproc           20

#@faculty        hard    nproc           50

#ftp             hard    nproc           0

#@student        -       maxlogins       4

# End of file

(1)core - 限制内核文件的大小

何谓core文件,当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个

内存映象(同时加上调试信息),主要是用来调试的。core文件是个二进制文件,需要用相应的工具来分析程序崩溃时

的内存映像,系统默认core文件的大小为0,所以没有被创建。可以用ulimit命令查看和修改core文件的大小,例如:

[root@yumserver-222 ~]# ulimit -c

0

[root@yumserver-222 ~]# ulimit -c  ulimited

-c 指定修改core文件的大小。也可以对core文件的大小不做限制。

注意:如果想让修改永久生效,则需要修改配置文件,如 .bash_profile、/etc/profile

或/etc/security/limits.conf

(2)maxlogins

---对用户最大登录的限制---

[root@yumserver-222 lwy]# vim /etc/security/limits.conf

abc              -        maxlogins      1

---登录超过一个是提示错误---

SSH Secure Shell 3.2.9 (Build 283)

Copyright (c) 2000-2003 SSH Communications Security Corp - http://www.ssh.com/

This copy of SSH Secure Shell is a non-commercial version.

This version does not include PKI and PKCS #11 functionality.

Too many logins for 'abc'.

Last login: Mon Feb  6 23:49:53 2012 from 192.168.211.38

Too many logins for 'abc'.

Last login: Mon Feb  6 23:50:06 2012 from 192.168.211.38