服务器无法登录之迷——login界面无限循环

2023-10-29

     本周遇到了一个很奇葩的问题,客户的一台服务器无论如何都无法登录到机器系统里面去。可以肯定的是输入的登录密码是完全正确的,但是输入密码后,总在login登录界面无限循环。
     今天抽空总结下这个问题的前因后果。
     

登录异常现象

1、ssh登录成功后,会立即退出。
输入错误密码正常报错
在这里插入图片描述
     
输入正确密码立即退出
请添加图片描述
     
2、vnc本地登录,一直在login界面。
输入错误密码正常报错
在这里插入图片描述
     
输入正确密码回到login
在这里插入图片描述
以上现象说明输入的密码是正确的,登录到系统后,立即被系统强制退出了。
     

异常原因排查

这个时候已经无法正常登录机器了,那就只能用单用户登录机器进行排查。
查看/var/log/secure日志
在这里插入图片描述
发现有很多pam_limits 相关的报错:Could not set limit for ‘nofile’:Operation not permitted,猜想可能是 /etc/security/limits.conf 文件设置有问题。
     
查看/etc/security/limits.conf
在这里插入图片描述
     
初看设置是没有什么问题的。
再排查系统内核文件/etc/sysctl.conf
在这里插入图片描述
发现对内核参数fs.file-max 进行了设置。
fs.file-max:表示系统级别的能够打开的文件句柄的数,是对整个系统的限制。
/etc/security/limit.conf:设置用户能打开的文件句柄数,提供对shell及其启动的进程的可用文件句柄的控制。该文件的设置是进程级别的,可以控制进程级别(比如Nginx进程、MySQL进程)能够打开的文件句柄数。
对比发现:用户能打开的文件句柄数比系统级别的文件句柄数还大,所以登录shell终端时报错,导致无法登录到shell终端。
     

异常问题解决

修改/etc/security/limits.conf
在这里插入图片描述
     
重启机器登录,发现还是一样的无法登录。
好吧,那就继续分析吧。
     
发现还有一个/etc/security/limits.d/root.conf文件
在这里插入图片描述
     
修改/etc/security/limits.d/root.conf文件
在这里插入图片描述

     
再次重启,登录解决。
在这里插入图片描述
     
在这里插入图片描述
     

异常问题总结

1、/etc/security/limits.conf是linux资源使用配置文件,用来限制用户对系统资源的使用。limits.conf文件实际是linux PAM(插入式认证模块,Pluggable Authentication Modules)中pam_limits.so的配置文件,而且只针对于单个会话。
2、/etc/security/limits.d/文件夹下定义的文件内容和limits.conf格式一样,但优先级更高,系统默认该目录下面是没有root.conf文件的。。所以排错过程中,只修改了limit.conf仍然无法登录。
3、fs.file-max是系统级别的能够打开的文件句柄的数量,是对整个系统的限制,所有进程打开的文件描述符数不能超过该文件的值。系统内可以通过/proc/sys/fs/file-max查看。
实际的排障过程是很花费时间的,可能并不像总结的这么容易,就能发现问题原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务器无法登录之迷——login界面无限循环 的相关文章

