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
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
while assigning password with command "passwd username" iam getting error
passwd: authentication token manipulation error
what to do?
run command with root user
Password assigned by root user. Try wit help sudo user
Check your /etc/password and /etc/group
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
user:x:501:501::/home/user:/bin/bash
2.)edited /etc/group entry
user:x:501:
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.
danish kaha:
mkdir /home/user/
then open directory mr rama
danish kaha:
mkdir /home/user/
then open directory mr rama
danish kaha:
mkdir /home/user/
then open directory mr rama
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
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
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
we can newusers command right! i think it's pretty much easier than the way that you described !!!
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.
first create directory and give permission
#mkdir /home/user/
create home directory for user
example: mkdir /home/username
after cp -v /etc/skel.* /home/username
Thank you Santosh Kumar
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 ?
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.
Is there any shell script that will add user without Useradd utility?? if there don't be late in replying me back!
Just combine all these commands in a script and add some checks so that your script does not do any harm
files are in hidden . u can run ls -a cmd from /etc/skel
Thanks admin
Thank you. This content really helped me.