V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
AllOfMe
V2EX  ›  Linux

更新软件包后, CentOS 使用都正常,但是为啥 tty 控制台登录不进去呢?

  •  
  •   AllOfMe · 2018-08-24 14:35:36 +08:00 · 1881 次点击
    这是一个创建于 2285 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为需要安装的软件包对 glibc 版本有要求,于是将 glibc 的版本 2.12 升级到 2.15 。
    在升级过程中没有异常,启动数据库、服务器、FTP、SFTP、SSH 都可以正常使用,但是发现在实体机的终端 tty 无法成功登录进去,重启好几遍也无法成功登录进去。
    在 Centos 里没有配置禁止 root 登录或禁止某个 tty 登录的配置 经过 google,整理了一下,终端 tty 登录的常规流程可能如下:

    1, 首先调用了 /sbin/mingetty,请求输入用户名
    2, 然后将程序控制权转到 /bin/login
    3, 鉴权成功,就进入主目录,否则就提示密码错误
    

    可是我感觉现在这个情况有点奇怪:

    1, 当我用户名密码正确时,不进入主目录,而是光标又闪回了原始位置要求输入用户名,且没有任何错误提示     
    2, 当我输入错误密码时,会提醒我密码错误,请重新输入    
    3, SSH,SFTP 等调用到鉴权的程序却又没有问题,可以完美登录进去,登录进去之后随意 su 用户也没有错误提示    
    4, 检查了一下 /var/log/secure.log ,发现只有 SSH,SFTP 等鉴权的日志,却没能看到 tty 登录成功(失败)的任何提示    
    5, 想尝试通过 gdb 调试一下 /bin/login,结果 SSH 掉线了,可能是因为 gdb 调试过程中和 SSH 有冲突,掉线之后依旧可以登录 SSH    
    

    请教一下各位 V 友,这个 tty 登录控制台会闪回的问题的原因可能会出在哪里呢?我已经备份了升级软件之前的 rpm 列表、/usr/lib64、/lib64 等所有文件,暂时不考虑重装。LZ 这里先谢谢各位了!

    2 条回复    2018-08-26 12:23:13 +08:00
    julyclyde
        1
    julyclyde  
       2018-08-26 10:11:50 +08:00   ❤️ 1
    不应该调试 /bin/login 而应该调试 getty 及其自进程树
    getty、login、shell 这三个都是 exec 的关系,不是 fork 关系。shell 退出之后,init 会把 getty 重新启动

    如果没出现错误,大概是你的 shell “完成,退出”了
    AllOfMe
        2
    AllOfMe  
    OP
       2018-08-26 12:23:13 +08:00 via Android
    @julyclyde 嗯嗯,谢谢回答!我去尝试一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1126 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:53 · PVG 06:53 · LAX 14:53 · JFK 17:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.