type=page
status=published
title=list-file-groups
next=list-file-users.html
prev=list-domains.html
~~~~~~

list-file-groups
================

[[list-file-groups-1]][[GSRFM00164]][[list-file-groups]]

list-file-groups
----------------

Lists file groups

[[sthref1469]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-file-groups [--help]
[--name username] [--authrealmname auth_realm_name]
[--target target]
----

[[sthref1470]]

=== Description

The `list-file-groups` subcommand lists the file users and groups
supported by the file realm authentication. This subcommand lists
available groups in the file user. If the `--name` option is not
specified, all groups are listed.

This subcommand is supported in remote mode only.

[[sthref1471]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--name`::
  Identifies the name of the file user for whom the groups will be
  listed.
`--authrealmname`::
  The name of the authentication realm for which to list available
  groups.
`--target`::
  This option specifies which configurations you can list. Valid targets
  are:

  `server`;;
    Lists the file groups in the current server. This is the default
    value.
  cluster_name;;
    Lists the file groups in a cluster.
  instance_name;;
    Lists the file groups for a particular instance.

[[sthref1472]]

=== Examples

[[GSRFM657]][[sthref1473]]

==== Example 1   Listing Groups in all File Realms

This example list all file realm groups defined for the server.

[source]
----
asadmin> list-file-groups
staff
manager
Command list-file-groups executed successfully
----

[[sthref1474]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1475]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-file-user.html#create-file-user-1[`create-file-user`(1)],
link:delete-file-user.html#delete-file-user-1[`delete-file-user`(1)],
link:list-file-users.html#list-file-users-1[`list-file-users`(1)],
link:update-file-user.html#update-file-user-1[`update-file-user`(1)]


