FreeIPA password expiry email notifications

FreeIPA can email users before their passwords expire, using an editable template and a list of notice days. This page covers what the design covers, how to configure it, and what to confirm before relying on it.

On this page

How FreeIPA password expiry email notifications help users keep access

The expiring password email notification in FreeIPA warns users by email that their password is about to expire, so they can change it before a lapse locks them out. According to the FreeIPA design page for expiring password notifications, the feature sends these notices on a configurable list of days before expiry, using an email template that administrators can edit. For identity teams, the practical problem is a user who never sees a warning until the login fails, often at a moment when a helpdesk ticket is the only way back in. The email channel is aimed at that gap.

A Web UI warning about password expiry already existed in FreeIPA before this design. The email notification is the addition: it reaches users who do not sign in to the Web UI often, such as people who mainly authenticate through SSH, desktop logins or other services. Confirm with the design page which triggers and days the current release supports, since the email feature's behavior depends on the version you run. Check that your mail relay accepts messages from the IPA servers and that the sender address and template text are agreed with your service desk before rollout.

Which notification settings fit which environment

The FreeIPA design gives administrators an editable email template for expiry warnings, so the wording is a local decision. A plain notice tells the user that a password will expire on a given date and asks them to change it, relying on the user to know how to do that. A notice with self-service reset instructions adds the exact steps, the URL of your password change page, and the help desk contact for users who are already locked out. The second option usually reduces tickets, but it puts more operational detail in every message, so it must be kept current whenever your login portal or VPN changes.

  • Plain notice: short, low maintenance, and suitable when most users change passwords from a workstation they already use.
  • Notice with reset steps: adds the change procedure, the portal address and the escalation path, which lowers help desk load for remote and infrequent users.
  • Account-specific wording: the template should name the account and expiry date, so users can tell a real notice from phishing that imitates one.
  • Sender and link policy: agree with your security team which domain the links use and whether the template will contain links at all.
  • Localization: check whether the template supports the languages your user base needs.

Before you choose, confirm with the design page which template variables are available in the installed version and how the template is edited and tested on your deployment.

Configuration choices for expiry notices and password policy

This table compares the main settings that shape expiry warnings in FreeIPA: the email wording, the days notices go out, the password lifetime, the warning window and the mail relay. Read each row as a decision you make before go-live, and confirm the defaults in the version you install, since this page does not state them.

ChoiceWhen it fitsWhat it depends on
Notice template wordingYour help desk or security team wants users to know exactly where to change a password and whom to call when they cannot.Your self-service password change URL, your support channel, and any internal policy wording your compliance team has approved.
Notice day listUsers need enough lead time to change a password before a shared service or login breaks, such as remote or weekend workers who may not see a warning in time.How often users log in, the password lifetime you set, and whether users also see the Web UI warning as a second reminder.
Password policy maximum lifetimeYour standard requires periodic rotation, or you want to end indefinite passwords for a population of accounts.Your written password standard, the authentication assurance you rely on elsewhere (such as OTP or passkeys), and the user population affected.
Grace or warning windowYou need to balance a short window that reduces noise against a longer window that reduces lockouts for infrequent users.How frequently accounts log in, how many service or automated accounts depend on a password, and the lockout settings in the same policy.
Mail relay settingsNotices must leave the IdM servers through an approved relay that your mail team already monitors and that accepts internal sender addresses.Your mail platform, the sender address you can use, whether the IdM servers can reach the relay, and how bounces are handled and reported.
Interaction with other policy changesYou plan to tighten complexity or lockout rules at the same time, which can cause a spike in lockouts after notices go out.The password quality and lockout settings on the same policy, and the change calendar your service desk runs.
Installed version defaultsYou need to know what a fresh install does before you change anything.Confirm the default notice days, template and lifetime in the FreeIPA version you run, using its documentation and your own test environment.

How to set up expiry notices in FreeIPA

