How To Manage Permissions
From: https://linuxwizardry.com/how-to-manage-users-and-groups-on-ubuntu-22-04/
How to Manage Users and Groups on Ubuntu 22.04
by Rohan July 19, 2022
Linux is a multi-user and multi-tasking operating system. User and group
management are the two most important tasks to be performed by Linux
administrators.
In Linux, each user has their own login name and a home directory. Every
user belongs to a primary group, and users can be added to multiple
secondary groups. All users in the group will have the same group permission
on files and folders. This makes it easier to provide permission for
multiple users.
This tutorial will demonstrate how to manage users and groups in the Linux
system.
A Quick Overview
The command-line tools to manage the users and groups in Linux are:
We will cover the practical examples of all commands in this article. To
follow the tutorial, you will need to switch to the root user or any user
with sudo privileges.
1. Create a new user
You can add a new user to the system using the adduser command. The
following command creates a new user henry in the system.
$ sudo adduser henry
It will prompt you to enter the password for the new user and other user details.
Output:
adduser command to create a new user in linux
To verify the user, you can try to log in as a new user.
su - henry
Output:
log in as another user in linux
2. Understanding the /etc/passwd file
The /etc/passwd is a plain text file that stores the user account information
in Linux. You can use the cat command to view the content of /etc/passwd.
$ cat /etc/passw
Output:
view the content of a etc passwd file in linux
Each user has one entry per line. The fields are separated by a colon : symbol
and contains the following information.
username:password:UID:GID:GECOS:home_directory:shell
The new entries are saved at the end of a file. To find a user henry, you
can see the last entries. Alternatively, you can use the grep command.
$ grep henry /etc/passwd
Output:
search for a specific user in a passwd file
3. Change the login name of a user
You can use the usermod command to change a user’s login name in Linux.
This command renames the user henry to james.
$ sudo usermod -l james henry
Output:
usermod command to change the login name of a user
As you can see, the username is changed to james.
4. Change the user ID of a user
By default, the system automatically sets the next available UID when creating a
user. The usermod command with -u flag can be used to change the UID of a user.
The following command changes the user ID of james to 4567.
$ sudo usermod -u 4567 james
Output:
usermod command to change the uid of a user in linux
5. Change the group of a user
The -g option with usermod command changes the primary group of a user. For
example, to change the primary group of a user james to linuxwizardry, you can
run this command.
$ sudo usermod -g linuxwizardry james
The specified group must already exist in the system.
Output:
usermod command to change the group of a user
In Linux, a user can have only one primary group. But you can assign a user to
multiple secondary groups. The -G flag allows you to specify the secondary group
for a user.
The following command adds a user james to the group ubuntu.
$ sudo usermod -G ubuntu james
Output:
6. Add a user to the sudoers group
You can add a user to the sudoers group and provide sudo privileges to that user.
This command adds a user james to the sudo group.
$ sudo usermod -aG sudo james
The -a option adds a user to the group without removing the current group.
Next, log in as a user james and run the sudo command to confirm.
$ su - james
$ sudo whoami
Output:
add a user to the sudoers group
7. Change the password of a user
The passwd command is used to change the user’s password in Linux. The
following command changes the password of a user james.
$ sudo passwd james
Output:
passwd command to change user password in linux
8. Delete a user
When the user account is not needed, you might want to delete it from the
system. The userdel command helps to remove a user in Linux.
The below command deletes a user james from the system.
$ sudo userdel james
Output:
userdel command to delete a user in linux
9. Delete a home directory of a user
The usedel command without any flags only removes a user. It does not delete
the home directory of a user in the /home directory.
To delete a user along with its home directory, you can use:
$ sudo userdel -r james
10. Add a new group
You can add a new group to the system using the groupadd or addgroup
command. The following example creates a new group computer on the system.
$ sudo groupadd computer
OR
$ sudo addgroup computer
Output:
addgroup command to add a group in linux
11. Understanding /etc/group file
The /etc/group file stores the group details in a list. Each entry contains
the following group information for each group.
group_name:group_pwd:group_id:group_list
You can display the entries in /etc/group file with the cat command.
$ cat /etc/group
Output:
display the entries in etc group file in linux
12. Create a system group
If you need to add a new system group, you can use the -r flag with the
groupadd command. This command creates a new system group sysmin.
$ sudo groupadd -r sysmin
Output:
groupadd command to add a system group in linux
13. Add a new group with specific GID
When creating a new group, the system assigns the next available group ID by
default. You can change this behavior and specify a GID for a new group with
the -g flag.
The following command creates a new group bank with a custom group ID 644.
Output:
add a group with a specific id in linux
14. Remove a user from the group
Sometimes you might need to remove a user from the secondary groups. You can
do it by specifying the username and group to the deluser command.
The below command removes a user rohan from the group ubuntu.
$ sudo deluser rohan ubuntu
Output:
removing a user from the group in linux
15. Delete a group
You can remove a group from the system using the delgroup or groupdel
command.
To delete a group ubuntu, run the following command.
$ sudo delgroup ubuntu
Output:
delgroup command to delete a group in linux
If the specified group is the primary group of any user, it cannot be
deleted. You must first change the primary group of a user.
Conclusion
Managing users and groups is one of the essential skills for every Linux
administrator. You have learned the different examples of user and group
management commands in Linux. Now you know how to perform the tasks like
creating new users and groups, adding users to groups, changing the username
and password, deleting users and groups, and much more.
We hope you found this article helpful. Please let us know if you have any
confusion about any examples in the comment section below.