add new user with root access in Linux

Solution 1:

There are actually three ways you can do this: the right way, the wrong way, and the ugly way.

First, create a normal user account.

adduser username

Then select one of the following:


The Right Way

Create a sudo entry for the wheel group in /etc/sudoers like this:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Or for "modern" versions:

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

Then add the user to the wheel group. Adding and removing users with administrative priviledges now becomes a function of remembering to add them to wheel, instead of creating an entry in sudo. The great thing about using wheel is that you can extend this mechanism into other authentication schemes that support groups, i.e. winbind/Active Directory, and reap the benefits in the process. You would accomplish this by mapping wheel to a group in your authentication schema that has admin privileges.

Note that some distributions use different administrative accounts. Wheel is a "traditional" approach to this, but you may encounter admin, adm, and other group accounts that serve the same purpose.

Follow-up Edit:

I have to give a point to Bart Silverstrim for pointing out that Ubuntu uses admin as the group for this purpose. He got to this first, although I didn't notice an Ubuntu tag at the time. Again, it all depends on what distribution your are using.


The Ugly Way

Create a sudo entry for the user account in question and give then complete access. Again, you create the entry in /etc/sudoers like this:

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

ADDED: ## For Ubuntu version: username ALL=(ALL:ALL)

This is great if you only have one (or two) normal accounts. It is ugly when you have a hundred accounts over multiple (geophysical) sites and have to constantly maintain the sudo file.


The Wrong Way

You can edit the /etc/passwd file and change the user account ID from whatever number it is, to 0. That's right, zero.

username:x:0:502::/home/username:/bin/bash

See that third entry as zero? When you log into that account, you are, for all effective purposes, root. I do not recommend this. If you do not remember "who" you are, you can create all kinds of havoc as you start creating and touching files as root. You could also add your username to the root group. This has the same effect for file access but it creates other issues; programs will notice you are not user root and refuse to run, but you will gain access to files that belong to group root.

If you did this, you did use vipw instead of just editing with vi, right? (or whatever your favorite text editor is) After all, a single typo in this file can lock you out of your system - and that means a physical visit to the computer in question with a repair disc...

Solution 2:

I've been using this for years and it's the #1 recommended way to add a sudoer on AskUbuntu:

adduser existinguser sudo

Much simpler than editing files, and easy to throw in a shell script for unattended installation.

If you want to create the user and grant sudo privileges, you can do that in one line like this:

useradd newuser -m -G sudo
passwd newuser

-m created a home directory, and -G specifies a supplementary group.

Solution 3:

and with this is 100%:

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

and connect with putty and ip server

Solution 4:

Well you may create user with adduser, see man adduser.
After you can add it to privileged group like root, or wheel. But i think that the most recommended way to have some permission is using sudo.

Solution 5:

you can perform :

#useradd -m -g root alex

it creates a user Alex with a home directory who belongs to the root group