58

This question already has an answer here:

I have a user like this:

uid=501(ironsand) gid=500(foo) groups=500(foo),10(wheel),497(git),501(ironsand)

And to change primary group to ironsand like gid=501(ironsand), I typed this command:

sudo usermod -g ironsand ironsand

It changed groups order but didn't change main group like:

uid=501(ironsand) gid=500(foo) groups=501(ironsand),10(wheel),497(git),500(foo)

I thought someone already asked a question like this, but I couldn't find one.

How can I change primary group?

marked as duplicate by cuonglm, chaos, Shadur, polym, garethTheRed Aug 20 '14 at 11:39

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

105

Usually you do it like the following.

To assign a primary group to an user:

$ usermod -g primarygroupname username

To assign secondary groups to a user (-a keeps already existing secondary groups intact otherwise they'll be removed):

$ usermod -a -G secondarygroupname username

From man-page:

...
-g (primary group assigned to the users)
-G (Other groups the user belongs to)
-a (Add the user to the supplementary group(s))
...
  • 8
    For secondary groups, if adding instead of given a exhaustive list, don't forget the flag -a – Dr Beco Apr 17 '16 at 2:35
  • 7
    And don't forget that you have to log out and back in again for the change to become effective – ISparkes Oct 3 '16 at 14:42
  • 2
    The -a flag is very important, because you can accidentaly remove user accounts from the sudoers list by forgetting it. – Qqwy Feb 3 '17 at 21:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.