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
user:x:501:
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.
mkdir /home/user
chown user:user /home/user
Now let us try to login with our newly created user
chown user:user /home/user
Now let us try to login with our newly created user
# su - user
-bash-4.1$
You should see [user@linuxforfreshers.com]$
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 16
14:27 .
drwxr-xr-x. 3 root root 4096 Jan 16
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
NOTE: /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@linuxforfreshers.com ~]# 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@linuxforfreshers.com ]# su -
user
[user@linuxforfreshers.com]$
And you are good to go.
NOTE: Do not manually edit /etc/shadow
file because it contains the encrypted password section which is automatically
generated
# cat /etc/shadow | grep user
user:$6$HG.agA9Q$X2scLxur6G6FIW0eb1ArgAQcnioNLJmeBjDX.FAvfchXUhElwVKhwa3hHCFMI/vNUdr3fgqcge2PTEaKFfzXW/:16082::::::