Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If you use sudo su - or sudo -s you will get the full root certification "likewise a root user ".

Is this user an official user or is it from canonical?

~$ sudo su -
[sudo] password for username: 
root@lp:~# id
uid=0(root) gid=0(root) groups=0(root)
root@lp:~# pwd
share|improve this question
root is the all powerful uber-user. root exists in Unix and all versions of Linux. Some Linux versions require you to set up a password for root others such as Ubuntu don't and use sudo instead. – Warren Hill Aug 6 '14 at 12:56
up vote 5 down vote accepted

Yes the root user is an official one.

That user comes from a long line of historical influences. It's the conventional name of the user who has all rights or permissions. Most Unix-linke operating systems have a root user. It's not always called "root". You may know the Administrator of Windows operating systems.

Some Linux derivates like Ubuntu allow administrator accounts which provide greater access (not a root account). In some cases, specially Ubuntu, the root user is disabled defaultly, because you can destroy the system with the root user if you do not know what you do.

The root user can do things that a normal user cannot for example:

  • He can change the owner of files/directories
  • He can bind network ports below 1024
  • He has always the uid 0 and can be indentified by this id.
  • Ergo: There is only one root

In Ubuntu (and other Linux derivates) there is a mechanism to gain root priviledges for a short amount of time. One of those mechanisms is sudo. sudo can be used to run a program with root priviledges, but with the users environment.

Edit: Short digression about sudo:

The clue is the so called suid-bit that is on some programs such as sudo. It allows to run the program with root priviledges, even if the root account is disabled (as in ubuntu). sudo itself controls whether the user has the right to execute whatever he wants. So, you execute sudo as root and sudo decides if it executes the given command as root.

The system would not be operable without the root user. There must be a user with the id 0 and the name root (but it can be disabled due to suid/sudo). Or such mechanisms as the suid bit will not work. Hence your will not be able to gain root priviledges. Source: Wikipedia

share|improve this answer
that what made me think that is a virtualisation confirmed that is an official user by trying "~$ sudo su - ~# startx " in tty – hwez Aug 6 '14 at 12:41
@hwez if you changed to the root user and type id as you do in your question, an it replies uid=0 then you are the root user. Note when you type sudo id it also replies uid=0 because id is executed with root priviledges. – chaos Aug 6 '14 at 12:45
the root privilege in debian based linux is unofficial because the os is getting the privilege from another user which you can not login to it "it is just like the Android getting the root privilege from the boot because the boot got the root privilege" – hwez Aug 6 '14 at 13:02
@hwez see my edit – chaos Aug 6 '14 at 14:48
@hwez well it's not really like that. In Linux operating systems, you can still login to the root user directly without having to go through another user that has the privilege. In Android, the person using the Android OS is not allowed to have access to the root user. Rooting an Android device is basically installing that su command to you can switch to root, just like what you're doing on Linux OSs. In Linux OSs, su is already there, so it's not "unofficial". – Alaa Ali Aug 6 '14 at 16:31

It is root.

In Ubuntu root defaults to having no password set so you have to sudo su - or sudo -s to login as root. Or if you really wanted, set a password for root and bypass the need for sudo (not adviseable)

sudo su -

Open the root users default environment, So you get the root users shell etc..

sudo -s

Will open the shell defined in the variable$SHELL or /etc/passwd for the invoking user not the root user. This method you get to keep some extra enviromental variables so you know who done the sudo etc...

share|improve this answer
actually i know all of this i am just asking if the root user is an official user or not – hwez Aug 6 '14 at 11:42
Then I clear that up in the first three words :) – squarebear Aug 6 '14 at 11:51

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.