Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
AllOfMe
V2EX  ›  Linux

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

  •  
  •   AllOfMe · Aug 24, 2018 · 2332 views
  •   You need to sign in to view this topic
    This topic created in 2839 days ago, the information mentioned may be changed or developed.

    因为需要安装的软件包对 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 replies    2018-08-26 12:23:13 +08:00
    julyclyde
        1
    julyclyde  
       Aug 26, 2018   ❤️ 1
    不应该调试 /bin/login 而应该调试 getty 及其自进程树
    getty、login、shell 这三个都是 exec 的关系,不是 fork 关系。shell 退出之后,init 会把 getty 重新启动

    如果没出现错误,大概是你的 shell “完成,退出”了
    AllOfMe
        2
    AllOfMe  
    OP
       Aug 26, 2018 via Android
    @julyclyde 嗯嗯,谢谢回答!我去尝试一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2773 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:49 · PVG 23:49 · LAX 08:49 · JFK 11:49
    ♥ Do have faith in what you're doing.