type=page
status=published
title=update-file-user
next=update-node-config.html
prev=update-connector-work-security-map.html
~~~~~~
update-file-user
================

[[update-file-user-1]][[GSRFM00254]][[update-file-user]]

update-file-user
----------------

updates a current file user as specified

[[sthref2274]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] update-file-user [--help] 
[--groups user_groups[:user_groups]*] 
[--target target 
[--authrealmname authrealm_name] 
username
----

[[sthref2275]]

Description

Th `update-file-user` subcommand updates an existing entry in the
keyfile using the specified user name, password and groups. Multiple
groups can be entered by separating them, with a colon (:).

If a new password is not provided, this subcommand fails if secure
administration is enabled and the user being updated is an
administrative user.

[[sthref2276]]

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.
`--groups`::
  This is the name of the group to which the file user belongs.
`--authrealmname`::
  Name of the authentication realm where the user to be updated can be
  found.
`--target`::
  This option helps specify the target on which you are updating a file
  user. Valid values are: +
  `server`;;
    Updates the file user in the default server instance. This is the
    default value.
  cluster_name;;
    Updates the file user on every server instance in the cluster.
  instance_name;;
    Updates the file user on a specified sever instance.

[[sthref2277]]

Operands

username::
  This is the name of the file user to be updated.

[[sthref2278]]

Examples

[[GSRFM787]][[sthref2279]]

Example 1   Updating a User's Information in a File Realm

The following example updates information for a file realm user named
`sample_user`.

[source,oac_no_warn]
----
asadmin> update-file-user 
--groups staff:manager:engineer sample_user
Command update-file-user executed successfully
----

[[sthref2280]]

Exit Status

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

[[sthref2281]]

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-groups.html#list-file-groups-1[`list-file-groups`(1)],
link:list-file-users.html#list-file-users-1[`list-file-users`(1)]


