Follow these steps to create a user without using useradd command in Red Hat Linux.
Add an entry of user details in /etc/passwd
The field details are as shown below
# vi /etc/passwd user:x:501:501:test user:/home/user:/bin/bash
You will have to create a group with same name. So add a new entry in /etc/group
# vi /etc/group user:x:501:
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 -bash-4.1$
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
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.
# cat /etc/shadow | grep user user:$6$HG.agA9Q$X2scLxur6G6FIW0eb1ArgAQcnioNLJmeBjDX.FAvfchXUhElwVKhwa3hHCFMI/vNUdr3fgqcge2PTEaKFfzXW/:16082::::::
Let me know your success and failures