news 2026/7/7 5:27:02

准确--CentOS 7 配置用户资源限制(nofile / nproc)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
准确--CentOS 7 配置用户资源限制(nofile / nproc)

CentOS 7 配置用户资源限制(nofile / nproc)

目标:

  • 提升文件句柄数(nofile)
  • 提升进程数(nproc)
  • 避免启用 UsePAM 后“密码正确却登录失败”的坑

一、临时生效(立即生效,无需重启服务)

使用prlimit强制修改当前 Shell

适合:

  • 立即排障
  • 临时调优
  • 不想重启服务
prlimit --pid$$--nofile=65535:65535 --nproc=65535:65535

参数说明

  • --pid $$:当前 Shell 进程
  • nofile:最大文件句柄数
  • nproc:最大进程数

验证

ulimit-n

输出应为:

65535

⚠️注意
该方式仅对当前 Shell 有效,重新登录即失效。


二、永久生效(推荐生产环境使用)

1️⃣ 修改 limits.conf

vim/etc/security/limits.conf

追加:

* soft nproc 65535 * hard nproc 65535 * soft nofile 65535 * hard nofile 65535

2️⃣ 启用 PAM(关键步骤)

编辑 SSH 配置:

vim/etc/ssh/sshd_config

确保存在并且未注释

UsePAM yes PasswordAuthentication yes

修改后重启 SSH:

systemctl restart sshd

三、【非常关键】否则会出现“密码正确但登录失败”

很多人卡在这里
👉 只开了UsePAM yes,但PAM 认证链不完整

必须正确配置/etc/pam.d/sshd

直接覆盖(最稳妥方式):

cat>/etc/pam.d/sshd<<'EOF' #%PAM-1.0 auth required pam_sepermit.so auth include password-auth account required pam_nologin.so account include password-auth password include password-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open env_params session required pam_namespace.so session optional pam_keyinit.so force revoke session include password-auth session include postlogin # ★ 关键:资源限制生效必须有它 session required pam_limits.so EOF

⭐ 核心点说明

  • pam_limits.so
    👉没有这一行,limits.conf 完全不生效
  • password-auth
    👉 决定“密码是否正确”的真正模块
  • 缺失或顺序错误
    👉100% 导致密码登录失败

四、验证是否真正生效(一定要重新登录)

⚠️重要
已登录的 SSH 会话不会继承新 limits

新开一个 SSH 会话后执行:

ulimit-nulimit-u

期望输出:

65535

五、常见故障自检(备用)

1️⃣ 检查 sshd 实际配置

sshd -T|egrep'usepam|passwordauthentication'

2️⃣ 查看认证失败原因

tail-n50/var/log/secure

3️⃣ 用户是否被 PAM 锁定

pam_tally2 --user 用户名

解锁:

pam_tally2 --user 用户名 --reset

六、一句话总结(给以后自己看的)

  • 临时调试prlimit
  • 永久生效limits.conf + pam_limits.so
  • UsePAM yes 必须配合完整 PAM 文件
  • 否则就是“密码正确但登录失败”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 14:31:14

ArcGIS API for Python终极指南:从零开始掌握地理空间分析

ArcGIS API for Python终极指南&#xff1a;从零开始掌握地理空间分析 【免费下载链接】arcgis-python-api Documentation and samples for ArcGIS API for Python 项目地址: https://gitcode.com/gh_mirrors/ar/arcgis-python-api ArcGIS API for Python是一个功能强大…

作者头像 李华
网站建设 2026/7/7 12:05:57

EmotiVoice团队访谈:未来将增加更多情感类型支持

EmotiVoice团队访谈&#xff1a;未来将增加更多情感类型支持 在虚拟助手越来越“懂人心”、AI主播开始拥有情绪起伏的今天&#xff0c;语音合成技术早已不再满足于“把字读出来”。用户期待的是能传递喜怒哀乐的声音——一句话里藏着紧张的喘息&#xff0c;一段旁白中流露淡淡的…

作者头像 李华
网站建设 2026/7/7 10:05:58

EmotiVoice自动扩缩容方案设计(Kubernetes)

EmotiVoice 自动扩缩容方案设计&#xff08;Kubernetes&#xff09; 在智能语音应用日益普及的今天&#xff0c;文本转语音&#xff08;TTS&#xff09;系统正从“能说”迈向“说得像人”。EmotiVoice 作为一款开源、高表现力的语音合成引擎&#xff0c;凭借其零样本声音克隆与…

作者头像 李华
网站建设 2026/7/7 18:49:22

电子书变有声书:EmotiVoice全自动转换方案

电子书变有声书&#xff1a;EmotiVoice全自动转换方案 在数字阅读愈发普及的今天&#xff0c;越来越多用户开始“听”书而非“读”书。通勤路上、健身途中、睡前放松——碎片化时间催生了对高质量有声内容的巨大需求。然而&#xff0c;传统有声书依赖真人配音&#xff0c;制作周…

作者头像 李华
网站建设 2026/7/7 18:51:28

终极指南:高性能UI交互功能从零实现

如何优化鼠标事件响应速度和跨平台适配&#xff1f;在现代应用开发中&#xff0c;流畅的UI交互体验已成为用户评价产品的重要标准。本文将带你深入探索高性能UI库中的交互功能实现&#xff0c;从事件捕获到渲染优化&#xff0c;全方位解析如何打造响应迅速的跨平台用户界面。 【…

作者头像 李华
网站建设 2026/7/7 7:31:02

flutter setState(() { … }) 作用

在 Flutter 中&#xff0c;setState() 是一个核心方法&#xff0c;用于通知框架某个 State 对象的内部状态已发生变化&#xff0c;从而触发界面的重新构建&#xff08;rebuild&#xff09;。 &#x1f9e0; 核心作用一句话总结&#xff1a; 当你修改了 StatefulWidget 的状态&a…

作者头像 李华