Users and Groups in Ubuntu
Updated on 28 Dec 2018
Many of the options and can be found on the official manpage here: Link to Git
You can see the users on your system by looking at the /etc/passwd file
This gives you a whole list of data that might clutter what you really want to see. In this case, we can use the cut command.
cut -d: -f1 /etc/passwd
Currently logged in users
You can see who is currently logged onto the system by a really simple command. The
Add a normal user
There are two commands that can be used to add a user.
adduser. We are going to use the more friendly version of
A normal user is a person that will have a login account and will be able to log into the system. This will create a user mama and a group mama.
Next time you turn the machine on, you’ll have a new user that you can select. Notice that the fullname we used above, is also the login name we are presented with below.
Add a system user
A system user does not have a login. We can add a system user with the following command
adduser --system mama
By default this will create a system user with a
nogroup assignment. You can specify additional options:
--ingroup- specify an existing group for the user to be assigned.
--group- create a new group for the user to be assigned.
Example shown below
adduser --system --group mama
Delete a user or group
We can delete a user or group with the following commands
Example shown below
The above will delete the user account mama, however the home directory will remain intact. If you wanted to remove the home directory as well, use the
deluser --remove-home mama
Other options can be found on the manpages
Add a New Group
If you want to create a new group on your system, use the
sudo groupadd mynewgroup
Add an Existing User Account to a Group
To add an existing user account to a group on your system, use the
usermod -a -G groupname username
Change a User’s Primary Group
While a user account can be part of multiple groups, one of the groups is always the “primary group” and the others are “secondary groups”. The user’s login process and files and folders the user creates will be assigned to the primary group.
To change the primary group a user is assigned to, run the
usermod command. This time specifying lowercase -g instead of uppercase like we did with the previous example.
usermod -g groupname username
-g here. When you use a lowercase g, you assign a primary group. When you use an uppercase
-G , as above, you assign a new secondary group.
View the Groups a User Account is Assigned To
To view the groups the current user account is assigned to, run the
groups command. You’ll see a list of groups.
To view the numerical IDs associated with each group, run the id command instead:
To view the groups another user account is assigned to, run the groups command and specfy the name of the user account.
You can also view the numerical IDs associated with each group by running the id command and specifying a username.
The first group in the groups list or the group shown after
“gid=” in the id list is the primary group for the account.
View All Groups on the System
If you want to view a list of all groups on your system, you can use the
This output will also show you which user accounts are members of which groups. So, in the screenshot below, we can see that the user accounts
chris are members of the
Change your password
You can change your password with the following command.
Change someone else password
If you have
sudo privileges on the system, then you’ll be able to change someone else’s password.
sudo passwd other_user