IPA-EPN(1)
๐ NAME ๐
ipa-epn โ bestie, it sends expiring password notifications. That's the whole vibe. It lives in the IPA Manual Pages, section 1, and it is so good at what it does. ๐
โจ SYNOPSIS โจ
ipa-epn [options]
that's it. that's the whole thing. options only, no positional args, we love a low-maintenance queen ๐
๐ธ DESCRIPTION ๐ธ
okay so ipa-epn gives you a whole method to warn users via email that their IPA account password is about to expire. like a little "hey bestie ur password is dying" note. ๐
it can be used in dry-run mode, which is recommended during setup โ no cap, please do this first. the output is always JSON in this case. always. no exceptions. โจ
it can also be launched daily by its systemd timer. in that case it will parse its configuration file epn.conf(5) and send an email to users whose passwords are expiring within the defined future date ranges. ๐ฆ
see the OPTIONS section below and the epn.conf(5) man page on how to configure the tool. iykyk ๐ซถ
๐ OPTIONS ๐
--to-nbdays<number of days>โ the--to-nbdaysCLI option can be used to determine the number of notifications that would be sent in a given timeframe. literally a headcount of emails. ๐ญ
if --from-nbdays is not specified, ipa-epn will look within a 24-hour long time range in <number of days> days.
if --from-nbdays is specified, the date range starts at --from-nbdays days in the future and ends at --to-nbdays in the future.
together, these two CLI options can be used to determine how many emails would be sent in a specific time in the future. ๐ฎ
โ ๏ธ the--to-nbdaysCLI option implies--dry-run. it's giving "surprise, you're in dry-run now". ๐
--from-nbdays<number of days>โ see--to-nbdaysfor an explanation. this option must be used in conjunction with--to-nbdays. they're a package deal, fr fr. ๐ซถ--dry-runโ the--dry-runCLI option is intended to testipa-epn's configuration. a little rehearsal before the main character moment. ๐
for instance, if notify_ttls is set to 21, 14, 3, --dry-run would display the list of users whose passwords would expire in 21, 14, and 3 days in the future. ๐
--mail-testโ the--mail-testCLI option will send an e-mail to the configuredsmtp_adminvalue in/etc/ipa/epn.conf. generic values for the substitution variables are set so this is also useful for testing and configuring the mail template. ๐ง
๐ฆ TEMPLATE ๐ฆ
the template for the e-mail message is contained in /etc/ipa/epn/expire_msg.template. the following template variables are available. โจ
- user ID:
uid - full name:
fullname - first name:
first - last name:
Last - password expiration date:
expiration
๐ฅ EXAMPLES ๐ฅ
# date
Sun 12 Apr 2020 06:23:08 AM CEST
# ipa-epn --dry-run
[
{
"uid": "user5",
"cn": "user 5",
"krbpasswordexpiration": "2020-04-17 15:51:53",
"mail": "['user5@ipa.test']"
}
]
The IPA-EPN command was successful
# ipa-epn --to-nbdays 6 --dry-run
[
{
"uid": "user5",
"cn": "user 5",
"krbpasswordexpiration": "2020-04-17 15:51:53",
"mail": "['user5@ipa.test']"
}
]
The IPA-EPN command was successful
# ipa-epn --from-nbdays 2 --to-nbdays 6 --dry-run
[
{
"uid": "user5",
"cn": "user 5",
"krbpasswordexpiration": "2020-04-17 15:51:53",
"mail": "['user5@ipa.test']"
}
]
The IPA-EPN command was successful
# ipa-epn --from-nbdays 8 --to-nbdays 12 --dry-run
[
{
"uid": "user3",
"cn": "user 5",
"krbpasswordexpiration": "2020-04-21 00:00:08",
"mail": "['user3@ipa.test']"
}
]
The IPA-EPN command was successful
look at that JSON output go. The IPA-EPN command was successful is genuinely my roman empire ๐
๐ EXIT STATUS ๐
the exit status is 0 on success, nonzero on error. simple as that, bestie. ๐
๐ SEE ALSO ๐
- RFE:
https://pagure.io/freeipa/issue/3687 - Design document:
https://github.com/freeipa/freeipa/blob/master/doc/designs/expiring-password-notification.md
๐ KNOWN BUGS ๐
none yet. a flawless queen with a clean record, periodt. โจ
โญ REPORTING BUGS AND ENHANCEMENT IDEAS โญ
please make sure first the issue is not already reported by searching at https://pagure.io/freeipa/issues. if it is not, file a new issue at https://pagure.io/freeipa/new_issue.
๐ seriously, search first. we don't do duplicate issues here, it's not the vibe. ๐
okay that's the whole page!! this is IPA (source), dated April 24, 2020, and it's the IPA-EPN(1) manual page โ thanks for reading all the way to the end bestie, ur the realest ๐ซถโจ๐
๐ฆ where this page comes from
- centos-stream 10: ipa-client-epn 4.13.4-1.el10 ยท GPL-3.0-or-later
- centos-stream 9: ipa-client-epn 4.13.4-1.el9 ยท GPL-3.0-or-later
- debian bookworm: freeipa-client-epn 4.9.11-1 ยท GPL-3.0-or-later
- debian trixie: freeipa-client-epn 4.12.4-1 ยท GPL-3.0-or-later
- fedora 43: freeipa-client-epn 4.12.5-3.fc43 ยท GPL-3.0-or-later
- fedora 43: freeipa-client-epn 4.13.4-2.fc43
- fedora 43: freeipa-client-epn 4.13.4-3.fc43 ยท GPL-3.0-or-later
- fedora 44: freeipa-client-epn 4.13.1-9.fc44 ยท GPL-3.0-or-later
- fedora 44: freeipa-client-epn 4.13.4-2.fc44
- fedora 44: freeipa-client-epn 4.13.4-3.fc44 ยท GPL-3.0-or-later
- nixos 26.05: freeipa 4.12.5
- nixpkgs unstable: freeipa 4.13.1
- ubuntu jammy: freeipa-client-epn 4.9.8-1 ยท GPL-3.0-or-later
- ubuntu noble: freeipa-client-epn 4.11.1-2 ยท GPL-3.0-or-later
- ubuntu questing: freeipa-client-epn 4.12.4-1
- ubuntu resolute: freeipa-client-epn 4.13.1-1 ยท GPL-3.0-or-later
- ubuntu stonking: freeipa-client-epn 4.13.1-1build1 ยท GPL-3.0-or-later
- Copyright (C) 2020 Red Hat, Inc
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms