OK, let me write a short clarification. There are two different users:
root. In Ubuntu, by default,
root does not have a password at all and cannot log in at all. If
Shannon wants to do a task requiring root privileges, he uses the command
sudo that consults a file called
/etc/sudoers and has the ability to turn
sudo wants to make sure that
Shannon actually is
Shannon and not his dog who just took over the keyboard. This is why
sudo asks user
Shannon for his (and not root's) password. Also note that "a task requiring root privileges" can be a bash shell, which essentially means that you can log in as root (without using root password!).
So, it is not that the two users (
root) have different passwords, but that the password of
root is not actually being asked for at all.
Personally, I don't have a dog; that is why I modified
/etc/sudoers in such a way that it never asks me for my password -- being there is sufficient. Using the command
sudo visudo I have edited
/etc/sudoers and edited the following line:
%sudo ALL=(ALL:ALL) ALL
The line above means that all users from the sudo group (and I can only assume that
Shannon belongs to this group if he installed his system) can run essentially ALL root commands.
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Ah, but now the NOPASSWD directive makes sure that not only I can run any program as root, I can run it without being pestered for typing a password. Note that to edit this file I must use the program
visudo which makes sure that I don't make any syntax error. Syntax error in the
sudoers file might completely disable the sudo system -- and then, if root does not have a password, you are in a deep kacka.
To add confusion, there is yet another program allowing for gaining root privileges temporarily called
su is much more primitive -- it just asks for the password of the root. Therefore, it does not work in a default Ubuntu installation.
So, which password is actually asked for when you type
sudo su? Well, the command that you are running first is
sudo , not
su. Thus, you are asked for
Shannon's password, not roots.
sudo then gains root privileges and runs
su as root. But when the root runs
su does not ask for a password. In any case, don't do that -- that is what
sudo -i is for (does exactly the same thing).