PAM_ABL(1)
π PAM_ABL(1) π
okay bestie, gather round, because we're talking about pam_abl β the lil command-line bestie from the User Commands fam. it's a whole separate little tool that lets you poke at the same databases the pam_abl module uses, except you don't need to be PAM to do it. iconic behavior honestly.
β¨ NAME β¨
pam_abl β query or purge the databases used by the pam_abl module.
no cap, that's literally the whole job description. π
πΈ SYNOPSIS πΈ
pam_abl [OPTION] [CONFIG]
π¦ DESCRIPTION π¦
so basically? it gives you a non-pam interface to all the info chilling in the pam_abl module databases. think of it like a backstage pass. π
CONFIG is the name of the pam_abl config file, and it defaults to /etc/security/pam_abl.conf if you don't hand it one.
the config file gets read so the tool can figure out:
- the names of the pam_abl databases π
- the rules that control purging of old data from them π§Ή
- the commands to run when a user or host switches state π
β OPTIONS β
π οΈ MAINTENANCE π οΈ
-h,--helpβ see this message. that's it, that's the option. self-care fr.-d,--debugcommandβ print the block/clear commands split in arguments. little peek behind the curtain, ngl.-p,--purgeβ purge databases according to purge rules in config. spring cleaning energy πΈ-r,--relativeβ display times relative to now. so instead of a timestamp you get the "3 mins ago" vibe.-v,--verboseβ verbose output. more words, more info, more everything β¨
π« NON-PAM INTERACTION π«
-f,--failβ fail user or host. yes, you can just. do that.-w,--whitelistβ perform whitelisting (remove from blacklist, does not provide immunity). β οΈ listen: this is a remove from the blacklist situation, it does not grant immunity, okay? don't get it twisted.-c,--checkβ check status. returns non-zero if currently blocked. printsname: statusif verboseness is specified. if more than one host or user is given, it checks only the first host/user pair. so like. don't spam it and expect all the answers bestie π-u,--updateβ update the state of all users/hosts in the db. this will also cause the appropriate scripts to be called. she does extra π-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-fis provided (defaults to"AUTH"). specifies why the authentication failed. possible values areUSER,HOST,BOTH,AUTH. pick one, it's giving multiple choice π
π okay so important thing, bestie: 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 yourhost_clr_commanduses the%sparameter, you will need to specify the service with-sin order for the command to actually run. no info, no script, periodt. π«Ά
π 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>
the founding mothers/fathers of this whole situation, we stan π
π REPORTING BUGS π
report bugs to <pam-abl@deksai.com> or using the bugtracker on sourceforge.
found a bug? tell them!! they wanna know!! don't suffer in silence bestie π
π SEE ALSO π
go read those too, iykyk π
β AUTHOR β
Chris Tasma β Author.
and that's the whole page!! this one's from the GNU girlies, dated 03/31/2024, and it lives in section PAM_ABL(1) of the manual. stay unblocked, stay iconic, mwah π«Άπβ¨
π¦ where this page comes from
- ubuntu noble: libpam-abl 0.6.0-7build2 Β· GPL-2.0-or-later
- ubuntu questing: libpam-abl 0.6.0-7build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms