Author: Vivek Gite Last updated: April 29, 2020 2 comments See all Ubuntu Linux related FAQ
I have Ubuntu Linux 18.4/20.04 LTS server running on AWS cloud. How do I create a user account on Ubuntu Linux server using the command line? How can I add users on Ubuntu?
Introduction : By default, the cloud server comes with a user named ubuntu. You can use such primary user account for system admin tasks on Ubuntu. However, sometimes you need to add a new user account on Ubuntu for additional sysadmin tasks. This page shows how to create a user account or sysadmin account on the Ubuntu server. ADVERTISEMENT Steps to create a user account on Ubuntu Linux
Open the terminal application
Log in to remote box by running the ssh user@your-ubuntu-box-ip
To add a new user in Ubuntu run sudo adduser userNameHere
Enter password and other needed info to create a user account on Ubuntu server
New username would be added to /etc/passwd file, and encrypted password stored in the /etc/shadow file
Let us see all commands in details and Ubuntu create user account commands
Let us say you need to add a new user in Ubuntu called vivek, type the following command in your shell:
$ sudo adduser vivekType your own password and other info:
Create a user account on Ubuntu Linux
VerificationUse the grep command or cat command as follows:
$ cat /etc/passwd
$ grep '^vivek' /etc/passwdSample outputs:
vivek:x:1001:1001:Vivek Gite,,,:/home/vivek:/bin/bash
How do I log in using ssh?
From your Windows (WSL) or macOS or Linux desktop, run: $ ssh vivek@your-aws-ubuntu-server-ip
OR $ ssh -i ~/.ssh/aws.pub.key vivek@your-aws-ubuntu-server-ip
Enter the password when prompted. Creating a user account using useradd command on Ubuntu
Alternatively, you can use the useradd command is a low level utility for adding users on Ubuntu. The syntax is:
$ sudo useradd -s /path/to/shell -d /home/{dirname} -m -G {secondary-group} {username}
$ sudo passwd {username}$ sudo useradd -s /bin/bash -d /home/vivek/ -m -G sudo vivek
$ sudo passwd vivekWhere, -s /bin/bash – Set /bin/bash as login shell of the new account -d /home/vivek/ – Set /home/vivek/ as home directory of the new Ubuntu account -m – Create the user’s home directory -G sudo – Make sure vivek user can sudo i.e. give admin access to the new account
I strongly recommend installing ssh keys while creating the new user account. You must have RSA/ed25519 key pair on your local desktop/laptop. Use the cat command to view your current RSA/ed25519 public key on the desktop: $ cat ~/.ssh/id_ed25519.pub $ cat ~/.ssh/id_rsa.pub
View public ssh key on your macos/unix/linux desktop
View public ssh key on your macos/unix/linux desktop Run the following commands on your Ubuntu server to install above ~/.ssh/id_ed25519.pub key from your desktop: $ sudo mkdir /home/vivek/.ssh/ $ sudo chmod 0700 /home/vivek/.ssh/ $ sudo -- sh -c "echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILaLvLmaW9qIbUVo1aDHWZE9JewbNfIdTVif2aFGF0E0 vivek@nixcraft' > /home/vivek/.ssh/authorized_keys" $ sudo chown -R vivek:vivek /home/vivek/.ssh/
Now you can log in with ssh keys: $ ssh vivek@your-aws-server-ip-here
For more info see:
Ubuntu 18.04 Setup SSH Public Key Authentication
Use the userdel command as follows:
sudo userdel {userName}
sudo userdel vivekTo remove home directory and mail spool too, enter:
sudo userdel -r {user-name}
sudo userdel -r jerryRun the following passwd command:
sudo passwd {username}
sudo passwd tomTo change your own password, enter: passwd
First, the user is prompted for their current password. If the current password is correctly typed, a new password is requested. The new password must be entered twice to avoid password mismatch errors. Conclusion
In this quick tutorial, you learned how to add users in Ubuntu Linux using the CLI. The same commands works for any Debian/Ubuntu based distribution too. See useradd man page using the man command or read it online here: man 8 useradd man 8 passwd man 8 adduser