Ubuntu technical problems and solutions reference, a modern cookbook.
I found myself recently in the awkward situation of replacing all the groups my user was part of, with a group I wanted to append to.
Due to the fact that I have installed VirtualBox, my user needed to be part of the vboxusers group. All good I thought, so I wanted to add that group to my user.
So I used the following Wrong command
sudo usermod -G vboxusers myuser
As per the help
usermod --help -G, --groups GROUPS new list of supplementary GROUPS -a, --append append the user to the supplemental GROUPS
I have realised that I forgot to add the append option. So actually to add the new group to the existing list of groups.
The correct command would have been:
sudo usermod -aG vboxusers myuser
After my reboot, because the effect of the command is not visible until a logout/login is performed, I have found myself without sudo/admin rights. The result of the command:
was myuser and vboxusers. Great, no admin rights.
So here is what I did to solve this problem.
Boot up from the LiveCD. Hope you have one at hand. Doesn’t have to be the latest distribution.
Open the terminal and mount your root:
sudo mount /dev/sda1/mnt sudo chroot /mnt
Note: instead of sda1 you should use the partition on which your root is mounted. If you are not sure about it, check in Disk Utility application (the default one on your liveCD.
Locate the groups:
The file which holds the groups is simply called group. But because you have recently changed this file with the wrong command, you need to check the backup file in order to determine which were your old groups, so that you can add them back. The backup file is group-.
Now, you have 2 options to go forward. The first one is to manually edit the group file to add your user against the groups (take the back-up file as an example). The second option is to simply re-add the groups to your user with the usermod command. This way you learn the right format of the command:
usermod -aG group user
Note: there is no need to use sudo in a liveCD session.
Now remove the liveCD and the reboot will make you a happy user 🙂