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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介: 通过系统化的排查和解决方案,可以有效应对 `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
    ​
    

七、总结

通过以上步骤,您可以逐一排查和解决 su: Authentication failure 的问题。确保用户在 sudoers 列表中,检查 PAM 和 SELinux 配置,查看系统日志,确认 root 用户状态,以及检查 su 命令权限。希望这些方法能帮助您解决认证失败的问题。

思维导图

- 解决 Linux 中 su: Authentication failure 的问题
  - 检查用户是否在 sudoers 列表中
    - 编辑 sudoers 文件
    - 添加用户权限
  - 检查 PAM 配置
    - 编辑 pam.d 文件
    - 确保 pam_wheel.so 配置正确
  - 检查 SELinux 配置
    - 临时禁用 SELinux
    - 永久禁用 SELinux
    - 重启系统
  - 检查系统日志
    - 查看认证日志
    - 查看安全日志
  - 确认 root 用户状态
    - 确认 root 用户是否锁定
    - 解锁 root 用户
  - 检查 su 命令权限
    - 确认 su 命令权限
    - 修正 su 命令权限
​

通过系统化的排查和解决方案,可以有效应对 su: Authentication failure 问题,确保系统安全和用户权限的正确管理。

目录
相关文章
|
4月前
|
安全 Linux 数据安全/隐私保护
Linux 忘记密码解决方法
Linux 忘记密码解决方法
71 2
Linux 忘记密码解决方法
|
4月前
|
Linux Shell 数据安全/隐私保护
Linux如何在服务器上进行密码的修改?
【10月更文挑战第6天】Linux如何在服务器上进行密码的修改?
506 1
|
4月前
|
Linux 数据安全/隐私保护 索引
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
66 1
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
319 8
|
3月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1070 6
|
3月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
175 3
|
3月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
135 2
|
12天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
27 11
|
2月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
95 14
Linux 10 个“who”命令示例
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
184 20