This sequence takes you from confirming your FreeIPA version and mail path to a tested expiry warning that reaches users before their passwords lapse. Each step ends with a check so you know the notice design is working in your environment before users depend on it.

  1. Confirm the installed FreeIPA version supports the design

    Ask the IdM administrator to log in to a server and record the installed FreeIPA package version with the package manager. Then read the expiring password notification design page and confirm that your release includes the email notice feature, since the design describes an email template and a list of notice days alongside a Web UI warning that already existed. If the feature is not in your release, plan an upgrade before going further, using your upgrade path. Done means you have a written version number and a yes or no answer on the email feature.

  2. Confirm outbound mail from IdM servers

    Work with your mail team to confirm that each IdM server can send email through an approved relay. Check the relay address, whether it requires authentication or a specific sending address, and whether your firewall allows the connection from every server that can run the notification job. Send a plain test message from one IdM server using the mail tools available on it. Done means the test message arrives in a mailbox you control, with the sender and headers as your mail policy expects. Users cannot be warned if the servers cannot send mail.

  3. Set the password policy that defines expiry

    Review the password policy for the groups whose users should receive warnings. The notice depends on a maximum password lifetime, so confirm the value your security team has approved and apply it to the correct group policy. Note that changing the lifetime affects how soon users see a warning, so align it with the security baseline you have documented. Confirm the setting with the policy display command on a test user. Done means the policy shows the expected lifetime and the test user's expiration date matches your calculation.

  4. Edit the email template

    Open the expiry notice template in the administrator-editable location described by the design, and rewrite the message for your organization. Include the user's name, the expiry date, the steps to change a password, the help desk contact and a note that the message does not ask for credentials. Keep the placeholders the template uses so the expiry date fills in correctly. Have your security or help desk team review the text. Done means the approved wording is saved on every IdM server that might send the notice, and a rendered sample shows correct values.

  5. Set the notification days

    Configure the list of days before expiry on which the notice is sent, using the setting described in the design. Choose values that give users enough time to change a password through their normal path, and confirm the list with your help desk so that the first notice does not arrive when support is unavailable. Record the chosen values in your change log. Done means the configured list matches the approved schedule, and you can display it from the server configuration.

  6. Test with a test account

    Create a dedicated test user in a test group that uses the same password policy as production. Set its password so that expiry falls within one of your notice windows, or adjust the test policy so the window opens during the test. Wait for the notice to be sent or trigger the job as documented for your version, then check the mailbox for the message. Done means the test user received the expected email with the correct name, date and template text, and the record of the send appears in the server log.

  7. Verify delivery and the Web UI warning

    Log in to the Web UI as the test user during a notice window and confirm that the expiry warning appears on the page, as the design says it already did before the email feature. Then review mail server logs for the sends, and check for bounces or deferrals across the IdM servers. Document which server sent each message, since notices can come from any server that runs the job. Done means both the email and the Web UI warning appear for the test account, and the logs show accepted delivery with no unresolved failures.

Security and operational risks of password expiry email

Expiry notices are routine mail, which makes them easy for attackers to imitate and easy for operators to overlook. The cards below cover the design choices and checks that keep the notification useful without turning it into a credential or account-state leak.

Keep secrets out of email

An expiry notice should tell the user that a password is about to expire and where to change it, and nothing more. Do not place reset links, temporary passwords or tokens in the message body, because mail is stored on several hosts and is often forwarded or synced to phones. Review the administrator-editable template for any placeholder that could expose a credential, and confirm that the change happens inside an authenticated session in the FreeIPA Web UI or on a client.

Treat notices as phishing bait

Attackers copy routine notices because users expect them. Tell users that the company sends these warnings, that the link leads to the internal login page, and that they should never enter their password after following a link in an email. Ask your security team to test whether a look-alike expiry message is caught by mail filters, and report the result to the users who receive the notices.

Secure the mail relay path

