getent group可查看系统所有用户组,compgen -g快速列出组名;确认devteam存在后执行sudo groupadd devteam并sudo usermod -ag devteam alice;在/etc/security/limits.conf中用@devteam配置nproc限制,注意@符号不可省略,且需新登录会话生效;systemd用户会话需额外通过/etc/systemd/system/user@.service.d/override.conf设置limitnproc。

确认用户组是否存在并获取组名
执行 getent group 查看系统中所有用户组,或用 compgen -g 快速列出组名;若目标组为 devteam,需确保该组已存在——不存在则先运行 sudo groupadd devteam,再将成员加入:sudo usermod -aG devteam alice。
通过 /etc/security/limits.conf 限制用户组进程数
方法一:直接配置组级限制(推荐)
第一步:用 root 权限打开 limits 配置文件:sudo nano /etc/security/limits.conf
第二步:在文件末尾新增两行:@devteam soft nproc 2048@devteam hard nproc 4096
注意:组名前必须加 @ 符号,否则系统识别为用户名而非组;漏掉该符号会导致配置完全无效。
第三步:保存退出,验证 PAM 是否启用 limits 模块:grep pam_limits.so /etc/pam.d/common-session,若无输出,需手动追加 session required pam_limits.so 至该文件末尾。
验证组限制是否生效
切换至组内任意用户(如 alice)并新建登录会话:su - alice,然后执行 ulimit -u。若输出为 2048,说明软限制已加载;若仍显示默认值(如 1024),请检查是否遗漏了 @ 符号或未重新登录——【已有会话不会自动继承新 limits,必须全新登录】。
对 systemd 用户会话补充限制(关键补丁)
银河麒麟V10 中,通过 SSH 或 TTY 登录的用户若启用 systemd --user 实例(默认开启),其服务进程不受 limits.conf 约束。需额外为该组用户会话注入 LimitNPROC:
方法:创建目录 sudo mkdir -p /etc/systemd/system/user@.service.d,再写入覆盖配置:echo -e "[Service]\nLimitNPROC=2048" | sudo tee /etc/systemd/system/user@.service.d/override.conf
最后重启用户管理器:sudo systemctl daemon-reload && sudo systemctl restart systemd-logind。











