How to add an user in Linux without using USERADD/ADDUSER command

Опубликовано: 06 Октябрь 2024
на канале: techessay
94
1

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.
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

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@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:
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