FreeIPA hands notifications to a mail system you configure, so the relay becomes part of the identity trust chain. Confirm which relay host sends the messages, that connections to it use TLS, and that only the FreeIPA server or an approved relay may submit mail from the sender address. Ask the mail team who owns that relay and how its access is logged.

Avoid revealing account state

A message that says an account is locked, disabled or already expired helps an attacker map valid usernames and their status. Keep the wording to the expiry date or days remaining for the account owner only, and do not confirm account existence to anyone who asks by mail. Check the template with your security team before go-live, and confirm with the vendor whether any field in the default template exposes more than the expiry information.

Put templates under change control

The template is editable by administrators, so a casual edit can add a link, change the sender or introduce a placeholder that leaks data. Store the template in version control, require review by identity and security owners, and record who approved each change. Test the rendered message for every notice day before a template change reaches production users.

Make missed notices visible

A notice that fails silently leaves users to discover expiry at the login prompt, often during a critical deadline. Monitor the mail server logs for bounces and deferrals from the FreeIPA sender, and alert the identity team when delivery fails. Ask whether the deployment records which notices were attempted, so a gap can be traced to a user, a notice day and a time window.

Questions buyers ask about password expiry notifications

How much effort does it take to configure password expiry email notifications in FreeIPA?

The configuration itself is small: FreeIPA lets an administrator edit the email template and set the list of days before expiry on which notices go out. The effort sits around it. Your team must confirm that the Web UI warning already in place matches what users should hear, that the mail path from your IdM servers works, and that the notice days fit your password policy. Expect most of the time to go into template wording, mail testing and agreeing the policy with the people who own it. The design page is the starting point for the exact settings your version exposes, so confirm them against your release before you plan the change.

Can our own team set this up without outside help?

Yes, if you have a team that already administers FreeIPA, runs a mail relay and can test changes in a non-production environment. The steps are administrative rather than deep engineering. The risks come from the surrounding decisions: a template that confuses users, a notice schedule that does not match the password policy, or a mail path that silently fails. Teams without recent FreeIPA administration experience, or without a clear owner for mail delivery, often benefit from a fixed-scope review. DeployOpen can plan, implement and document this work in your infrastructure, and the written scope will state exactly what is included.

What does a partner scope usually include for expiry notifications?

A written scope usually covers four parts. Template work includes the wording, tone, links to self-service password change and the help path for users. Mail integration covers the relay, sender identity, and delivery checks. Policy redesign aligns expiry intervals, notice days and lockout behavior with what your policy owner has approved. Testing covers how each client and login path reacts to an expiring password, including SSSD-enrolled Linux hosts and any other systems that rely on the same Kerberos password. Each part should appear as a deliverable with an agreed acceptance check.

What drives the cost of this work?

Cost follows the number of decisions and the number of systems that must be tested. The main drivers are how many password-dependent login paths you run, how many approvals the template and policy need, whether your mail relay is already documented, and how many environments must be tested before production. One-time work includes design, template and policy changes, testing and handover. Recurring cost appears only if you add ongoing support or a retainer. Ask any partner for a quote that separates these items, names the environments covered, and lists the approvals and test cases included. DeployOpen does not publish a price list, and a quote follows from the written scope.

How long does the work take if our mail infrastructure needs changes?

Duration depends mostly on mail infrastructure and approvals rather than on FreeIPA itself. If your relay already accepts mail from your IdM servers and your sender address is approved, the technical work can move quickly. If a new relay, SPF or DKIM records, or a security review of outbound mail is needed, those tasks run on other teams' schedules and can dominate the timeline. Policy changes also need sign-off from the owner. Ask for a timeline that lists these dependencies separately, so you can see which items are on the critical path. No fixed duration applies until the scope and your environment are known.

What must our organization provide before the work starts?

Prepare four inputs. First, mail relay details: the host or service that accepts outbound mail from your IdM servers, the sender address, and whether authentication to the relay is required. Second, a named policy owner who can approve notice days, expiry intervals and template wording. Third, sample users in a test group, covering typical account types and at least one Linux client enrolled through SSSD. Fourth, a change window for production rollout and a rollback plan. Confirm each item with your own team before scoping, because gaps here extend both cost and timeline.

