• VMware

    Learn about VMware virtualization for its products like vsphere ESX and ESXi, vCenter Server, VMware View, VMware P2V and many more

  • Linux

    Step by step configuration tutorials for many of the Linux services like DNS, DHCP, FTP, Samba4 etc including many tips and tricks in Red Hat Linux.

  • Database

    Learn installation and configuration of databases like Oracle, My SQL, Postgresql, etc including many other related tutorials in Linux.

  • Life always offers you a second chance ... Its called tomorrow !!!

    Sunday, January 12, 2014

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

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

    Follow the below links for more tutorials

    Configure Red Hat Cluster using VMware, Quorum Disk, GFS2, Openfiler
    Tutorial for Monitoring Tools SAR and KSAR with examples in Linux
    How to configure Samba 4 Secondary Domain Controller
    How to secure Apache web server in Linux using password (.htaccess)
    How to register Red Hat Linux with RHN (Red Hat Network )
    Red hat Enterprise Linux 5.5 Installation Guide (Screenshots)
    15 tips to enhance security of your Linux machine
    Why is Linux more secure than windows and any other OS
    What is the difference between "su" and "su -" in Linux?
    What is swappiness and how do we change its value?
    How to log iptables messages in different log file
    What are the s and k scripts in the etc rcx.d directories
    How to check all the currently running services in Linux
    How to auto start service after reboot in Linux
    What is virtual memory, paging and swap space?


    1. while assigning password with command "passwd username" iam getting error

      passwd: authentication token manipulation error

      what to do?

      1. Check your /etc/password and /etc/group

    2. Password assigned by root user. Try wit help sudo user

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

      1. danish kaha:

        mkdir /home/user/
        then open directory mr rama

      2. danish kaha:

        mkdir /home/user/
        then open directory mr rama

      3. danish kaha:

        mkdir /home/user/
        then open directory mr rama

      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

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

    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. we can newusers command right! i think it's pretty much easier than the way that you described !!!