33

I am having problems with the su command. I know my password and I am typing it correctly but su indicates authentication failure.

So I checked on the internet and then went into recovery mode and changed my username's password to what I was entering before.

Even now entering the same password on su gives me authentication failure.

Please suggest what am I doing wrong??

43

su asks for the root password. Since Ubuntu doesn't set a root password by default, you can't use it to become root.

Instead, to become root, use sudo -i with your personal password.

  • 2
    I admit I tend to use sudo bash but your incantation makes me want to use su sudo or maybe su su sudo. – Jerry Asher Apr 10 '11 at 9:42
  • 5
    sudo su is not the recommended way - use sudo -i instead. – guntbert Mar 2 '14 at 21:30
  • Try youtube.com/watch?v=axDObUgsuZQ instead, it will help you to solve the authentication failure error on su root – vijay Jun 16 at 5:21
12

su asks for the password of the account you're trying to login. It's usage (simplified):

su username

When omitting username, the username default to root. Since the root password is disabled by default on Ubuntu, no password will be valid. The preferred way to run root commands is not through a su shell, but with sudo as in:

sudo mount /dev/sdb1 /mnt
9

The root account in Ubuntu is disabled by default. This is to say that it has no password (which is different from it having a blank password) and no attempt to authenticate with root's password will succeed. Therefore, su or su - will not work.

Instead, use sudo to run a command as root:

sudo command...

If you want a root shell like you get with su, run:

sudo -s

If you want a root shell like you get with su -, run:

sudo -i
2

when you need to login as one of your non-login userids say git ( has no pwd)

su - git
Password: 
su: Authentication failure

SOLUTION - use this syntax to login as userid git

sudo su - git
1

su asks for the root password.

You can set a root password while you're root (by giving sudo su, providing that you are on the sudoers file), by giving the command passwd and setting a new password.

This is not recommend it for various reasons, though.

0

I came across an OS, Minibian, where the setuid bit was missing from /bin/su, causing this error, even if the password of the root account was enabled.

On Linux, the only way to become root is to execute a setuid-root file. When you run sudo or su, their setuid bit is set, so the process' effective user becomes root, then they do the authentiaction already as root! If it fails they exit.

Anyway, here are the symptoms and the fix:

$ 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

Note the difference: rwx before, rws after.

  • I don't really see how a bug on a completely different Linux distribution is related to Ubuntu...? – Byte Commander Feb 19 '16 at 8:20
0

In my case, it was because the entry for that user was missing in /etc/shadow.

I had copied to another test server all entries in /etc/passwd with ID higher than 1000 along with /etc/group but forgot /etc/shadow. So everytime I did su with any of those users I would get that error. After adding the missing entry in /etc/shadow the error would stop appearing.

For example /etc/shadow:

myusername:*:16992:0:99999:7:::

protected by Community Mar 16 '17 at 18:11

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.