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

相关推荐
HalvmånEver1 天前
Linux:命名管道实现IPC(进程间通信七)
linux·运维·服务器·ipc·命名管道·管道pipe
正在学习前端的---小方同学1 天前
Harbor部署教程
linux·运维
牛奔1 天前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
翼龙云_cloud1 天前
阿里云渠道商:如何手动一键扩缩容ECS实例?
运维·服务器·阿里云·云计算
Sean X1 天前
Ubuntu24.04安装向日葵
linux·ubuntu
DX_水位流量监测1 天前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina1 天前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
IT 乔峰1 天前
脚本部署MHA集群
linux·shell
dz小伟1 天前
execve() 系统调用深度解析:从用户空间到内核的完整加载过程
linux
Mr_Xuhhh1 天前
博客标题:深入理解Shell:从进程控制到自主实现一个微型Shell
linux·运维·服务器