How can I log into Ubuntu-9.04 as administrator or root?

Posted on

Problem :

My problem is that whenever I try using sudo, I get an error message saying: shawn is not in the sudoers file. This incident will be reported.
How can I add my user to the sudoers file? Or how can I log in as a user that is in the sudoers file?

I also noticed, using the “users” command, that there are two users called shawn…
How can I tell which shawn I am logged in as? How can I delete one of them to retain only the user that has administrative “powers”?

Thanks for any help

Solution :

Ubuntu locks the root password by default, so you cannot login as root or su into it. Normally your userid would belong to the admin group and the admin group has sudo permissions granted via /etc/sudoers.

Find out which id you’re logged in as using the id command. This is obviously the wrong “shawn” id as you don’t have sudo permissions.

Now, reboot the system. At the GRUB screen, press Esc to boot into recovery mode. In recovery mode, you are root. Delete the unwanted id (userdel) or just modify it to a different name (usermod). Reboot. You should be able to log into the correct id now (id command should show a different uid). If this doesn’t work, just reboot again into recovery mode. Delete the other id too. Create a new id and add it to the admin group.

Edit: I just realized that SU had a very similar question in the sidebar, and following that led me to this answer that has a meticulously detailed write-up on booting into recovery mode (and editing the /etc/sudoers file).

In a terminal, execute the following command:

grep ^admin /etc/group

That will give you the names of all “admin” users. Log in as one of those, then “sudo” should work perfectly well. Then you can enable the root user, or simply “sudo bash” if you need a root terminal.

I’m guessing you’ve created a second user since installing, that isn’t part of the admin group. Alternatively, you’ve somehow removed yourself from the admin group, in which case you’re pretty much lost without finding another way to modify your system (e.g. using a bootable CD).

If you want to directly allow root logins, you first need to solve the problem of getting root access in the first place. Jeremy’s answer above covers that.

Once you can run sudo commands, set the root password: sudo passwd. Now you will be able to login as root.

Using sudo su will sidestep the “Ubuntu locks the root password by default” thing that nagul writes about.

This effectively takes the place of simply using su to become root.

Leave a Reply

Your email address will not be published.