I added a user account to the admin
group and discovered I added wrong user. So I now have to remove the account from the admin
group.
How can I remove an account from a group without deleting the user?
Portablejim's answer is accurate but dangerous -- if you typo something, your system may be unusable, especially if you alter the admin group improperly. If you must edit the groups file, use the vipw -g
or vigr
commands, which verify the syntax before saving. Even then, there are better ways.
From a commandline, the one you probably want to use is the following (as root):
deluser <username> <groupname>
This will remove the specified user from the specified group. You must relogin to see the effect. It will not delete the user, or the group, just the membership. There are also ways of doing it with the usermod
command, but it's harder to use as you need to replace the entire list of groups for a user in order to remove a single group. The gpasswd
command is also capable of doing this (as sagarchalise points out), but is mostly deprecated. As always, see the man pages for more details.
gpasswd
is not deprecated. Its entire purpose is to administer /etc/group and /etc/gshadow. Also, while your method does work, and is mentioned in the deluser man page, it's a bit risky. If you accidentally hit enter before you type the group name, you've remove the user. Better hope you remember its UID so you can add it back quickly. It would be safer to use gpasswd which is designed for this purpose.
deluser
while searching man pages (here with Ubuntu 18 in 2018), but the first line in the man page states: "remove a user or group from the system", so I moved on in my search. Clearly the man page needs to be worded better.
Jun 20, 2018 at 3:27
deluser
as solution where missing the second parameter will immediately delete the user. The "gpasswd" answer is way better in my optinion.
Jan 5, 2021 at 8:01
You can do this:
sudo gpasswd -d username group
See: http://manpages.ubuntu.com/manpages/focal/en/man1/gpasswd.1.html
-d, --delete user
Remove the user from the named group.
gpasswd
is that it's more cross-platform and also works on Red Hat-based distributions.
Apr 19, 2017 at 14:53
The easiest and safest way:
sudo -H gedit /etc/group
and delete it manually.
ssh:x:118:
What is the meaning of the number 118
here ?
Jan 19, 2017 at 5:09
See zanfur's answer.
Edit the /etc/group
file as root (i.e. gksudo gedit /etc/group
) and remove the username from the line that starts with 'admin'
i.e.
...
admin:x:120:adminuser,adminuser2,userthatshouldnotbeadmin
...
becomes
...
admin:x:120:adminuser,adminuser2
...
Be warned, typos within the file could break your system.