Lost sudo

From FreekiWiki
Jump to navigation Jump to search

In Xubuntu (and other Ubuntu-derived operating systems) there isn't a true root user account, so in the majority of cases system administration will be performed by a user capable of using the sudo function to gain superuser privileges.

If you are ever prompted for the root password and do not have the option to provide the password for any of the user accounts on your system the problem is likely that none of your user accounts have authority to use sudo.

Booting into Recovery Mode with GRUB

Ubuntu 10.04

Note that after performing step 1 you have a limited time to perform step 2, so please read the instructions fully before beginning the process.

  1. Power on the computer (shut it down first or simply reboot if it is already running).
  2. When the BIOS information or manufacturer's logo "splash" screen appears start holding down the right shift key. If your computer does not usually display BIOS information or a manufacturer's logo you may need to start holding down the shift key immediately after pressing the power button.
  3. After a few seconds you will see the GRUB menu, which is characterized by a lines that will say ...kernel 3.2.... If the system continues to boot normally and arrives at the regular login screen or desktop you will need to restart and try again. If you are repeatedly failing to reach the GRUB menu try quickly and repeatedly tapping the shift key until the menu appears instead of just holding it down.
  4. Hit the down arrow key (usually only once) until it arrives on the first line that ends with recovery mode and press enter.
  5. Select "Root" from the recovery mode menu that appears to enter a shell environment with root privileges.
  6. You should now see a prompt at the bottom of the screen that reads
  root@freekbox:~#

Proceed to the "Restoring sudo" section of this page.

Xubuntu 12.04

Note that after performing step 1 you have a limited time to perform step 2, so please read the instructions fully before beginning the process.

  1. Power on the computer (shut it down first or simply reboot if it is already running).
  2. When the BIOS information or manufacturer's logo "splash" screen appears start holding down the right shift key. If your computer does not usually display BIOS information or a manufacturer's logo you may need to start holding down the shift key immediately after pressing the power button.
  3. After a few seconds you will see the GRUB menu, which is characterized by a lines that will say ...kernel 3.2.... If the system continues to boot normally and arrives at the regular login screen or desktop you will need to restart and try again. If you are repeatedly failing to reach the GRUB menu try quickly and repeatedly tapping the shift key until the menu appears instead of just holding it down.
  4. Hit the down arrow key (usually only once) until it arrives on the first line that ends with recovery mode and press enter.
  5. Select "Root" from the recovery mode menu that appears to enter a shell environment with root privileges. Note that until further steps are completed your file system will be in "read only" mode and you will not be able to make any persistent changes to the system.
  6. You should now see a prompt at the bottom of the screen that reads
  root@freekbox:~#

Mount the file system in read/write mode by entering the following command at the prompt:

  mount -o remount,rw /

Restoring sudo

If you are certain of the specific username you need to give sudo privileges to then skip to to Adding a user to sudo. Note that your proper username may not be the name you usually see at the login screen; a full name like "John Smith" is not a proper username, but a shorter, simpler name like "jsmith" is likely to be correct.

Identifying usernames

If you're unsure what the exact username you need to add is, type the following command:

  cat /etc/passwd

A large list will appear, containing lines such as

  root:x:0:0:root:/root:/bin/bash
  bin:x:1:1:bin:/bin:/bin/false
  jsmith:x:1000:100:John Smith:/home/jsmith:/bin/bash

In that example the first two lines are system accounts, but the third line is a user account that could be granted sudo access, with the first word of it (jsmith) being the correct username.

Adding a user to sudo

Type the following command and press Enter to create a back up of your group settings:

  cp /etc/group /etc/group.bak

Type the following command, substituting the desired user for the example "jsmith":

  useradd -G sudo jsmith

Restart your system with the command

  reboot

Your system will restart and your new account should now be able to use administrative features. If you are returned to the GRUB menu after restarting just press the Enter key to select the default option and boot normally.