Does a password expiry notice change how users log in on Linux clients?

No. The notice is an email warning about an upcoming expiry, and it does not change the Kerberos login flow itself. Users still change their password through the existing self-service path or the administrator process. The engineering question is whether every client reports the upcoming expiry in a way that matches the email, and whether password changes made from one path are visible on all clients. Test this with enrolled hosts and with any service that prompts for a password, and confirm the behavior in your FreeIPA version before you promise it to users.

Does a notification feature help us meet compliance requirements?

A notification feature supports user awareness and can form part of the evidence for password management controls, but it does not make a system compliant on its own. Assessors look at the complete policy, including expiry rules, lockout, complexity and how exceptions are approved. Auditors and certification bodies issue any attestation, and DeployOpen prepares systems, controls and evidence for those assessments without issuing them. Ask your assessor which artifacts they expect, such as the approved template, the policy record and test results, and plan to keep them with the change record.

Pairing expiry notices with password policy changes

Expiry notices only help if the password policy already says what the organization expects. The notice tells a user that a password will expire on a given day, so the day has to be right. Before enabling notices, confirm the maximum password lifetime, the number of previous passwords the history setting blocks, and the complexity rules that apply to the global policy and to any group policies that override it. Each of these is set on the FreeIPA side, and each decides when a message is sent and what the user must do when they act on it. Confirm the values with your security and compliance owners rather than copying a lifetime from another environment.

Changing any of these settings affects every user covered by the policy at once. A shorter lifetime can push many accounts into expiry within days of the change, and a stricter complexity rule can make existing passwords fail on their next change. Check how many accounts fall into each group, and test the new rules with a pilot group before applying them widely. Also check which systems still authenticate with the password itself, since clients, service accounts and applications that depend on a password may break when it changes. The notice template should then match the new rules so users know what a valid password looks like.

Sequence the work in three steps. First, set and test the password policy. Second, tell users what is changing, through the help desk, intranet or your normal change notice, and explain how to reset a password from their own workstation or the self-service page. Third, enable the expiry notification days and template, so the first email arrives after users already know the rules. Reversing this order is the common failure: users receive warnings about a deadline they cannot meet under rules they have not seen. Keep a record of each step for your change and audit trail, and review the password quality and compliance guidance in the FreeIPA security cluster before you start.

How DeployOpen scopes and delivers password expiry notifications

DeployOpen starts with a written scope, because the notification work depends on decisions the client must make first: which user populations receive warnings, which days before expiry trigger a message, who owns the email template, and which mail relay FreeIPA will use. The scope document records these choices along with the FreeIPA servers involved, the existing Web UI warning that users already see, and the password policy each user group is subject to. Fixed-scope delivery means the deliverables, acceptance checks and timeline are agreed in writing before any configuration changes are made on your servers.

Design work covers the notification day list and the email template, which the FreeIPA design describes as administrator-editable. DeployOpen drafts the template with your help-desk and security teams, checks that the message tells users exactly where to change their password, and sets the configurable list of days before expiry so that warnings do not arrive too late to act on. Mail integration checks confirm that the FreeIPA server can reach your relay, that sender and reply addresses are accepted, and that test messages reach real mailboxes. Confirm with your mail team which relay and sender domain you will use before scoping starts.

Policy pairing is where the notifications either work or do not. A warning is only useful if the expiry interval in the password policy matches the notice schedule, so DeployOpen reviews the policy, lockout and expiry settings together with the notification plan and records any changes for approval. Testing covers a pilot group, a check of the Web UI warning alongside the email, and a documented handover to your operations team, including how to update the template later. Ongoing template changes, policy adjustments after upgrades and mail relay changes can be covered by a support retainer, which is priced separately from the fixed-scope work.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.