type=page
status=published
title=delete-file-user
next=delete-http.html
prev=delete-domain.html
~~~~~~

= delete-file-user

[[delete-file-user-1]][[GSRFM00076]][[delete-file-user]]

== delete-file-user

Removes the named file user

[[sthref683]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-file-user [--help]
[--authrealmname auth_realm_name]
[--target target]
username
----

[[sthref684]]

=== Description

The `delete-file-user` subcommand deletes the entry in the keyfile for
the specified username.

[[sthref685]]

=== 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.
`--authrealmname`::
  The name of the authentication realm with which the user was created.
`--target`::
  This is the name of the target on which the command operates. The
  valid targets are:

  `server`;;
    Deletes the file user on the default server instance. This is the
    default value
  `domain`;;
    Deletes the file user in the domain.
  cluster_name;;
    Deletes the file user from every server instance in the cluster.
  instance_name;;
    Deletes the file user from a particular server instance.

[[sthref686]]

=== Operands

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

[[sthref687]]

=== Examples

[[GSRFM545]][[sthref688]]

==== Example 1   Deleting a User From a File Realm

The following example shows how to delete user named `sample_user` from
a file realm.

[source]
----
asadmin> delete-file-user
sample_user
Command delete-file-user executed successfully
----

[[sthref689]]

=== Exit Status

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

[[sthref690]]

=== See Also

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

link:create-file-user.html#create-file-user-1[`create-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)],
link:update-file-user.html#update-file-user-1[`update-file-user`(1)]


