linux限制用户进程数

对于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 个进程;


Linux系统中,每个进程都有一个文件描述符表,用于跟踪它打开的文件。文件描述符是一个非负整,它在打开文件时由内核分配。 Linux进程打开文件设置了限制,这个限制被称为文件描述符限制或打开文件限制。这个限制控制了一个进程能够同时打开的文件量。 文件描述符限制通常由操作系统的配置文件中的参控制。我们可以通过 ulimit 命令来查看和修改这些限制。 默认情况下,一个进程可以打开1024个文件。但是,这个限制是可以根据系统的需求进行修改的。一般来说,增加文件描述符限制可能会消耗更多的系统资源。 如果一个进程需要打开更多的文件,可以通过修改操作系统配置文件来增加文件描述符限制。比如,在/etc/security/limits.conf文件中,可以通过添加如下行来增加文件描述符限制: * soft nofile 4096 * hard nofile 8192 这将允许所有用户进程打开的文件上限分别为4096和8192。 需要注意的是,文件描述符限制是针对每个进程的,而不是整个系统。这意味着,每个进程都可以独立地设置自己的文件描述符限制,并且不会影响其他进程Linux进程的文件描述符限制对于保护系统的稳定性和安全性非常重要。通过合理设置文件描述符限制,可以防止一个进程占用过多的系统资源,从而避免系统崩溃或资源竞争的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值