linux root登陆,密码正确但,错误提示su: Authentication failure

解决 Linux 中 su: Authentication failure 的问题

在 Linux 系统中,当尝试使用 su 命令切换到 root 用户时,即使输入的密码正确,仍可能会遇到 su: Authentication failure 的错误提示。这个问题可能由多个原因引起,以下是详细的排查步骤和解决方案。

一、检查用户是否在 sudoers 列表中

  1. 编辑 sudoers 文件:确保用户在 /etc/sudoers 文件中具有适当的权限。使用 visudo 命令编辑 sudoers 文件:

    sudo visudo
  2. 添加用户权限:在文件中添加以下行,以确保用户具有使用 su 命令的权限:

    username ALL=(ALL) ALL

    将 username 替换为您的实际用户名。

二、检查 PAM 配置

PAM(Pluggable Authentication Modules)配置错误可能导致认证失败。

  1. 编辑 pam.d 文件:检查 /etc/pam.d/su 文件的配置,确保没有错误配置。该文件的内容应类似于:

    auth       required   pam_rootok.so
    auth       sufficient pam_wheel.so trust use_uid
    auth       required   pam_wheel.so use_uid
    auth       include    system-auth
    account    sufficient pam_rootok.so
    account    include    system-auth
  2. 确保 pam_wheel.so 配置正确:如果使用了 pam_wheel.so 模块,请确保目标用户属于 wheel 组:

    usermod -aG wheel username

三、检查 SELinux 配置

SELinux 可能会阻止某些认证操作。

  1. 临时禁用 SELinux:可以临时禁用 SELinux 以检查是否是其引起的问题:

    sudo setenforce 0
  2. 永久禁用 SELinux:如果确认是 SELinux 问题,可以编辑 /etc/selinux/config 文件,设置 SELINUX=disabled

    SELINUX=disabled
  3. 重启系统:修改后重启系统使设置生效:

    sudo reboot

四、检查系统日志

系统日志可以提供更多关于认证失败的详细信息。

  1. 查看认证日志:使用 journalctl 查看系统日志:

    sudo journalctl -xe
  2. 查看安全日志:检查 /var/log/secure 文件中的日志信息:

    sudo cat /var/log/secure

五、确认 root 用户状态

  1. 确认 root 用户是否锁定:检查 root 用户是否被锁定:

    sudo passwd -S root

    输出应为 root P 表示用户没有锁定。

  2. 解锁 root 用户:如果用户被锁定,可以使用以下命令解锁:

    sudo passwd -u root

六、检查 su 命令权限

  1. 确认 su 命令权限:确保 su 命令具有正确的权限设置:

    ls -l /bin/su

    输出应类似于:

    -rwsr-xr-x 1 root root 32128 Apr  4  2018 /bin/su

    rws 表示 su 命令具有 SUID 位。

  2. 修正 su 命令权限:如果权限不正确,可以使用以下命令修正:

    sudo chmod 4755 /bin/su
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值