Problem: How to remove user from staff group in Oracle Linux/Unix Solaris?
calapp@hostname:/$ sudo usermod -G oracle calapp
Password:
calapp@hostname:/$ id
uid=100(calapp) gid=10(staff)
Solution
Every user must have a default group. If you want to change the default group for user calapp to not be staff you will have to choose a different one for make calapp’s default group. Staff is the usual default for most users. If you are doing this for security reasons, you probably want to add an entirely new group just for calapp. You will need to find an unused gid.
Run this command to get a list of used group numbers:
getent group | sed -e 's/^[^:]*:://' -e 's/:.*$//' | sort -n -u
Find an unused number greater than 1000, then use that number for the gid to create a new group for calapp:
groupadd -g gid calapp
Check to see if that worked with:
getent group calapp
Then change calapp’s default group to calapp:
usermod -g calapp calapp
You can remove a user from a supplementary group on Solaris using usermod and -G:
usermod -G -groupname username
The groupname here can be a list of groups, each preceded by a “-” and separated by a comma, to remove a user from multiple group, contrary to what was suggested in a previous comment. You can add groups to the list for a user in the same way using the “+” sign.
If you want to change default / login group to oracle for user calapp, then use:
usermod -g oracle calapp