# ACL

> Manage users and their permissions through the ACL subcommands.

URL: https://docs.hotkv.com/commands/acl/

```
ACL subcommand [argument ...]
```

- Group: ACL
- HotKV Cloud: all plans
- On-Premise: no license needed

`ACL` is a container command for HotKV's access control lists: named users,
each with its own passwords, allowed commands, key patterns and pub/sub
channels. The first argument names the subcommand, and each subcommand has
its own page. See [Security: ACL](https://docs.hotkv.com/security/index.md#acl) for how the rules work
and for typical users.

## Subcommands

| Subcommand | What it does |
| --- | --- |
| [ACL CAT](https://docs.hotkv.com/commands/acl-cat/index.md) | List the command categories, or the commands in one. |
| [ACL DELUSER](https://docs.hotkv.com/commands/acl-deluser/index.md) | Delete users and disconnect their clients. |
| [ACL DRYRUN](https://docs.hotkv.com/commands/acl-dryrun/index.md) | Check whether a user may run a command, without running it. |
| [ACL GENPASS](https://docs.hotkv.com/commands/acl-genpass/index.md) | Generate a random password. |
| [ACL GETUSER](https://docs.hotkv.com/commands/acl-getuser/index.md) | Show one user's rules. |
| [ACL LIST](https://docs.hotkv.com/commands/acl-list/index.md) | Show every user as an ACL file line. |
| [ACL LOAD](https://docs.hotkv.com/commands/acl-load/index.md) | Reload the users from `aclfile`. |
| [ACL LOG](https://docs.hotkv.com/commands/acl-log/index.md) | Show or clear recent denied commands and failed logins. |
| [ACL SAVE](https://docs.hotkv.com/commands/acl-save/index.md) | Write the users to `aclfile`. |
| [ACL SETUSER](https://docs.hotkv.com/commands/acl-setuser/index.md) | Create a user or change its rules. |
| [ACL USERS](https://docs.hotkv.com/commands/acl-users/index.md) | List the user names. |
| [ACL WHOAMI](https://docs.hotkv.com/commands/acl-whoami/index.md) | The current connection's user. |

`ACL HELP` lists the subcommands with a short description each.

Every `ACL` subcommand is in the `@admin`, `@slow` and `@dangerous`
categories except `ACL CAT`, `ACL GENPASS`, `ACL WHOAMI` and `ACL HELP`,
which are only `@slow`. Give application users `+@all -@dangerous` rather
than `+@all`, so they cannot change permissions. `ACL` cannot be called from
a script.

## Errors

| Case | Reply |
| --- | --- |
| Unknown subcommand | `ERR unknown subcommand 'name'. Try ACL HELP.` |
| Wrong number of arguments | `ERR wrong number of arguments for 'acl\|subcommand' command` |

## Compatibility

The subcommands, rule syntax and replies follow Redis 7 and Valkey 8. HotKV
has four extra categories for its own data types: `bloom`, `cms`, `topk` and
`timeseries`.

## See also

[AUTH](https://docs.hotkv.com/commands/auth/index.md), [HELLO](https://docs.hotkv.com/commands/hello/index.md),
[Security](https://docs.hotkv.com/security/index.md)