How to create user without useradd command in Linux

Follow these steps to create a user without using useradd command in Red Hat Linux.
Step 1
Add an entry of user details in /etc/passwd

The field details are as shown below

username:password:UID:GID:Comments:Home_Directory:Login Shell
# vi /etc/passwd
user:x:501:501:test user:/home/user:/bin/bash

Step 2
You will have to create a group with same name. So add a new entry in /etc/group

# vi /etc/group

Step 3
Assign a password to the user

# passwd user
Changing password for user user.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Now let us try to login with our newly created user

# su - user

You should see [user@test ~]$ instead of -bash-4.1$ prompt. So why does this happens?
Let us check the contents of its home directory

-bash-4.1$ ls -al
drwxr-xr-x 2 root root 4096 Jan 12 14:27 .
drwxr-xr-x. 3 root root 4096 Jan 12 14:27 ..

So, as you see none of the default contents of a normal user home directory is present like .bashrc, .bash_profile etc.
Final Step 4


/etc/skel directory contains all the defaults files which are present inside the home folder of any user

So, copy the contents from /etc/skel inside /home/user using the below command

[root@test ~]# cp -v /etc/skel/.* /home/user/
cp: omitting directory `/etc/skel/.'
cp: omitting directory `/etc/skel/..'
`/etc/skel/.bash_logout' -> `/home/user/.bash_logout'
`/etc/skel/.bash_profile' -> `/home/user/.bash_profile'
`/etc/skel/.bashrc' -> `/home/user/.bashrc'
`/etc/skel/.emacs' -> `/home/user/.emacs'
cp: omitting directory `/etc/skel/.gnome2'
cp: omitting directory `/etc/skel/.mozilla'

Now re login to the user

[root@test user]# su - user
[user@test ~]$

And you are good to go.


IMPORTANT NOTE:But one more thing, did you noticed I didn't touched /etc/shadow file while it also contains all the user related details. As soon as we assign a password to the user an entry for that user is created inside /etc/shadow

Do not manually edit /etc/shadow file because it contains the encrypted password section which is automatically generated
# cat /etc/shadow | grep user

Let me know your success and failures

24 thoughts on “How to create user without useradd command in Linux”

  1. while assigning password with command "passwd username" iam getting error
    passwd: authentication token manipulation error
    what to do?

  2. hi i dont have any user except root and i am trying to create new user with out useradd command and getting following error message.
    1.)created user by editing /etc/password
    2.)edited /etc/group entry
    3.)login to user
    -bash-4.1$ ls -al
    ls: cannot open directory .: Permission denied
    please help me

    • you are getting this error because the user’s home directory doesn’t contain the default files. you can copy the content of the /etc/skel to the home directory of the user.
      Once it is done, you won’t be getting the error.

  3. After making directory in /home change owner and group setting through chown and chgrp commands:
    chown user /home/user
    chgrp user /home/user
    Now login again
    su – user

  4. correct danish, after making directory change its owner and group as user with the chown & chgrp command
    chown user /home/user
    chgrp user /home/user

  5. hai guys…..
    in my Linux machine there is no file in /etc/skel so error is like -bash-1.4$ what is the solution for recovery skeleton

  6. I am not able to use the last step I.e. cp -v /etc/skel/.* /home/user/
    It's showing error such as 'target directory' is not a directory.
    Pls help me.

  7. how the /etc/shadow file got updated while the normal user changing his password? As only root user has the access then why it happens ?

  8. By default a normal is allowed to change his/her password assuming he/she knows the current password which will update the shadow file if they manage to change their password successfully.


Leave a Comment