随机推荐

  • 跑通官方的yolov7-tiny实验记录(yolov7-tiny可作为yolov5s的对比实验网络)

    目录 1 一些可用的参考链接 2 开始训练yolov7 2 1 weights 2 2 cfg 2 3 data 2 4 hyp 2 5 epochs 2 6 batch size 2 7 workers 2 8 name 1 一些可用的参
  • STM8中断的设置(ST Visual Develop和IAR环境下)

    以下以stm8s103为例介绍在ST Visual Develop和IAR环境下的中断设置 这两种只是环境不同其实中断向量是不会变的 先看一下数据手册 再结合芯片手册中中断向量映像表 如下图所示 结合起来的话我们就能够理解的 在用ST Vi
  • this.setState的详细用法

    1 为什么不要直接对state进行赋值 如果直接对this state复制是不会去更新视图的 this setState的原理是同一个队列来实现state的更新的 将需要更新的state放入到状态队列中 在一定时间段之后 合并并更新stat
  • 【计算机网络】网络层协议——IP协议基础教程详解!干货满满

    文章目录 计算机网络 网络层 IP协议详解 IP协议的格式 4位版本号 4位首部长度 8位的服务类型 16位总长度 分包组包 标识 片移量 标志 过程实例 8位生存时间 8位协议 16位首部校验和 源IP地址和目的IP地址 IP地址管理 网
  • django channels实战(websocket底层原理和案例)

    1 websocket相关 1 1 轮询 1 2 长轮询 1 3 websocket 1 3 1 websocket原理 1 3 2 django框架 asgi py在django项目同名app目录下 1 3 3 聊天室 django代码总
  • 法线向量扰动、副法线

    3D数学 学习笔记 9 凹凸映射 bump mapping 和切线空间 tangent space 凹凸映射和切线空间在图形学中也是用的较多的 下面给大家介绍下凹凸映射和切线空间 并和大家说下凹凸映射和切线空间的区别和优缺点 凹凸映射 bu
  • 深圳益百分稳健前行 在商业创新中寻找平衡点

    文 李永华 来源 螳螂财经 ID TanglangFin 遭遇舆论危机后 滴滴创始人之一柳青曾在微博上晒出程维的照片 并配文 一个在两周内瘦成一道闪电的男人 程维快速变瘦的背后是一个高速发展的巨头级企业面临巨大监管和舆论压力的写照 一边是庞
  • Entity Framework Core系列教程-4 DbContext

    Entity Framework Core DbContext DbContext类是Entity Framework Core的组成部分 DbContext实例代表与数据库的会话 可用于查询实体实例并将其保存到数据库 DbContext是
  • SQL注入代码实践(盲注-获取数据库名长度【数值型】)

    coding utf 8 Time 2022 4 4 16 19 Auth zhangxiang File GetLength Inject py IDE PyCharm Motto ABC Always Be Coding 获取数据库名长
  • STM32——USART串口

    文章目录 一 通信接口 二 串口通信 三 硬件电路 四 电平标准 五 串口参数及时序 六 STM32的USART外设简介 七 USART框图 八 USART基本结构 九 数据帧 十 起始位侦测和采样位置对齐 十一 数据采样 十二 波特率发生
  • 副高相当于副处吗_事业单位岗位工资副高职为何分为五六七级,调级时..._事业单位考试_帮考网...

    一般机关 事业单位工资制度和晋升等 各地都会按照国家人事部 财政部 国家计委 关于印发机关 事业单位工作人员正常晋升工资档次办法的通知 来制定当地的工作晋升等标准和规定 建议咨询当地的组织部门 1 五级职员 是指事业单位正处级别 根据试行办
  • PLY格式学习

    最近写论文为了使三维重建结果呈现的更加漂亮直观一些 尝试对三维空间数据进行表面重建 采用Poisson Reconstruction 点击打开链接 方法 该方法使用的数据格式为ply格式 Ply格式是Stanford Stanford Bu
  • 关于“Unable to establish loopback connection Connection timed out: connect”问题的解决方案参考

    前言 最近使用AS 3 0启动一个工程 在gradle同步的时候 出现了 Unable to establish loopback connection Connection timed out connect 的问题 在网上找了很久 主要
  • shell基础

    目录 shell脚本介绍 一 shell脚本是什么 二 为什么要学shell 而不是其他计算机语言 三 学习这门课程的优势 四 学了能干什么 五 学习什么内容 六 学习的技巧 七 成长路径 八 学习环境 编程语言与shell脚本 一 编程语
  • React 查找表格数据例子

    假设我们已经有了一个返回 JSON 的 API category Sporting Goods price 49 99 stocked true name Football category Sporting Goods price 9 9
  • 简单修改,让CI支持memcache

    CI默认只支持memcaced 今天在网上搜索了下 一些解决方案都是错的 经过ci源代码分析 给出一个正确的解决方案 1 复制driver目录下的memcachd php为memcache php 并且将memcached替换为memcac
  • Altium designer第二屏幕导致的问题

    由于之前笔记本电脑通过VGA线连接第二屏幕使用 但是在一些情况下第二屏幕不在 但是打开Altium designer相关窗口后还默认在第二屏幕 导致软件无法操作 解决方法 1 当Altium Designer 的某一窗口跑到另外一个显示屏上
  • 停用词(stop words)+TF-IDF实现

    一 什么是停用词 在汉语中 有一类没有实际意义的词语 比如组词 的 连词 以及 副词 甚至 语气词 吧 被称为停用词 一个句子去掉这些停用词 并不影响理解 所以 进行自然语言处理时 一般将停用词过滤掉 一般词表文件中每一行存储一个停用词 行
  • Linux版的CASTEP功能更强大,castep在linux下的安装步骤.docx

    castep在linux下的安装步骤 卸载 一 MS卸载 1 首先进入home msi Accelrys Materials Studio40 etc Gateway然后执行 msgateway control 18888 stop 即停掉
  • 服务器无法登录之迷——login界面无限循环

    本周遇到了一个很奇葩的问题 客户的一台服务器无论如何都无法登录到机器系统里面去 可以肯定的是输入的登录密码是完全正确的 但是输入密码后 总在login登录界面无限循环 今天抽空总结下这个问题的前因后果 登录异常现象 1 ssh登录成功后 会