一、常见原因
su认证失败通常由以下原因导致:
1. su密码输入错误;
2. su用户权限不足;
3. 用户名或密码输入错误;
4. selinux开启导致sudo su命令失效。
二、解决方法
以下是解决Ubuntu su认证失败的几种方法。
1. 检查su密码输入是否正确
su认证失败的最常见原因是密码输入错误。请确认密码是否为正确的root密码,以及键盘的大小写和按键布局是否正确。
$ sudo passwd 输入当前用户密码 输入新的UNIX 密码: 重新输入新的 UNIX 密码: passwd:密码已成功更新
2. 检查su用户权限
如果普通用户在尝试su到超级用户时,他们可能会遇到su认证失败的问题。这是因为默认情况下,Ubuntu系统上的root用户是禁止登录的。为了允许root用户通过su登录,您需要先将其密码设置为超级用户的密码。
$ sudo passwd root 输入新的UNIX 密码: 重新输入新的UNIX 密码: passwd:密码已成功更新
3. 确认用户名和密码输入正确
确认用户名和密码是否正确输入。如果您不确定自己的用户名或密码,请确认并尝试重新设置密码。
$ passwd user 输入当前用户密码: 输入新的UNIX 密码: 重新输入新的UNIX 密码: passwd:密码已成功更新
三、selinux开启导致sudo su命令失效的解决方法
如果su命令在sudo su之后仍然提示“无效密码”,可能是由于selinux的配置限制造成的。为了解决此问题,您可以尝试以下方法:
1. 禁用selinux:
注意:在生产环境中,请勿禁用selinux!
$ sudo vim /etc/selinux/config SELINUX=disabled
2. 打开selinux限制:
$ sudo vim /etc/sudoers #加上语句,强制sudo使用selinux Defaults requiretty Set disable_coredump false
四、总结
Ubuntu su认证失败可能由多种原因导致,包括密码输入错误、su用户权限不足、用户名或密码输入错误等。在尝试su之前,请确保您已经理解了超级用户的权限,并且设置了正确的密码。