现在的位置: 首页 > 综合 > 正文

linux限制用户进程数

2018年01月24日 ⁄ 综合 ⁄ 共 1282字 ⁄ 字号 评论关闭

对于Linux中多用户的管理,往往我们需要去限制每一个用户在Linux中使用启动的进程数量,避免进程数、CPU、内存使用率占用过高等问题。此外,对于fork炸弹,也可以通过限制用户的进程数来避免。那么我们应该如何去限制一个用户呢?

我们可以通过修改/etc/security/limits.conf文件来实现。

先确定一下/etc/pam.d/login文件中下面一行的存在:

session required /lib/security/pam_limits.so

示例:

[root@localhost ~]# cat /etc/pam.d/login

  1. #%PAM-1.0  
  2. auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so  
  3. auth       include      system-auth  
  4. account    required     pam_nologin.so  
  5. account    include      system-auth  
  6. password   include      system-auth  
  7. # pam_selinux.so close should be the first session rule  
  8. session    required     pam_selinux.so close  
  9. session    required     pam_loginuid.so  
  10. session    optional     pam_console.so  
  11. # pam_selinux.so open should only be followed by sessions to be executed in the user context  
  12. session    required     pam_selinux.so open  
  13. session    required     pam_namespace.so  
  14. session    optional     pam_keyinit.so force revoke  
  15. session    include      system-auth  
  16. -session   optional     pam_ck_connector.so 

然后编辑/etc/security/limits.conf,在里面可以设置限制用户的进程数、CPU占用率和内存使用率等,如hard nproc 20就是指限制20个进程,具体可以看man。如:

修改 vi /etc/security/limits.conf 文件来设定:
# vi /etc/security/limits.conf
vpsee hard nproc 32
@student hard nproc 32
@faculty hard nproc 64
上面的配置文件意思是说限制 vpsee 这个用户只能 fork 32 个进程;然后限制 student 这个用户组的每个成员最多能 
fork 32 个进程;

【上篇】
【下篇】

抱歉!评论已关闭.