Why AD users need per-host overrides in FreeIPA ID views
FreeIPA ID views and ID overrides let an administrator change the UID, GID, login shell, home directory and SSH public keys that a FreeIPA host presents for an Active Directory user, on the hosts you select, without changing anything in Active Directory. The typical reader is a Linux platform or identity team that must let AD users log in to specific servers where those servers already expect certain values, such as an application account whose home directory is fixed by an older system, a database host whose tooling assumes a particular UID, or a bastion where a shell must be restricted. Because the AD directory stays as the source of truth, the override is a FreeIPA object that applies only to the hosts or host groups it is attached to.
The simpler default, where AD users receive the identifiers and attributes generated by their ID range and no override is attached, is usually enough when the Linux estate is new, when AD users only log in to hosts that do not depend on fixed values, and when the AD team already maintains POSIX attributes that Linux systems can read. Teams that run legacy applications, shared file ownership, or established home directory layouts are the ones most likely to need overrides. Before creating any override, confirm with the application owners which values each host truly requires, and confirm with the AD team whether the attribute can instead be corrected at the source. Ask your FreeIPA administrator to list every host that will carry a view, since each one becomes a separate scope to test and maintain.
The main risk is accumulation. Each override is a value that must match what the host expects, and a user whose override differs across hosts may end up with different file ownership on shared storage. Plan a naming convention for views, record the reason for each override in its description, and review the list after each change to hosts or to the AD user population. Test a login and file access on every host that carries an override before cutover, and document how to remove an override if a host is retired. The exact commands and object names depend on your FreeIPA version, so check the current ID views documentation for your release before you script any of this.
What FreeIPA ID views for Active Directory users change on each host
An ID view is a set of overrides that applies only to the hosts it is assigned to, so the same AD user can have different Linux attributes on different machines. The five items below are the settings most teams override, and each one changes something different on the Linux side. Check the dependencies on each item before you change it, because an override that looks local can break file access, login or access rules elsewhere.
UID and GID
The UID and GID decide file ownership on disk and which group permissions a user gets. Changing them on one host does not renumber files already created elsewhere, so a user can lose access to data written under the old numbers. Before overriding, list the files and directories the user owns on each affected host with find by numeric ID, and confirm that no other host, NFS export or backup relies on the old values. Also check that the new ID falls inside a range the trust already assigned, so it does not collide with another identity.
Login shell
The login shell controls what runs when the user opens an SSH or console session on that host. An override here changes behavior only for the hosts in the view, which makes it useful for restricted shells on a jump host. Confirm that the chosen shell path exists on every target host, because a missing binary can lock the user out. Also check whether any script or sudo rule expects a particular shell, since a shell change does not alter what sudo permits.
Home directory
The home directory is where SSSD expects the user's profile, dotfiles and SSH configuration to live. Pointing an AD user to a path on a shared filesystem means that path must exist, be mounted and be writable on each host in the view, and it must be owned by the same numeric ID the override sets. If the directory is missing at login, behavior depends on your SSSD and PAM settings, so test a fresh login before assigning the view to production hosts.
SSH public keys
Overriding SSH public keys lets a host accept keys for an AD user that are stored in the FreeIPA ID view rather than in AD. This is the setting with the most direct security impact, because it grants login. Review who can change the view, log every key added or removed, and confirm that host access rules still limit who can log in, since a key alone does not bypass HBAC. Confirm with your release documentation which key attributes the installed version reads from an override.
Host assignment
The host assignment decides which view applies to which machine, and it is the setting that determines whether all the others take effect. A view attached to a host group applies to every member, so adding a host to that group changes its identity behavior immediately. Keep a written map from each view to its hosts, and check the assignment after every host enrollment or group change. Confirm in the release documentation how a host behaves when it belongs to more than one view.
Options for FreeIPA ID views for Active Directory users
This table compares the main choices when you override AD user attributes on FreeIPA hosts with ID views. Read each row as a decision: the first column names the choice, the middle columns show what it affects and when it fits, and the last column gives the cost you accept. The main takeaway is that broader, more granular overrides are harder to keep consistent, so start with the narrowest scope that meets the requirement.
| Choice | What it scopes | When it fits | Main trade-off |
|---|---|---|---|
| One view for a host group | All hosts in the group share one set of overrides | Hosts with the same local UID, shell and home layout | Fewer views to maintain, but every host in the group inherits every override |
| One view per host | A single host carries its own overrides | One machine has a unique local requirement, such as a legacy application account | Precise control, but each host needs its own review and drifts easily |
| Overrides keyed by AD user name | Matches the user by the name AD presents to Linux | Small, stable user populations where names rarely change | Simple to read, but a renamed or duplicated account can silently miss its override |
| Overrides keyed by AD security identifier | Matches the user by the immutable SID from AD | Long-lived estates where names may change or collide across domains | Stable matching, but SIDs are harder to read and review by hand |
| Shell override only | Changes the login shell and nothing else | Users who need a different shell on specific hosts | Low risk to file ownership, but the UID and home directory still follow the ID range |
| Shell, UID and home directory | Changes the identity fields that files and processes depend on | A host must match existing local ownership or a fixed home layout | Higher risk: UID changes can break file ownership and must be planned against existing data |
| SSH key override for break-glass or service users | Adds a fixed key for a small named set of accounts | Emergency access or service accounts that must work when AD is unreachable | Fast and independent of AD, but keys need an owner, rotation and a removal process |
| Rely on AD-sourced SSH keys | Keys come from the AD user object | Standard interactive users whose keys are managed in AD | Single source of truth, but ties SSH access to the AD key data and its lifecycle |
How to set up an ID view for AD users in order
This sequence takes an AD user from a working trust to a per-host ID view that gives the user a different UID, shell, home directory or SSH key on selected FreeIPA hosts, with a tested rollback path.
Confirm the AD trust and test user resolution
Before you change anything, confirm that the FreeIPA to Active Directory trust is working and that a test AD user resolves on an enrolled Linux host. Run an identity lookup for the test user on that host and check that the user returns a UID, GID, shell and home directory. Record the output as your baseline. If the user does not resolve, stop here, because overrides cannot be tested until identity lookups work.
Inventory the attributes and hosts that must differ
List every AD user and group that needs a different value on specific hosts, and for each one note the attribute that changes: UID, GID, login shell, home directory or SSH public key. Next, list the hosts that need each override. Ask the AD and Linux teams to confirm which attributes are authoritative in AD and which must be set only in FreeIPA. Your output is a table of users, attributes, current values, target values and host groups.
Write the view plan with names and host assignments
Create a written plan that names each ID view, states the purpose of each view, and lists the hosts each view applies to. Use a naming convention that tells administrators which hosts a view covers and who approved it. Add the overrides each view contains and the change owner. Review the plan with the Linux platform owner and the identity administrator. The plan is done when every host in scope appears under exactly one intended view, and the reviewers have signed off in writing.
Create the ID view and its overrides
Using an account with the required FreeIPA administrative rights, create each ID view in the plan. Then add an ID override for each AD user or group, setting only the attributes listed in the plan. Keep each override minimal, so that unchanged attributes continue to come from the trust. Review the stored overrides against the plan line by line. The step is complete when the view lists exactly the overrides in the plan and no extra entries exist.
Assign the view to test hosts
Apply the ID view to one test host first, and leave other hosts on their current view. Confirm the assignment in the FreeIPA administration interface or command line, and check that the host shows the view you intended. Avoid assigning a view to a broad host group until the test host passes every check in the following steps. Record the test host name and the time of assignment in your change record.
Clear and refresh SSSD caches on the test host
On the test host, clear the SSSD cache so that old identity data does not persist. Stop the SSSD service, remove its cache files using the tooling your distribution documents, then start the service again. Confirm that SSSD is running before you test. Note that cached sessions for affected users may need to log out and back in before changes appear. The step is done when SSSD reports running and the next lookup reflects the server state.
Verify UID, shell, home and SSH key on the host
Repeat the identity lookup from the baseline step for the overridden user on the test host. Confirm that the UID, GID, shell and home directory now match the plan. Then log in as the test user over SSH and confirm that the public key from the override is accepted, and that the home directory and shell are correct. Compare the results with the plan and record any difference before you continue. Do not expand the view until these checks match.
Check file ownership and roll back if needed
Inspect existing files and directories that belong to the user on the test host, such as a home directory created before the override. Compare their numeric owner with the new UID. Where ownership no longer matches, plan a controlled ownership change with the application owner before you widen scope. For rollback, reassign the host to its previous view or remove the override, clear SSSD caches again, and repeat the baseline lookup to confirm the old values. Record the rollback procedure, the test results and the approving owner in your change system before you apply the view to additional hosts.
Keeping FreeIPA ID overrides manageable as hosts and users grow
Override sprawl is the usual way an ID view design fails. The first view is small and easy to reason about, then each new host group gets its own view, each exception gets a one-off override, and within a year nobody can say which UID a given AD user gets on which host. The practices that prevent this are simple to state: give every view a name tied to a host group, so the view's scope is visible from its name, and keep the total number of views small enough that a reviewer can hold the whole set in mind. Before creating a view, check whether an existing host group can absorb the change. Every override should also carry a recorded reason and a named owner, written in the field you use for documentation at the time you create it. An override with no owner is the one most likely to survive a role change and outlive its purpose.
Overrides depend on the ID range decision made earlier. Overrides change what an AD user sees on a specific host, but the UIDs and GIDs underneath come from the trust's ID range, whether SID mapping or POSIX attributes, as covered in the sibling topic on ID ranges for AD users. Before you write overrides that pin a UID, confirm which range model the trust uses and whether the values in your overrides will still match the values the range produces after a future change. Changing UID assignments later is costly because files, ACLs, backups and running processes on every enrolled host hold the old numbers. Treat the range choice as a one-way door and make overrides a short-term fix for host-specific needs, not a second place where UIDs are permanently decided. Confirm the behavior of any range change with the vendor documentation for your release before you plan it.
Keep the view definitions in version control. Export the views and their overrides to files on a schedule, store them in a repository, and require a review step for every change, so that a pull request shows exactly which override changed, who approved it and why. Schedule a periodic review in which owners confirm that each override is still needed, that its host group still exists and that no duplicate override covers the same user. Remove overrides whose owner has left or whose host has been retired, and record each removal. Check the FreeIPA documentation for your release to confirm the export and import commands available for ID views, because the exact tooling and any automation around it should be verified in your own environment rather than assumed.
Who owns each FreeIPA ID override in day-to-day operations
The AD team owns the source attributes that FreeIPA reads for trusted users. ID overrides are applied on top of those values, so a change made in AD can alter what Linux hosts see even though nobody on the Linux side touched anything. The AD team does not configure ID views, but its decisions shape every override that exists.
- Do not change POSIX attributes casually: If the trust reads UIDs, GIDs or login shells from AD, editing those attributes changes identities on every host, including hosts with no override.
- Confirm the ID range model before work starts: Ask whether users are mapped from SIDs or read from POSIX attributes, since that choice determines which values overrides can safely replace.
- Confirm account names and naming changes: Renaming an AD account can break an override keyed to the old name, so ask to be told before any rename.
- Confirm group membership changes that affect access: Overrides do not grant access, but the groups behind HBAC and sudo rules do, so membership changes need review.
- Keep a dated record of AD attribute changes: Note the attribute, the old and new value, and the change ticket, so the Linux team can trace unexpected login differences.
Before each change window, confirm with the AD team which attributes are in scope and whether any of them changed since the last review.
FreeIPA administrators create ID views, assign them to hosts and maintain the override entries inside each view. They are the only group that should change this configuration, which makes them the natural owners of the review cycle. Their work is only useful if they know which hosts each view covers and why each override exists.
- Create views with a stated purpose: Each view should have a name and description that say which hosts it applies to and which problem it solves.
- Assign views to specific hosts deliberately: Record every host-to-view assignment, since an unassigned host silently uses the default AD values.
- Review overrides on a fixed schedule: Check that each override still matches a current need, and remove entries for users or hosts that no longer exist.
- Coordinate with the Linux team before changing a live override: A new UID or home directory on an existing host can leave files owned by the old value, so the change needs a plan.
- Keep the change log in FreeIPA and outside it: Record each view and override change with the requester, date and reason, because the directory itself shows only the current state.
Before closing a change, confirm the view assignments on the affected hosts and check that the record matches the live configuration.
The Linux platform team owns what overrides do on the machines themselves. A changed UID or home directory affects file ownership, running services, scheduled jobs and sudo behavior. This team tests overrides before they reach production and tells the administrators what it needs to see first.
- Inventory file ownership before a UID change: Find files and directories owned by the affected user on each host, and decide how they will be re-owned or moved.
- Check services and application configuration: Confirm whether any application stores the numeric UID, a home path or a shell, since those values may need updating.
- Test logins on a non-production host first: Verify SSH login, the resulting
idoutput, the home directory and the shell, then repeat the test on each host class that uses the view. - Verify sudo and HBAC behavior after the change: Confirm that the user still reaches the same commands and hosts, because access rules may reference the same identity values.
- Record host-level results: Keep the test output, the host list and the date, so the next reviewer can see what was verified and where.
Before approving a view for production, confirm that file ownership, service configuration and login tests all passed on a representative host.
Security and operational risks of ID overrides
ID overrides change how Linux hosts identify and authenticate Active Directory users, so a mistake on one host can affect login, file access and replication. The cards below cover the risks that matter most and the control and test for each.
Wrong UID collides with local accounts
An override UID that already belongs to a local account, a service user or another AD user can give one person another person's file access. Files written under the wrong UID also keep that numeric owner after the override is corrected. Before creating an override, check the UID and GID against /etc/passwd, /etc/group and the existing ID ranges on every host in the view. Test by listing ownership on a sample home directory and a shared path after logging in as the affected user.
Shell override enables or removes login
Setting a shell to /sbin/nologin or /bin/false disables interactive login, while a shell set to a real interpreter can open access that policy did not intend. Access rules such as HBAC still decide whether the account may log in at all, so the shell is a second, separate control. Keep shell overrides in a reviewed change and test both an allowed login and a blocked login on each affected host.
SSH key overrides bypass the expected source
An SSH public key added through an ID override is accepted for that user on the hosts in the view, which can differ from the key source your team expects for AD users. Overrides are a way to add keys, so review who can change them and record each change with its owner and reason. Test by confirming that a key from the expected source works and that a key not in the approved list is refused on a host in the view.
Replication delay across replicas
Overrides live in the directory, so a change made on one replica reaches others only after replication completes. Hosts that query a replica that has not yet received the change can show different UIDs, shells or keys for the same user. Keep the deployment on dedicated servers with two to three replicas per datacenter and no more than four replication agreements per replica, then check that the change appears on every replica before you rely on it.
Backup and restore gaps for override data
ipa-backup captures directory data, but a restore from an outdated backup into an active replica topology can break replication. If a restore brings back an older set of overrides, users may return to UIDs or keys that were already corrected. Record every override change in your change log, and rehearse a restore in a separate environment that confirms the expected overrides and replication health before any production restore.
Changes that need a maintenance window
Changing a UID, GID or home directory for a user already logged in on a host can leave running processes and files out of step with the new identity. Some changes also need the affected host's cache to refresh before the new values appear. Schedule these changes in a maintenance window, notify the affected users, and test by starting a fresh session and checking file access, sudo and SSH login on each host in the view.
Limits to confirm for FreeIPA ID views in your environment
Which attributes can an ID override change in my FreeIPA release?
The attributes an ID override can set depend on the FreeIPA release you run, so confirm the list against the documentation for your installed version before you design overrides. Check which attributes apply to user objects and which to group objects, and whether UID, GID, login shell, home directory and SSH public keys are all overridable in that release. Record the exact attribute names you intend to use, then test each one on a lab host running the same version. Who confirms: your team, using the release documentation and a lab test.
How do ID overrides apply to AD users who have never logged in?
Whether an override takes effect for an AD user who has never logged in to a FreeIPA host depends on how the trust resolves that user and when the identity is first cached on the host. Test this with a user account that has no prior login history on the target host, because a result from a user who has already logged in does not prove the behavior for new users. Confirm the lookup order, the cache behavior and the expected result with a lab run. Who confirms: your team in a lab, with input from the AD team on the user objects involved.
Which client distributions and SSSD versions honor overridden attributes?
Support for overridden attributes depends on the client operating system, its SSSD version and the FreeIPA client packages installed on each host. Build a matrix of every distribution and SSSD version in your fleet, then check whether each one resolves overridden UIDs, shells, home directories and SSH keys as expected. Do not assume that a newer client behaves the same way as an older one. Who confirms: your team, through a lab test on each distribution in your fleet and the vendor or project documentation for each SSSD version.
Do overrides replicate consistently across all FreeIPA replicas after a change?
Replication of ID view changes is expected to follow normal FreeIPA directory replication, but the time it takes and the state seen during replication should be confirmed in your own topology. Make a change on one server, then query the same override from each replica and from the clients that use them, recording any delay or inconsistency. Repeat this after maintenance events and during replication lag. Who confirms: your team, by running the check on your own replicas, and the replication guidance in the FreeIPA documentation.
What happens to existing home directories and file ownership after a UID change?
Changing a UID or home directory through an override does not move or re-own existing files on disk, so ownership and paths on already-used hosts need an explicit plan. List every host where the AD user has files, compare the old and new UIDs and home paths, and decide whether to chown, relocate or leave data in place. Check how existing sessions, cron jobs and services that run as the user react during the change window. Who confirms: your team in a lab with a copy of real host state, and the AD team for any mapping they must keep stable.
Can overrides and SSH key changes be audited and reverted safely?
Whether you can audit and revert overrides cleanly depends on what your FreeIPA release records and on the change process your team follows. Confirm which administrative actions are logged on the servers, how you export the current ID view state for review, and how you roll back an override if it breaks logins. Test a rollback on a lab host before you rely on it in production. Who confirms: your team, using the audit and backup documentation for your release and a rehearsed rollback.
Who owns the AD-side identifiers that overrides depend on?
The AD team owns the SIDs, POSIX attributes and account state that FreeIPA reads through the trust, so overrides that depend on them need agreement before build. Ask the AD team which attributes are stable, who can change them, and how they will notify you of changes that would invalidate an override. Record this ownership in your runbook so that a change on either side has a named contact. Who confirms: the AD team, with your identity team, in writing before the first override is created.
How much effort do FreeIPA ID views for Active Directory users take?
What drives the effort of FreeIPA ID views for AD users?
The main drivers are the number of hosts that carry overrides, the number of attributes you override (UID, GID, login shell, home directory and SSH keys), and how many local accounts already exist on those hosts that could collide with AD identities. Each additional host needs its own view assignment and testing, and each attribute adds a decision about who owns the value. Application dependencies also matter: if a service expects a specific UID, home path or key location, that expectation must be traced before you change anything. A small, uniform set of hosts with one or two overridden attributes is far less work than a fleet with per-host exceptions and undocumented local accounts. Ask for a written inventory of hosts and overrides as the first deliverable.
Can a small team set up ID views for AD users in-house?
Yes, a team with working knowledge of FreeIPA, SSSD and Linux account management can build a small set of ID views without outside help, especially on a lab or a limited host set. The risk is less the initial configuration than the operational discipline around it: naming conventions, change records, and checks that a host still resolves the identity it should after patching or re-enrollment. Teams with no prior trust experience usually need more time to validate the AD side, because ID views depend on how the trust maps identities. If your team has not yet run a trust with AD, plan for a review of the design by someone who has, even if the build stays in-house.
What does the AD team need to provide for ID overrides?
The AD team owns the source identities, so they need to confirm which users and groups are in scope, which AD attributes are authoritative for POSIX values if any are used, and whether the trust is in place with the expected direction and ID range. They also need to agree on who can change AD attributes that feed overrides, since a change in AD can alter Linux behavior without any change on the Linux side. The Linux team should provide the host list, the attributes each host requires, and the applications that depend on those values. Agree on a single change path so that a UID or home directory change is reviewed by both teams before it reaches production.
How does host count and change window affect testing time?
Testing time grows with the number of distinct host roles, not only the raw host count, because hosts that share a configuration can be validated once and sampled afterward. Each role needs login tests for an AD user with a cache already populated and one without, checks of file ownership on existing home directories, and a check of any service that reads the overridden UID. Change windows constrain the schedule: if production hosts can only change during a short approved window, testing must be complete in staging beforehand and rollback steps must be written and rehearsed. Ask the provider how they would sequence hosts, what they would test in a non-production copy, and what evidence they would hand over at the end of each window.
What is one-time work and what recurs for ID views?
The initial design, the view and override build, and the first round of login and file-ownership testing are one-time work. Recurring work includes reviewing overrides when hosts are added or retired, checking for drift between what FreeIPA holds and what hosts actually resolve, and re-testing after FreeIPA or SSSD upgrades. Local account cleanup and documentation updates also recur whenever a new application joins the estate. Budget for these recurring checks as part of operations rather than treating them as a finished project, because unreviewed overrides are the most common way ID views become hard to manage over time. Ask whether recurring reviews are included in the written scope or quoted separately.
What should a written scope for ID views include?
A written scope should list the hosts or host groups in scope, the attributes overridden for each, the AD users and groups affected, and the applications that depend on overridden values. It should name the testing approach, the staging environment used, and the change windows that apply. Deliverables should include the view and override configuration as code or exported records, a runbook for adding and removing overrides, and a test record for each host role. The scope should also state what is excluded, such as ID range design, sudo or HBAC policy, and trust setup, which are separate topics that change the effort. Ask the provider to confirm who performs rollback and what happens if a test fails during a window.
How do ID views affect existing local accounts and applications?
If a host already has a local account with the same name or UID as an AD user, the override can create a conflict, and file ownership under existing home directories may no longer match the identity that logs in. Applications that run as a specific UID, read configuration from a home directory, or store keys in a fixed path can break after an override. Inventory these dependencies before you change any attribute, and decide whether the local account is retired, renamed or kept with a documented exception. Confirm with the application owners what they expect, because the fix is usually a planned change in the application configuration rather than a change to the override alone.
How DeployOpen scopes and delivers FreeIPA ID view work
DeployOpen plans, builds and documents FreeIPA ID views for Active Directory users inside the client's own infrastructure, starting from a written scope that names each host group, override and sign-in path. Engagements are fixed-scope, so the override inventory, test cases and handover deliverables are agreed before any changes reach production hosts.
How we scope
- Inventory the FreeIPA hosts, AD trust type and the Linux systems that need overridden UIDs, shells, home directories or SSH keys.
- Agree in writing which ID views, host groups and per-user overrides are in scope, and which AD attributes stay authoritative.
- Confirm the ID range and trust prerequisites with the client before planning any override values that depend on them.
How we build
- Create the ID view objects and overrides in a lab or staging FreeIPA domain first, then apply them to the agreed host list.
- Test sign-in, home directory creation, shell selection and SSH key lookup for sample AD users on each affected host.
- Record every override with its owner, reason and host scope so the view stays readable as the estate grows.
How we hand over
- Deliver a written override register, the ID view configuration export and the test results used to accept each host.
- Document the rollback steps for each override set, including how to remove a view from a host without affecting other users.
- Walk the client's FreeIPA administrators through adding, changing and retiring overrides so the team can run the process alone.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers, which can cover review of new overrides and checks after FreeIPA upgrades.
- Schedule periodic reviews of the override register to remove stale entries and confirm that each host scope still matches its purpose.
- Re-run the agreed host tests after FreeIPA server or client upgrades, and report any changes that affect AD user login.

