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

不懂就问 使用 Linux 时出现 root 无法登录的问题,但普通用户可以登录

  •  
  •   SnailsGl · 2020-05-08 09:18:38 +08:00 · 6259 次点击
    这是一个创建于 1651 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚学不久 linux 。用的 centos7

    root 用户登录会卡顿一下,然后重复登录。

    情景再现:修改了普通用户的 .bashrc 和 source .bash-profile 后,所有账号无法登录(重复登录),然后进入了单用户模式,删除了刚刚修改的内容(期间使用过“mount –o remount,rw /”),然后普通用户就可以登录了。

    问题: 1 、只有普通用户可以登录,root 用户无法登录,且登录时提示上次登录时间然后卡顿 1 分钟,循环登录; 2 、使用普通用户登录后,su 可以切换到 root 用户。但是输入密码后不会弹出[root@xxxx xxxx]# ,而是有光标一直在闪烁。必须 Ctrl + C 后才能弹出[root@xxxx xxxx]#

    第一次发主题,如果不妥的地方,请指教。 有没有办法可以查看登录时的日志?报了什么错?

    25 条回复    2020-05-08 14:35:04 +08:00
    SnailsGl
        1
    SnailsGl  
    OP
       2020-05-08 09:30:32 +08:00
    我表达的不清楚吗?还是........现在是不影响使用,但是这个问题我想康康......
    dandycheung
        2
    dandycheung  
       2020-05-08 09:33:23 +08:00 via iPhone
    系统的登录策略限制了 root 用户直接登录了吧?
    nicevar
        3
    nicevar  
       2020-05-08 09:45:53 +08:00
    检查一下 /etc/pam.d/login, 看是不是禁止 root 用户本地登录了
    yorkyoung
        4
    yorkyoung  
       2020-05-08 09:46:30 +08:00
    编辑 /etc/gdm/custom.conf 文件,具体如下所示:

    在 daemon 选项中修改 AutomaticLoginEnable=true,AutomaticLogin=root 

    如果 daemon 下为空则添加:

    AutomaticLoginEnable=true
    AutomaticLogin=root 

    如:

    [daemon] 
    AutomaticLoginEnable=true
    AutomaticLogin=root
    SnailsGl
        5
    SnailsGl  
    OP
       2020-05-08 09:47:17 +08:00
    @dandycheung /etc/ssh/sshd_config 中的 PermitRootLogin 吗?我已经设置为 yes 了。
    vhwwls
        6
    vhwwls  
       2020-05-08 09:52:21 +08:00
    @SnailsGl #5 不是,你看楼下的,在 pam 那里看一下,可能限制本地登录了,一般安装完成之后是不存在这个问题的,除非你瞎配置了什么东西。
    SnailsGl
        7
    SnailsGl  
    OP
       2020-05-08 09:58:05 +08:00
    @nicevar
    #%PAM-1.0
    auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
    auth substack system-auth
    auth include postlogin
    account required pam_nologin.so
    account include system-auth
    password include system-auth
    # pam_selinux.so close should be the first session rule
    session required pam_selinux.so close
    session required pam_loginuid.so
    session optional pam_console.so
    # pam_selinux.so open should only be followed by sessions to be executed in the user context
    session required pam_selinux.so open
    session required pam_namespace.so
    session optional pam_keyinit.so force revoke
    session include system-auth
    session include postlogin
    -session optional pam_ck_connector.so
    session required /lib64/security/pam_limits.so
    session required pam_limits.so

    内容是这样的,我...........有点看不懂....搜的答案,emmm.....也看不太懂,没有找到详细的解释
    是多了这一行吗?“auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
    SnailsGl
        8
    SnailsGl  
    OP
       2020-05-08 10:08:08 +08:00
    @yorkyoung emmmmmm.....我这边好像没有 /etc/gdm 这个目录......
    nicevar
        9
    nicevar  
       2020-05-08 10:52:08 +08:00
    @SnailsGl
    session required /lib64/security/pam_limits.so
    session required pam_limits.so
    估计是这里出问题了, 这个库正常吗, 看一下 /var/log/secure 的日志, 如果只是测试系统,没什么数据, 可以先注释这两行试试
    SnailsGl
        10
    SnailsGl  
    OP
       2020-05-08 10:56:08 +08:00
    @nicevar 哇偶,我刚发现有这个日志,准备贴出来就收到大佬的回复了 =w=。好像报了错
    May 8 10:51:04 localdomain sshd[2462]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.101.21 user=root
    May 8 10:51:04 localdomain sshd[2462]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
    May 8 10:51:06 localdomain sshd[2462]: Failed password for root from 192.168.101.21 port 54908 ssh2
    May 8 10:51:20 localdomain sshd[2462]: Accepted password for root from 192.168.101.21 port 54908 ssh2
    May 8 10:51:20 localdomain sshd[2462]: pam_unix(sshd:session): session opened for user root by (uid=0)
    May 8 10:51:46 localdomain sshd[2462]: error: Received disconnect from 192.168.101.21 port 54908:0:
    May 8 10:51:46 localdomain sshd[2462]: Disconnected from 192.168.101.21 port 54908
    May 8 10:51:46 localdomain sshd[2462]: pam_unix(sshd:session): session closed for user root
    SnailsGl
        11
    SnailsGl  
    OP
       2020-05-08 10:57:03 +08:00
    @nicevar 这两行我注释了还是一样的错......
    nicevar
        12
    nicevar  
       2020-05-08 10:59:39 +08:00
    @SnailsGl 你是 ssh 过去的,我以为你在本机操作, 看样子是你修改了 /etc/ssh/sshd_config 的 PermitRootLogin 没重启 ssh 服务吧
    nicevar
        13
    nicevar  
       2020-05-08 11:00:04 +08:00
    @SnailsGl 不用注释了,我以为你是在本机操作,改回来
    SnailsGl
        14
    SnailsGl  
    OP
       2020-05-08 11:02:16 +08:00
    @nicevar 本地登录也一样,登不上去......但是日志不同
    May 8 11:00:54 localdomain login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
    May 8 11:00:54 localdomain login: ROOT LOGIN ON tty1
    May 8 11:01:17 localdomain login: pam_unix(login:session): session closed for user root
    dandycheung
        15
    dandycheung  
       2020-05-08 11:02:23 +08:00 via iPhone
    @SnailsGl 你先验证一下本机登录是否正常,再用 ssh 登录看。
    LeeLou
        16
    LeeLou  
       2020-05-08 11:06:47 +08:00
    注释掉,可能需要重启 sshd 才生效。 当前的 ssh 登录窗口可以不关,避免出错了,当前这个还可以管理。重新开一个 ssh 登录窗口。su 切换到 root 的时候也有问题, 要 ctrl+c 停止了才能进到 root 的 shell,这里似乎是 bash profile 的问题
    SnailsGl
        17
    SnailsGl  
    OP
       2020-05-08 11:09:12 +08:00
    @dandycheung 不行
    本机登录提示:
    Last login: Fri May 8 10:35:36 2020 from 本机地址。然后卡顿一会儿后,重复登录

    远程登录提示:
    Last failed login: Fri May 8 11:04:47 CST 2020 from 本机地址 on ssh:notty
    There was 1 failed login attempt since the last successful login.
    Last login: Fri May 8 11:00:54 2020
    Connection closing...Socket close.
    Connection closed by foreign host.
    nicevar
        18
    nicevar  
       2020-05-08 11:13:29 +08:00
    @SnailsGl 不一样,本地是登陆验证通过的, 远程是直接被拒绝了, 我建议你重启一下操作, 因为可能你操作不当存在多种可能
    SnailsGl
        19
    SnailsGl  
    OP
       2020-05-08 11:23:11 +08:00
    @LeeLou 我确实改动过 .bashrc 和 .bash_profile,现在注释了所有的改动,也还是有这个问题。改了.bashrc 是不是也影响到了.bash_profile ?现在我是两个文件全还原了.要不我
    SnailsGl
        20
    SnailsGl  
    OP
       2020-05-08 11:24:03 +08:00
    @nicevar linux 主机已经重启了,本地登录不了
    yanqiyu
        21
    yanqiyu  
       2020-05-08 12:21:40 +08:00
    必须 Ctrl+C 后才会弹出提示符?
    既然有提示符说明问题不在 pam or sshd
    检查下 ~/.bashrc ~/.bash_profile /etc/profile.d 有没有什么东西卡住了
    一般登陆后脚本卡住了就是这个现象
    cike
        22
    cike  
       2020-05-08 13:18:19 +08:00
    看一下 root 用户的 authorized_keys 文件,公钥前面有没有注释。
    no-port-forwarding,no-agent-forwarding,no-X11-forwarding
    如果有注释,把注释都删掉,只留公钥
    Yourshell
        23
    Yourshell  
       2020-05-08 13:33:27 +08:00
    可能是 login shell 和 non-login shell 这类的问题
    SnailsGl
        24
    SnailsGl  
    OP
       2020-05-08 14:32:22 +08:00
    @yanqiyu ok 了,确实如此,我用同一个镜像在虚拟机上装了一遍,然后替换了 linux 主机上的 .bashrc 和 .bash_profile,可以登录了。谢谢~~~ 我一直不知道为什么会卡住,你这么一说我好像回忆起了什么.... 是我自己太笨了 TAT
    SnailsGl
        25
    SnailsGl  
    OP
       2020-05-08 14:35:04 +08:00
    谢谢各位大佬~~ 关于登录这里,跟着大佬们的指导和查询,摸索了一早上,对 linux 系统的快乐稍有体会了~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1690 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:54 · PVG 00:54 · LAX 08:54 · JFK 11:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.