环境

centos7.9

问题

阿里云ecs昨天无法使用jumpserver登录deploy用户,其他用户却可以登录。比如可以正常登录root,然后我su - deploy 账号,无法正常切换,直接报错提示:failed to execute /bin/bash: Resource temporarily unavailable.
jumpserver连接deploy账号直接提示:ssh: could not start shell

原因

这个一个安全性的问题,避免普通用户使用太多的进程。默认4096

cat /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096
root       soft    nproc     unlimited

解决

更改所有用户的进程数量为8192.

cat /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     8192
root       soft    nproc     unlimited

使用ansible解决(可选)

  tasks:
    - name: Add or modify hard nofile limits for wildcard domain
      community.general.pam_limits:
        domain: "*"
        limit_type: soft
        limit_item: nproc
        value: 8192
        dest: /etc/security/limits.d/20-nproc.conf

有关limits.d的知识,可以参考这个文章:
/etc/security/limits.conf 详解与配置
failed to execute /bin/bash: Resource temporarily unavailable(Linux系统root无法通过su切换到某个普通用户)

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