位置:海鸟网 > IT > linux/Unix >

Linux限制用户资源

Linux限制用户资源
 
ulimit命令
 
1)说明:
 
ulimit用于shell启动进程所占用的资源.
 
2)类别: 
 
shell内建命令
 
3)语法格式:
 
ulimit [-acdfHlmnpsStvw] [size]
 
 
4)参数介绍:
 
-H 设置硬件资源限制.
 
-S 设置软件资源限制.
 
-a 显示当前所有的资源限制.
 
-c size:设置core文件的最大值.单位:blocks
 
-d size:设置数据段的最大值.单位:kbytes
 
-f size:设置创建文件的最大值.单位:blocks
 
-l size:设置在内存中锁定进程的最大值.单位:kbytes
 
 
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
 
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
 
-p size:设置管道缓冲区的最大值.单位:kbytes
 
-s size:设置堆栈的最大值.单位:kbytes
 
-t size:设置CPU使用时间的最大上限.单位:seconds
 
-v size:设置虚拟内存的最大值.单位:kbytes
 
 
limits.conf 文件
 
 
 
limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话。
 
 
 
limits.conf的格式如下(打开/etc/security/limits.conf,里面有详细的使用介绍):
 
username | @groupname type resource limit
 
username | @groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
 
type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
 
 
 
resource:
 
core - 限制内核文件的大小
 
date - 最大数据大小
 
fsize - 最大文件大小
 
memlock - 最大锁定内存地址空间
 
nofile - 打开文件的最大数目
 
rss - 最大持久设置大小
 
stack - 最大栈大小
 
cpu - 以分钟为单位的最多 CPU 时间
 
noproc - 进程的最大数目
 
as - 地址空间限制
 
maxlogins - 此用户允许登录的最大数目
 
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。
 
Linux下限制用户系统资源可通过以下三步来实现:
 
1.编辑/etc/pam.d/login文件,在其末端添加如下语句
 
  session required /lib/security/pam_limits.so
 
2.编辑/etc/security/limits.conf文件,在其中添加如下语句
 
 
  * hard rss sizeofmem
 
  * hard nproc maxNumberOfProcesses
 
  * hard as sizeofvirtualmem
 
  #其中sizeofmem和sizeofvirtualmem为数值,其单位为KB;maxNumberOfProcesses也为数值,其单位为个
 
3.重启服务,如
 
  /etc/init.d/sshd restart