64

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?

  • 1
    See this: Ubuntu Community Help Wiki: RootSudo – gertvdijk Sep 17 '12 at 19:14
  • 1
    From RootSudo: "the Root account password is locked in Ubuntu. ... you cannot login as Root directly or use the su command to become the Root user ... This is where sudo comes in ... When using sudo, your password is stored by default for 15 minutes. After that time, you will need to enter your password again. " – Peter Mortensen Jun 1 '13 at 8:46
  • 5
    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 '14 at 17:03
  • You can read a little here. :) – Anonymous Platypus May 21 '15 at 7:19
73

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
    "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 '15 at 2:54
  • 3
    Boot to recovery mode ;) – Panther Feb 14 '15 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 '15 at 20:11
  • What does gksu do that sudo doesn't? – lindhe Jan 17 '17 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 '17 at 16:56
46

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.

27

By default Ubuntu 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, this isn't the typical "Ubuntu" way of doing things. Instead Ubuntu expects that you will be 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.

protected by Community May 4 '14 at 9:28

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.