Is it possible to delete a user from a group in linux

03-20-2023

This article mainly explains whether linux can delete users from the group. The content of the explanation in the article is simple and clear, easy to learn and understand. Next, please follow the editor's ideas and slowly deepen, let's study and learn linux together Users can be removed from the group!


Yes. Deletion method: 1. Use usermod to delete a user from a group, syntax sudo usermod -G root username; 2. Use gpasswd to delete a user from a specified group, syntax sudo gpasswd -d username group name; 3. Edit /etc/group file, manually remove the user from the group.

In Linux, a user can be a member of one primary group and one or several secondary (auxiliary) groups. The file /etc/group defines group memberships for each user in a Linux system.

In this tutorial, we will learn how to delete a user in a Linux group. We will use both methods and also show how to manually remove a user from a group by removing from the /etc/group file.

Creating a Linux User

For the purpose of this tutorial, we will create a user called testuser. When a new user is created, a new primary group with the same name as the user is also created.

We will create a new user by issuing the following command:

$ sudo useradd -m testuser

Now , we can create a password for this user:

$ sudo passwd testuser
Changing password for user testuser.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.

I used the same password as the username , so I get a warning that some form of username should not be included in the password.

Adding users to groups

First, we will use the groupadd command to create two newgroup, the command looks like this:

$ sudo groupadd testgroup1$ sudo groupadd testgroup2

Now, we will add the testuser user to the above created and add the testuser user to the root group with the following command:

$ sudo usermod -a -G root testuser
$ sudo usermod -a -G testgroup1 testuser
$ sudo usermod -a -G testgroup2 testuser

Okay, now look at the /etc/group file, you can see that testuser is these three members of the group.

$ cat /etc/grouproot:x:0:testuser...........testuser:x:1001:testgroup1:x:1002:testusertestgroup2:x :1003:testuser

Find out which groups a user belongs to

We can also use the following two alternatives to check Which group the user belongs to

$ groups testuser
testuser : testuser testgroup1 testgroup2 root$ id -nG testuser
testuser testgroup1 testgroup2 root

You can see that the output is very similar, and these commands accomplish the same thing.

Using usermod to remove a user from a group

We can use the usermod command to remove a user from one or more groups at a time. When using usermod, you must specify which secondary groups to keep the user in. Let me explain with an example.

$ groups testuser
testuser : testuser testgroup1 testgroup2 root

To remove user te from groups testgroup1 and testgroup2stuuser, run this command (i.e. keep only testuser in the root group, which is the main testuser group):

$ sudo usermod -G root testuser

Results$ groups testuser
testuser : testuser root

So, to divide users into more groups, You need to mention the group names separated by comma (,), eg:

$ sudo usermod -G root,testgroup1 testuser

Results# groups testusertestuser : testuser root testgroup1

Using gpasswd to remove user from group

Achieve similar result Another command is gpasswd. Unlike usermod, we use this command to remove a user from a specified group.

To remove a user from a specific group, we can use the gpasswd command:

$ sudo gpasswd -d testuser root
Removing user testuser from group root

$ groups testuser
testuser : testuser testgroup1 testgroup2

$ sudo gpasswd -d testuser testgroup1
Removing user testuser from group testgroup1

br/>$ groups testuser
testuser : testuser testgroup2

Remove user from group (manually)

We can also remove users from groups by manually editing the file '/etc/group'. The effects of this method will be applied to the user after a reboot.

You can use your favorite text editor to edit the /etc/group file:


$ cat /etc/group .......... sssd:x:993:sshd:x:74:chrony:x:992:vagrant:x:1000:slocate:x:21:vboxsf:x:991:testuser :x:1001:testgroup1:x:1002:testusertestgroup2:x:1003:testuser$ groups testuser testuser : testuser testgroup1 testgroup2 root


Now, we will manually edit the last two entries to remove testuser and remove it from testgroup1 and testgroup2 (the edited file should look like this shown):


$ cat /etc/group........... 

sssd:x:993: 

sshd:x:74: 

chrony:x:992: 

vagrant:x:1000: 

slocate:x:21: 

vboxsf:x:991: 

testuser:x:1001: 

testgroup1:x:1002: 

testgroup2:x:1003:


Changes will be made after reboot, the user is now removed from both groups:

$ groups testuser
testuser : testuser root


Copyright Description:No reproduction without permission。

Knowledge sharing community for developers。

Let more developers benefit from it。

Help developers share knowledge through the Internet。

Follow us