---
name: "pam_abl"
section: "1"
platform: "linux"
package: "libpam-abl"
version: "0.6.0-7+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pam_abl"
---

# pam\_abl(1)

query or purge the databases used by the pam\_abl module.

## NAME

pam\_abl - query or purge the databases used by the pam\_abl module.

## SYNOPSIS

pam\_abl \[OPTION\] \[CONFIG\]

## DESCRIPTION

Provides a non-pam interface to the infomration stored in the pam\_abl module databases. CONFIG is the name of the pam\_abl config file (default: /etc/security/pam\_abl.conf). The config file is read to discover the names of the pam\_abl databases, the rules that control purging of old data from them and commands to run when a user or host switches state.

## OPTIONS

### MAINTENANCE

- **-h, --help**

  See this message.

- **-d, --debugcommand**

  Print the block/clear commands split in arguments.

- **-p, --purge**

  Purge databases according to purge rules in config.

- **-r, --relative**

  Display times relative to now.

- **-v, --verbose**

  Verbose output.

### NON-PAM INTERACTION

- **-f, --fail**

  Fail user or host.

- **-w, --whitelist**

  Perform whitelisting (remove from blacklist, does not provide immunity).

- **-c, --check**

  Check status. Returns non-zero if currently blocked Prints *name: status* if verboseness is specified. If more than one host or user is given, checks only the first host/user pair.

- **-u, --update**

  Update the state of all users/hosts in the db. This will also cause the appropriate scripts to be called.

- **-s, --service**

  Operate in context of specified service. Defaults to *none*.

- **-U, --user**

  Operate on user (wildcards are ok for whitelisting).

- **-H, --host**

  Operate on host (wildcards are ok for whitelisting).

- **-R, --reason**

  Only used when -f is provided (defaults to "AUTH"). Specifies why the authentication failed. Possible values are USER, HOST, BOTH, AUTH

If you specified commands to run in your configuration, those commands will try to run if the host or user switches state (blocked \<→ clear) since the last time it was checked. The command will only be able to run, however, if you supply enough information to fill in the substitutions in the command. For instance, if your host\_clr\_command uses the %s parameter, you will need to specify the service with -s in order for the command to actually run.

## EXAMPLES

Obtain a list of failed hosts and users:

$ pam\_abl

Obtain a full list of failures listing times relative to now:

$ pam\_abl -rv $ pam\_abl --relative --verbose

Purge old data:

$ pam\_abl -p $ pam\_abl --purge

Unblock all example.com, somewhere.com hosts:

$ pam\_abl -w -H \*.example.com -H \\\*.somewhere.com

Fail the host badguy.com and the user joe because the authentication failed:

$ pam\_abl -f -H badguy.com -U joe -R AUTH

Check whether joe is currently allowed to use your neato service from somehost, running the necessary commands if he switches state:

$ pam\_abl -c -U joe -H somehost -s neato

Because the user/host state is only updated when an attempt is made, you can manually force pam-abl to update the states and call the correct scripts:

$ pam\_abl -u

## AUTHORS

Lode Mertens \<pam-abl@danta.be\>

Andy Armstrong \<andy@hexten.net\>

Chris Tasma \<pam-abl@deksai.com\>

## REPORTING BUGS

Report bugs to \<pam-abl@deksai.com\> or using the bugtracker on sourceforge.

## SEE ALSO

[pam\_abl.conf(5)](/pam_abl.conf/5.md), [pam\_abl(8)](/pam_abl/8.md)

## AUTHOR

**Chris Tasma**

Author.
