84

I installed Ubuntu 12.04 LTS (Precise Pangolin), 64 bit. Nowhere was I asked to set password for root.

I just installed AccuRev SCM software. It was installed under the /root folder by default. Now I try do something on that folder. I tried with su to switch to root, but I don't know its password.

Should I always use sudo or get the default root password, if any?

How do I create a launcher for software installed inside the /root directory?

4
  • 2
    See this: Ubuntu Community Help Wiki: RootSudo
    – gertvdijk
    Sep 17, 2012 at 19:14
  • 7
    this lameass website won't let me answer, but the correct answer is: sudo usermod root -p password; sudo passwd root; then enter the new password. presto, root is unlocked and you can now su/login with root
    – r3wt
    Jun 7, 2014 at 17:03
  • You can read a little here. :) May 21, 2015 at 7:19
  • 1
    How idiotic things can get - su is disabled, sudo is not installed, this distribution is used as a base for mssql server, the instructions say you need to sudo open some network ports to enable MSDTC. Back to square 1. Jan 29, 2020 at 12:05

4 Answers 4

85

By default, the root account is accessed by sudo.

For a complete discussion in the topic, and information for how to set a root password, see: RootSudo - Community Ubuntu Documentation

With that said, it is extremely unlikely you need to set a root password, I advise you use

sudo -i

Or for graphical applications, use gksu

gksu nautilus 
5
  • 7
    "extremely unlikely you need to set a root password": I do not agree. If one is logged in as "joeblo", and then needs to move their /home/joeblo directory aside to move in a new one from a previous installation. They cannot do that safely from their own user account. They must do that from some other user account. Yes, they could sudo and then create a second user account, and then sudo and do the move, but that is a waste of effort. This happens to me every time I load a new version of Linux since I want to replace the installer-generated /home/joeblo directory with my previous one.
    – bgoodr
    Feb 14, 2015 at 2:54
  • 4
    Boot to recovery mode ;)
    – Panther
    Feb 14, 2015 at 4:06
  • Bodhi.zazen has by far the best answer; boot to recovery mode (wiki.ubuntu.com/RecoveryMode). If you have a corrupted groups file and can't sudo (sometimes there is no substitute for being root).
    – whitey04
    Apr 25, 2015 at 20:11
  • What does gksu do that sudo doesn't?
    – lindhe
    Jan 17, 2017 at 20:16
  • at lindhe - askubuntu.com/questions/11825/… . In addition gksu is in theory better for integrating and security with graphical applications and sudo / su are intended for command line interface (IMHO).
    – Panther
    Jan 18, 2017 at 16:56
53

Password for root is not set in Ubuntu which means the root login is disabled by default.

The user account created during Ubuntu installation is associated with all sudo capabilities. You could use sudo for commands that require root privileges in Ubuntu terminal.

However you can enable the root account and set a password for it. To do so use:

sudo passwd root

Firstly you will be asked for your current user password and after this you will be asked for the new password twice (new and retype password) as your new root password.

For more information see RootSudo - Community Ubuntu Documentation.

5
  • This is dangerous.. Jun 13, 2019 at 13:59
  • 7
    @wieczorek1990 Why exactly? Oct 16, 2019 at 10:31
  • 1
    I couldn't remember ever setting up my root password so I couldn't remember it and $ su root was failing with every password I tried. I ran your command $ sudo passwd root and it worked perfectly. Thanks for a great answer.
    – raddevus
    Aug 18, 2020 at 20:34
  • 1
    You should still configure the root password for Ubuntu. Since it's disabled by default and you create a user password for all admin tasks on installation, booting into single user mode will give access to a root shell - even if your boot options have been set to prompt for one. It doesn't have one to ask for unless you set it Sep 30, 2020 at 9:18
  • sudo has benefits, but not having a root password set can also be troublesome. I had a machine last week that failed to boot up, showing the message "Give root password for maintenance (or press Control-D to continue):" The problem is that the machine did not have a root password set, and just pressing enter would only display the message again, as would control-D, so I had to take the hard drive out and access it from another machine to fix it.
    – Noah
    Apr 18, 2023 at 10:43
32

By default the Ubuntu installer does not set up a root password and therefore you don't get the ability to log in as root. Instead you are given the ability to perform tasks with superuser privileges using sudo.

I've answered a similar question before.

While you can create a password for the root account allowing you to log in as root with su, there are some distinct benefits to using sudo.

Using sudo

Sudo is an alternative to giving people a root password in order to perform superuser duties. In a default Ubuntu install the person who installed the OS is given "sudo" permission by default.

Anybody with "sudo" permission may perform something "as a superuser" by pre-pending sudo to their command. For instance, to run apt-get dist-upgrade as a superuser, you could use:

sudo apt-get dist-upgrade

By default, sudo will ask you for your own account password when performing this. This helps security. This is remembered for a few minutes so if you have a few tasks to do with sudo it will only ask you for your password on the first.

You will see the above usage of sudo pretty much anywhere you read a tutorial about Ubuntu on the web. It's an alternative to doing this.

su
apt-get dist-upgrade
exit

Benefits

With sudo, you choose in advance which users have sudo access. There is no need for them to remember a root password, as they use their own password. If you have multiple users, you can revoke one's superuser access just by removing their sudo permission, without needing to change the root password and notify everyone of a new password. You can even choose which commands a user is allowed to perform using sudo and which commands are forbidden for that user. And lastly, if there is a security breach it can in some cases leave a better audit trail showing which user account was compromised.

Not having a root password makes brute force attacks on the root account impossible: this is relevant if you allow login over SSH. Instead, an attacker would need to know a local account name.

Sudo makes it easier to perform a single command with superuser privileges. With su, you permanently drop to a superuser shell which must be exited using exit or logout. This can lead to people staying in the superuser shell for longer than necessary just because it's more convenient than logging out and in again later.

Getting a root shell

With sudo, you still have the option of opening a permanent (interactive) superuser shell with the command:

sudo su

... and this can still be done without any root password, because sudo gives superuser privileges to the su command.

And similarly, instead of su - for a login shell you can use sudo su - or even sudo -i.

However when doing so you just need to be aware that you are acting as a superuser for every command. It's a good security principle not to stay as a superuser for longer than necessary, just to lessen the possibility of accidentally causing some damage to the system (without it, you can only damage files your user owns).

Just to clarify, you can, if you choose, give the root user a password allowing logins as root, if you specifically want to do things this way instead. I just wanted to let you know about the Ubuntu convention of preferring sudo instead and let you know that there is an alternative.

1

While we are at it, If you are trying to log in via ssh into the root account and its giving you back the "Permission Denied" look, even after you having updated the root password multiple times over, remember that apart from updating the root password as others have mentioned, you also have to enable the root ssh login in the ssh server config.

sudo vi /etc/ssh/sshd_config

set

PermitRootLogin yes

do the restart dance

service ssh restart

Bamm!!! You're in!

PSst: Btw this is for Ubuntu, YMMV.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .