因为错误修改 /etc/security/limits.conf 里 nofile 设置导致 CentOS 无法登录

一位同事的 CentOS 系统突然无法登录,从控制台也不行,报错为 Permission denied:

用 LiveCD 启动,在 LiveCD 下 lvdisplay 把系统根目录找到:

如果 LV Status 不是 available,需要执行 lvchange -ay /dev/centos/root 来激活。

然后 mount /dev/centos/root /mnt 就可以在 LiveCD 系统的 /mnt 查看原系统根目录内容了,下面描述的路径还是使用原系统的,不加 /mnt 前缀。

之前一直以为是被黑或者密码不对了,但查看 /etc/passwd 和 /etc/shadow 的时间戳都没人动过,使用 LiveCD 把 selinux 禁掉还是一样报错。

查看 /var/log/secure 日志发现如下错误:

然后查了一下,应该是 /etc/security/limits.conf 配置出错了。不知道是谁设置了进程最大打开文件描述符数 nofile 6553500 。我们使用 ulimit -n 6553500 测试,可以得到如下报错:

说明此环境不允许设置到这个值。

修改了一下配置如下,再重启就能登录了:

最大值应该用 cat /proc/sys/fs/file-max 获取。

相关推荐
Z21-X24 分钟前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla8 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
Decay__9 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
天远API13 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮13 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
程序员初一13 小时前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh
程序开发阿元13 小时前
swappiness 60 和 10 差在哪:一台 1C1G 的三轮对比
linux·ssh
无足鸟ICT14 小时前
【RHCA+】mpstat命令(监控CPU)
linux
乐维_lwops14 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
GeW15 小时前
新质生产力Linux和数据库为啥这么关键
linux