su命令+身份验证失败


33

我在使用su命令时遇到问题。我知道我的密码,并且输入正确,但是su表明身份验证失败。

因此,我检查了Internet,然后进入恢复模式,并将用户名的密码更改为我之前输入的密码。

即使现在输入相同的密码也su使我的身份验证失败。

请提出我在做什么错?

Answers:


43

su要求输入root密码。由于Ubuntu默认情况下未设置root密码,因此您不能使用它成为root。

相反,要成为root用户,请使用sudo -i您的个人密码。


2
我承认我倾向于使用,sudo bash但是你的咒语使我想使用su sudo或者也许su su sudo
杰里·阿舍

5
sudo su不是推荐的方法-请sudo -i改用。
冈伯特

请改用youtube.com/watch?v=axDObUgsuZQ,它将帮助您解决su root上的身份验证失败错误
Vijay

12

su询问您要登录的帐户的密码。用法(简体):

su username

省略时username,用户名默认为root。由于默认情况下在Ubuntu上禁用了root密码,因此没有密码有效。运行root命令的首选方法不是通过su shell,而是使用sudo,如下所示:

sudo mount /dev/sdb1 /mnt


2

当您需要以非登录用户名之一的身份登录时git(没有密码)

su - git
Password: 
su: Authentication failure

解决方案-使用此语法以用户ID身份登录 git

sudo su - git

1

su 要求输入root密码。

您可以在root用户时设置root用户密码(通过提供sudo su,前提是您在sudoers文件中),方法是提供命令passwd并设置新密码。

但是,出于各种原因,不建议这样做。


0

我遇到了一个操作系统,Minibian,/bin/su即使启用了根帐户的密码,也缺少的setuid位,从而导致此错误。

在Linux上,成为root的唯一方法是执行setuid-root文件。当您运行sudo或时su,将设置其setuid位,以便该进程的有效用户成为root用户,然后他们已经以root用户身份进行身份验证!如果失败,则退出。

无论如何,这是症状和解决方法:

$ su
Password:
su: authentication failure
$ sudo su
# ls -l /bin/su
-rwxr-xr-x 1 root root 31092 Jun  5  2012 /bin/su
# chmod u+s /bin/su
# ls -l /bin/su
-rwsr-xr-x 1 root root 31092 Jun  5  2012 /bin/su

注意区别:rwx之前,rws之后。


我真的没有看到完全不同的Linux发行版中的错误与Ubuntu相关吗...?
字节指挥官

0

就我而言,这是因为该用户的条目在中缺失/etc/shadow

我已将/etc/passwdID大于1000的所有条目都复制到另一台测试服务器,/etc/group但忘记了/etc/shadow。因此,每当我对su任何一个用户进行操作时,都会收到该错误。在/etc/shadow错误中添加缺少的条目后,将停止出现。

例如/etc/shadow

myusername:*:16992:0:99999:7:::
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.