因为错误修改 /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 获取。

相关推荐
云原生指北36 分钟前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
小马同学-1 小时前
高可用-Keepalived全解析
linux·运维
ziyun6668881 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
Forever Nore1 小时前
LeetCode 13 罗马数字转整数 - 按规则处理
linux·服务器·leetcode
我不会插花弄玉2 小时前
2.Linux基础指令下【由浅入深-Linux】
linux·服务器
梦想的旅途22 小时前
企微 API 二次开发:利用 AI Agent 实现自动化运维
运维·人工智能·企业微信
安科瑞-小李2 小时前
铁路智能运维进化路线:自动化→状态可视→预测维护
运维·自动化·数据采集·能耗可视化
雯宝3 小时前
3. 驱动框架(块设备)
linux
酷可达拉斯3 小时前
自动化运维-Ansible任务控制与流程控制
运维·自动化·ansible
HiDev_3 小时前
【非标自动化】2、认识元器件(电机保护器)
运维·自动化