Linux: Show The Groups a User Is In

last updated in Categories

How do I find out what groups I belong to under Linux operating systems?

/etc/group is a text file which defines the groups on the system. You can use the groups command to display group memberships for any user using the following syntax.

Advertisements

groups
groups userName-Here

Example

pen a command-line terminal (select Applications > Accessories > Terminal), and then type:
$ groups
Sample outputs:

vivek cdrom floppy audio dip video plugdev netdev bluetooth scanner

You are part of all of the above groups. To find group memebership for root user, enter:
$ groups root
Sample outputs:

root : root

Please note that (from the groups man page):

Primary and supplementary groups for a process are normally inherited from its parent and are usually unchanged since login. This means that if you change the group database after logging in, groups will not reflect your changes within your existing login session. Running `groups’ with a list of users causes the user and group database to be consulted afresh, and so will give a different result.

You can also use the id command as follows to get the same information:
$ id -Gn
$ id -Gn userName
$ id -Gn vivek

How Do I Find Out My Primary Group Membership?

Type the following command:
$ getent group userName
$ getent group vivek

Sample outputs:

vivek:x:1000:

In this example, user vivek has group id # 1000 and has group name vivek for primary group membership.

ADVERTISEMENTS

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

6 comment

  1. I added a user to a group, and then I type the groups command, but the addition doesn’t show up in that list. When I look at the groups file, the user name is in fact listed under that group. Any ideas as to why that would be?

  2. ‘gentent group username’ does not show the primary group. It shows the group entry in the group database. You’d have to check ‘getent passwd username’ to cross-reference.


    [root@rugxacxapelo home]# getent group user100
    user100:x:1001:
    [root@rugxacxapelo home]# getent passwd user100
    user100:x:1001:1002::/home/user100:/bin/bash
    [root@rugxacxapelo home]# id -gn user100
    user200

    Still, have a question? Get help on our forum!