directory

Service Management

Manage Kerberos service principals for network services requiring authentication. Service entries store service credentials, support certificate-based authentication, and enable delegation scenarios. Features include service principal management, certificate operations, host and user delegation, and support for constrained delegation (S4U2Proxy) for application integration and single sign-on.

21 commands
directory

Overview

Service principals in FreeIPA represent network services that participate in Kerberos authentication. Each service running on an IPA-enrolled host that needs to accept authenticated connections requires a service principal, enabling mutual authentication where both clients and servers prove their identities. Service principals follow the format SERVICE/hostname@REALM, where SERVICE identifies the application type (HTTP, LDAP, NFS, etc.) and hostname specifies the system running the service.

Service entries store both Kerberos credentials (keytabs) and X.509 certificates, supporting both ticket-based and certificate-based authentication. This dual credential support enables services to participate in traditional Kerberos SSO workflows while also supporting modern TLS/SSL encrypted connections with certificate validation. Services can hold multiple certificates simultaneously, supporting certificate renewal transitions and diverse client capabilities.

Service management in IPA includes credential lifecycle, delegation configuration, and access control. Services can delegate authentication decisions to other services (constrained delegation), enabling multi-tier application architectures where frontend services authenticate users and backend services trust that authentication. Host-based delegation controls which hosts can manage service credentials, supporting distributed administration and automated provisioning workflows.

Service Principal Format and Components

Service principals consist of three components: service type, hostname, and realm. The service type indicates the application protocol (HTTP for web servers, LDAP for directory services, NFS for file sharing, etc.). The hostname identifies where the service runs, matching the system’s DNS name. The realm (typically implicit, matching the IPA domain) completes the principal identity.

Standard Service Types:

  • HTTP/: Web services, REST APIs, application servers
  • LDAP/: LDAP directory services
  • NFS/: Network File System services
  • cifs/: SMB/CIFS file sharing
  • DNS/: DNS servers
  • host/: Host-level services and SSH

Service type names are case-sensitive and conventionally uppercase for well-known services. Custom service types can be defined for organization-specific applications, though using standard types when applicable improves interoperability.

The hostname component must match the system’s canonical DNS name or be an alias configured in DNS. Mismatched hostnames cause Kerberos authentication failures as clients cannot locate the service’s principal. For services behind load balancers or virtual hosts, service principals should use the virtual hostname rather than physical server names.

Service Creation Prerequisites

Creating service principals requires the associated host to exist in IPA. This prerequisite ensures services are registered on legitimate, enrolled systems and establishes ownership relationships. The --skip-host-check flag bypasses this validation for special scenarios, but normal operations should create hosts before services.

The --force flag allows service creation even when the hostname doesn’t resolve in DNS. This supports pre-provisioning scenarios where DNS records are created after service principals, or isolated environments where DNS may not be fully configured. However, services with unresolvable hostnames will fail Kerberos authentication until DNS is corrected.

Service creation doesn’t automatically generate keytabs or certificates. After creating the service principal, separate operations retrieve keytabs (using ipa-getkeytab) or request certificates (using cert-request). This separation enables flexible deployment workflows and prevents premature credential generation.

Keytab Management

Keytabs are files containing Kerberos keys enabling services to authenticate without interactive password entry. Services store keytabs locally (typically in /etc/), loading them during startup to authenticate incoming connections. Keytab retrieval requires appropriate privileges: the service’s host, delegated administrators, or users granted explicit keytab retrieval permissions.

The ipa-getkeytab command retrieves keytabs from the IPA server, generating new keys if necessary. Generating new keys invalidates previous keytabs for that service, a critical consideration when multiple systems share a service principal (generally discouraged) or during service migration.

Keytab permissions control who can create (generate new keys) or retrieve (access existing keys) keytabs:

Create Keytab: Regenerates service keys, invalidating all existing keytabs. This permission should be restricted to trusted administrators and automation systems. Creating a new keytab for an active service causes authentication failures until all instances are updated.

Retrieve Keytab: Accesses current keys without regeneration. Less disruptive than creation but still sensitive as it grants access to service credentials. Retrieve permissions support scenarios where multiple systems legitimately need the same keytab.

Keytab delegation can target users (individual administrators), groups (operational teams), hosts (automation systems), or host groups (fleets of orchestration nodes). This flexibility enables both manual administration and automated provisioning while maintaining security boundaries.

Certificate Management for Services

Service certificates enable TLS/SSL encryption and certificate-based authentication. Certificates are requested through IPA’s integrated CA using cert-request, associating the certificate with the service principal. Unlike keytabs which are automatically generated, certificate requests require CSRs generated by the requestor containing the service’s public key.

Multiple certificates per service support certificate renewal overlaps and algorithm diversity. During renewal, services can hold both expiring and renewed certificates, enabling graceful transition without service interruption. Services may also hold RSA and ECDSA certificates simultaneously, selecting appropriate certificates based on client capabilities.

Certificate operations (adding, removing) can be performed by the service’s host, users with appropriate permissions, or through delegated management relationships. The service-add-host command designates hosts that can manage a service’s certificates, supporting scenarios where load balancers or orchestration systems manage backend service certificates.

Certmonger on IPA clients automates certificate renewal for services. When configured to track a service certificate, certmonger monitors expiration, requests renewal from the IPA CA, and updates certificate files without manual intervention. This automation prevents certificate expiration outages.

Constrained Delegation (S4U2Proxy)

Constrained delegation enables services to authenticate to backend services on behalf of users without requiring user credentials. This pattern is essential for multi-tier applications: a web application authenticates users, then accesses a database on their behalf. Without delegation, the database can’t verify the user’s identity; with delegation, the web app presents evidence of the user’s authentication.

IPA implements constrained delegation through Kerberos S4U2Proxy protocol extensions. Services configured for delegation can request service tickets to specific backend services on behalf of authenticated users. The backend service receives both the user’s identity and proof that delegation was authorized by IPA’s KDC.

ok-as-delegate: Marks a service as suitable for credential delegation. Clients seeing this flag may forward their TGTs to the service, enabling full delegation. This flag should only be set on highly trusted services as it grants access to user credentials.

ok-to-auth-as-delegate: Permits the service to use S4U2Self to obtain a service ticket on behalf of a user, necessary for protocol transition scenarios where the initial authentication wasn’t Kerberos-based (e.g., form-based web login).

Delegation targets are configured through service-add-delegation, specifying which backend service principals this service can obtain tickets for. Constrained delegation limits delegation to explicitly configured targets, preventing services from impersonating users to arbitrary services.

PAC Type Configuration

Privilege Attribute Certificates (PAC) are embedded in Kerberos tickets providing authorization information. PAC types determine what authorization data is included in tickets for the service. The default includes MS-PAC for Active Directory trust compatibility, but some services require PAC modification.

NONE: Disables PAC entirely. Required for services with ticket size constraints like NFS, where the Linux kernel has ticket size limits. Large PACs can exceed these limits causing authentication failures.

MS-PAC: Includes Microsoft PAC data for Active Directory trust integration. Services accessed by AD users typically require MS-PAC.

PAD: FreeIPA PAC data for IPA-specific authorization information.

PAC type configuration is service-specific through service-mod --pac-type. Most services use defaults, but specialized services may require custom PAC configuration to function correctly.

Authentication Indicators

Authentication indicators restrict how users can authenticate to services, enforcing security policies requiring specific authentication methods. The --auth-ind parameter configures allowed authentication indicators:

  • otp: Allows OTP-based two-factor authentication
  • radius: Allows RADIUS-based two-factor authentication
  • pkinit: Allows PKINIT (certificate-based) authentication
  • hardened: Allows hardened password authentication (SPAKE/FAST)
  • idp: Allows OAuth 2.0 Device Flow authentication
  • passkey: Allows passkey-based authentication

When authentication indicators are configured, users attempting authentication must have authenticated using one of the allowed methods. This enables service-specific security policies: highly sensitive services can require OTP or passkey authentication while general services allow all methods.

Host-Based Service Management

Services can be managed by hosts other than the host they run on. This delegation pattern supports orchestration systems, load balancers, and centralized management platforms. The service-add-host command designates hosts authorized to manage a service’s credentials and certificates.

When combined with role membership (e.g., certadmin role), delegated hosts can request certificates, regenerate keytabs, and modify service attributes. This enables automation where provisioning systems manage service lifecycle without requiring full administrative credentials.

Host-based management is directional: designating host A to manage service S doesn’t grant S permissions over A. This asymmetric relationship enables safe delegation where management hosts have limited, specific privileges over managed services.

Examples

Basic Service Management

Add a new service principal:

ipa service-add HTTP/web.example.com

Add a service bypassing host existence check (special scenarios only):

ipa service-add --skip-host-check HTTP/app.example.com

Add a service forcing creation even if DNS doesn’t resolve:

ipa service-add --force HTTP/web.example.com

Add an SMB service (special handling for Windows integration):

ipa service-add-smb web.example.com

Delete a service principal:

ipa service-del HTTP/web.example.com

Display comprehensive service information:

ipa service-show HTTP/web.example.com --all

Search for all services on a specific host:

ipa service-find web.example.com

Search for all services of a specific type:

ipa service-find HTTP

Search for services in specific host groups:

ipa service-find --in-hostgroups=webservers

Service Modification

Modify service description:

ipa service-mod HTTP/web.example.com --desc="Production web server"

Configure PAC type for NFS (disable PAC due to ticket size constraints):

ipa service-mod NFS/fileserver.example.com --pac-type=NONE

Configure PAC type for AD integration:

ipa service-mod HTTP/web.example.com --pac-type=MS-PAC

Set authentication indicator requirements (require OTP):

ipa service-mod HTTP/sensitive.example.com --auth-ind=otp

Set multiple authentication indicators:

ipa service-mod HTTP/secure.example.com --auth-ind=otp --auth-ind=passkey

Configure delegation flags:

ipa service-mod HTTP/web.example.com --ok-as-delegate=TRUE --ok-to-auth-as-delegate=TRUE

Principal Alias Management

Add a principal alias for a service (support alternative names):

ipa service-add-principal HTTP/web.example.com HTTP/www.example.com@EXAMPLE.COM

Remove a principal alias:

ipa service-remove-principal HTTP/web.example.com HTTP/www.example.com@EXAMPLE.COM

Keytab Management

Retrieve a keytab for a service (from the service’s host):

# On web.example.com:
kinit -kt /etc/krb5.keytab host/web.example.com
ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab

Allow a user to create keytabs (regenerate keys):

ipa service-allow-create-keytab HTTP/web.example.com --users=webadmin

Allow a group to create keytabs:

ipa service-allow-create-keytab HTTP/web.example.com --groups=webadmins

Allow a host to create keytabs (for automation):

ipa service-allow-create-keytab HTTP/web.example.com --hosts=provisioner.example.com

Allow host groups to create keytabs:

ipa service-allow-create-keytab HTTP/web.example.com --hostgroups=automation_servers

Revoke keytab creation permission:

ipa service-disallow-create-keytab HTTP/web.example.com --users=webadmin

Allow keytab retrieval (access without regeneration):

ipa service-allow-retrieve-keytab HTTP/web.example.com --users=operator

Revoke keytab retrieval permission:

ipa service-disallow-retrieve-keytab HTTP/web.example.com --users=operator

Certificate Management

Request a certificate for a service:

ipa cert-request --principal=HTTP/web.example.com web.csr

Add a certificate to a service entry:

ipa service-add-cert HTTP/web.example.com --certificate="MIIDXTCCAkWgAwIBAgI..."

Remove a certificate from a service:

ipa service-remove-cert HTTP/web.example.com --certificate="MIIDXTCCAkWgAwIBAgI..."

Host-Based Service Management Delegation

Designate a host to manage a service:

ipa service-add-host HTTP/web.example.com --hosts=loadbalancer.example.com

Grant certadmin role to the managing host (enables certificate operations):

ipa role-add-member --hosts=loadbalancer.example.com certadmin

Remove host management delegation:

ipa service-remove-host HTTP/web.example.com --hosts=loadbalancer.example.com

Constrained Delegation

Add delegation target (allow frontend to access backend on behalf of users):

ipa service-add-delegation HTTP/frontend.example.com ldap/backend.example.com@EXAMPLE.COM

Remove delegation target:

ipa service-remove-delegation HTTP/frontend.example.com ldap/backend.example.com@EXAMPLE.COM

Allow a user to configure delegation:

ipa service-allow-add-delegation HTTP/web.example.com --users=appowner

Revoke delegation configuration privilege:

ipa service-disallow-add-delegation HTTP/web.example.com --users=appowner

Service Disablement

Disable service (revoke Kerberos keys and certificates):

ipa service-disable HTTP/web.example.com

Re-enable service (retrieve new keytab and request new certificate):

ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab
ipa cert-request --principal=HTTP/web.example.com web.csr

Best Practices

Service Principal Design

Use canonical hostnames: Service principals should use canonical DNS names, not aliases or IP addresses. This ensures Kerberos reverse DNS lookups succeed and prevents authentication failures.

One service per application instance: Don’t share service principals across multiple physical hosts. Each instance should have its own principal (or use load balancer virtual hostname if truly load-balanced).

Follow standard service type conventions: Use standard service types (HTTP, LDAP, NFS) when applicable. Custom types reduce interoperability and complicate client configuration.

Plan for virtual hosting: Web services with multiple virtual hosts can use principal aliases to support multiple hostnames. Alternatively, use the virtual hostname as the primary principal.

Keytab Management

Protect keytab files: Keytabs are equivalent to passwords. Set strict file permissions (typically 0600, owned by service account) and protect them from unauthorized access.

Avoid sharing keytabs: Each service instance should have unique credentials. Shared keytabs multiply compromise impact and complicate key rotation.

Automate keytab retrieval: Use configuration management tools to retrieve keytabs during provisioning. Don’t manually copy keytab files between systems.

Monitor keytab expiration: While Kerberos keys don’t expire, keytab files can become invalid if keys are regenerated. Monitor for authentication failures indicating stale keytabs.

Document delegation relationships: Maintain clear records of which users/hosts can create or retrieve keytabs for each service. This aids security audits and incident response.

Certificate Operations

Leverage certmonger: Configure certmonger to manage service certificates automatically. This prevents expiration outages and eliminates manual renewal.

Plan certificate transitions: During renewal, ensure services support both old and new certificates during transition periods. Some services can load multiple certificates for this purpose.

Use appropriate certificate profiles: Select profiles matching service requirements. Server certificates need serverAuth extended key usage, client certificates need clientAuth.

Coordinate certificate deployment: When deploying new certificates, ensure all service instances receive updates before old certificates expire.

Constrained Delegation

Limit delegation targets: Only configure delegation to specific backend services required by the application. Broad delegation increases risk if the frontend is compromised.

Document delegation flows: Clearly document which services delegate to which backends and why. This helps security audits and troubleshooting.

Monitor delegation usage: Track delegation-related authentication to detect anomalous patterns that might indicate compromise.

Test delegation carefully: Constrained delegation configuration is complex. Thoroughly test in non-production before deploying to production.

PAC and Authentication Indicators

Set PAC type based on requirements: Most services use defaults. Only modify PAC type for specific needs (NFS ticket size, AD integration requirements).

Use authentication indicators for sensitive services: Services handling sensitive data should require stronger authentication (OTP, passkey) through authentication indicators.

Test PAC changes thoroughly: Incorrect PAC configuration can break authentication. Test changes in non-production environments first.

Document indicator requirements: Clearly communicate authentication requirements to users. Unexpected indicator requirements cause user confusion.

Service Lifecycle

Disable rather than delete: When decommissioning services, use service-disable initially rather than deletion. This allows recovery if the service is needed again.

Clean up obsolete services: Regularly audit service principals and delete truly obsolete entries. Stale services clutter the directory and may represent security risks.

Plan for service migration: When moving services between hosts, create the new service principal, migrate gradually, then disable the old principal.

Maintain service inventory: Track all service principals, their purposes, and ownership. This documentation aids management and security audits.

Security Considerations

Limit delegation permissions: Creating keytabs regenerates keys causing service disruption. Grant creation permissions sparingly and primarily to automation systems.

Audit service modifications: Monitor service principal changes, especially delegation configuration and keytab operations. Unusual changes may indicate compromise.

Protect managed-by relationships: Host-based management grants significant control. Ensure managing hosts are themselves well-secured.

Review authentication indicators regularly: As authentication methods evolve, review and update authentication indicator policies.

Integration with Other IPA Components

Host Entries

Service principals require host entries to exist. Host management (host-* commands) provides the foundation for service registration.

Certificate Management

Service certificates are issued through IPA’s CA using cert-* commands. Service entries track issued certificates and enable certificate-based authentication.

Groups

Services can be members of groups, enabling collective policy application. Service groups appear in HBAC rules and other policy contexts.

HBAC Rules

Host-based access control rules can restrict which users can access services. HBAC evaluates service membership in groups as part of access decisions.

Delegation Rules

Service delegation (servicedelegation-* commands) provides higher-level delegation rule management complementing service-specific delegation configuration.

Certmonger

Certmonger on IPA clients tracks service certificates and automatically renews them before expiration. Integration with IPA’s CA enables fully automated certificate lifecycle management.

Commands


Command Description


service-add Add a new IPA service.

service-add-cert Add new certificates to a service

service-add-delegation Add new resource delegation to a service

service-add-host Add hosts that can manage this service.

service-add-principal Add new principal alias to a service

service-add-smb Add a new SMB service.

service-allow-add-delegation Allow users, groups, hosts or host groups to handle a resource delegation of this service.

service-allow-create-keytab Allow users, groups, hosts or host groups to create a keytab of this service.

service-allow-retrieve-keytab Allow users, groups, hosts or host groups to retrieve a keytab of this service.

service-del Delete an IPA service.

service-disable Disable the Kerberos key and SSL certificate of a service.

service-disallow-add-delegation Disallow users, groups, hosts or host groups to handle a resource delegation of this service.

service-disallow-create-keytab Disallow users, groups, hosts or host groups to create a keytab of this service.

service-disallow-retrieve-keytab Disallow users, groups, hosts or host groups to retrieve a keytab of this service.

service-find Search for IPA services.

service-mod Modify an existing IPA service.

service-remove-cert Remove certificates from a service

service-remove-delegation Remove resource delegation from a service

service-remove-host Remove hosts that can manage this service.

service-remove-principal Remove principal alias from a service

service-show Display information about an IPA service.


service-add

Usage: ipa [global-options] service-add CANONICAL-PRINCIPAL [options]

Add a new IPA service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--certificate CERTIFICATE Base-64 encoded service certificate

--pac-type PAC-TYPE Override default list of supported PAC types. Use ‘NONE’ to disable PAC support for this service, e.g. this might be necessary for NFS services.

--auth-ind AUTH-IND Defines an allow list for Authentication Indicators. Use ‘otp’ to allow OTP-based 2FA authentications. Use ‘radius’ to allow RADIUS-based 2FA authentications. Use ‘pkinit’ to allow PKINIT-based 2FA authentications. Use ‘hardened’ to allow brute-force hardened password authentication by SPAKE or FAST. Use ‘idp’ to allow authentication against an external Identity Provider supporting OAuth 2.0 Device Authorization Flow (RFC 8628). Use ‘passkey’ to allow passkey-based 2FA authentications. With no indicator specified, all authentication mechanisms are allowed.

--requires-pre-auth REQUIRES-PRE-AUTH Pre-authentication is required for the service

--ok-as-delegate OK-AS-DELEGATE Client credentials may be delegated to the service

--ok-to-auth-as-delegate OK-TO-AUTH-AS-DELEGATE The service is allowed to authenticate on behalf of a client

--setattr SETATTR Set an attribute to a name/value pair. Format is attr=value.

--addattr ADDATTR Add an attribute/value pair. Format is attr=value. The attribute

--force force principal name even if host not in DNS

--skip-host-check force service to be created even when host object does not exist to manage it

--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.


service-add-cert

Usage: ipa [global-options] service-add-cert CANONICAL-PRINCIPAL [options]

Add new certificates to a service

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--certificate CERTIFICATE Base-64 encoded service certificate


service-add-delegation

Usage: ipa [global-options] service-add-delegation CANONICAL-PRINCIPAL PRINCIPAL [options]

Add new resource delegation to a service

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal

PRINCIPAL yes Delegation principal

Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.


service-add-host

Usage: ipa [global-options] service-add-host CANONICAL-PRINCIPAL [options]

Add hosts that can manage this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--hosts HOSTS hosts to add


service-add-principal

Usage: ipa [global-options] service-add-principal CANONICAL-PRINCIPAL PRINCIPAL [options]

Add new principal alias to a service

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal

PRINCIPAL yes Service principal alias

Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.


service-add-smb

Usage: ipa [global-options] service-add-smb HOSTNAME [NETBIOSNAME] [options]

Add a new SMB service.

Arguments


Argument Required Description


HOSTNAME yes Host name

NETBIOSNAME no SMB service NetBIOS name

Options


Option Description


--setattr SETATTR Set an attribute to a name/value pair. Format is attr=value.

--addattr ADDATTR Add an attribute/value pair. Format is attr=value. The attribute

--certificate CERTIFICATE Base-64 encoded service certificate

--ok-as-delegate OK-AS-DELEGATE Client credentials may be delegated to the service

--ok-to-auth-as-delegate OK-TO-AUTH-AS-DELEGATE The service is allowed to authenticate on behalf of a client

--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.


service-allow-add-delegation

Usage: ipa [global-options] service-allow-add-delegation CANONICAL-PRINCIPAL [options]

Allow users, groups, hosts or host groups to handle a resource delegation of this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--users USERS users to add

--groups GROUPS groups to add

--hosts HOSTS hosts to add

--hostgroups HOSTGROUPS host groups to add


service-allow-create-keytab

Usage: ipa [global-options] service-allow-create-keytab CANONICAL-PRINCIPAL [options]

Allow users, groups, hosts or host groups to create a keytab of this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--users USERS users to add

--groups GROUPS groups to add

--hosts HOSTS hosts to add

--hostgroups HOSTGROUPS host groups to add


service-allow-retrieve-keytab

Usage: ipa [global-options] service-allow-retrieve-keytab CANONICAL-PRINCIPAL [options]

Allow users, groups, hosts or host groups to retrieve a keytab of this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--users USERS users to add

--groups GROUPS groups to add

--hosts HOSTS hosts to add

--hostgroups HOSTGROUPS host groups to add


service-del

Usage: ipa [global-options] service-del CANONICAL-PRINCIPAL [options]

Delete an IPA service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--continue Continuous mode: Don’t stop on errors.



service-disable

Usage: ipa [global-options] service-disable CANONICAL-PRINCIPAL [options]

Disable the Kerberos key and SSL certificate of a service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal



service-disallow-add-delegation

Usage: ipa [global-options] service-disallow-add-delegation CANONICAL-PRINCIPAL [options]

Disallow users, groups, hosts or host groups to handle a resource delegation of this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--users USERS users to remove

--groups GROUPS groups to remove

--hosts HOSTS hosts to remove

--hostgroups HOSTGROUPS host groups to remove


service-disallow-create-keytab

Usage: ipa [global-options] service-disallow-create-keytab CANONICAL-PRINCIPAL [options]

Disallow users, groups, hosts or host groups to create a keytab of this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--users USERS users to remove

--groups GROUPS groups to remove

--hosts HOSTS hosts to remove

--hostgroups HOSTGROUPS host groups to remove


service-disallow-retrieve-keytab

Usage: ipa [global-options] service-disallow-retrieve-keytab CANONICAL-PRINCIPAL [options]

Disallow users, groups, hosts or host groups to retrieve a keytab of this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--users USERS users to remove

--groups GROUPS groups to remove

--hosts HOSTS hosts to remove

--hostgroups HOSTGROUPS host groups to remove


service-find

Usage: ipa [global-options] service-find [CRITERIA] [options]

Search for IPA services.

Arguments


Argument Required Description


CRITERIA no A string searched in all relevant object attributes


Options


Option Description


--canonical-principal CANONICAL-PRINCIPAL Service principal

--principal PRINCIPAL Service principal alias

--pac-type PAC-TYPE Override default list of supported PAC types. Use ‘NONE’ to disable PAC support for this service, e.g. this might be necessary for NFS services.

--auth-ind AUTH-IND Defines an allow list for Authentication Indicators. Use ‘otp’ to allow OTP-based 2FA authentications. Use ‘radius’ to allow RADIUS-based 2FA authentications. Use ‘pkinit’ to allow PKINIT-based 2FA authentications. Use ‘hardened’ to allow brute-force hardened password authentication by SPAKE or FAST. Use ‘idp’ to allow authentication against an external Identity Provider supporting OAuth 2.0 Device Authorization Flow (RFC 8628). Use ‘passkey’ to allow passkey-based 2FA authentications. With no indicator specified, all authentication mechanisms are allowed.

--timelimit TIMELIMIT Time limit of search in seconds (0 is unlimited)

--sizelimit SIZELIMIT Maximum number of entries returned (0 is unlimited)

--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--pkey-only Results should contain primary key attribute only (“canonical-principal”)

--man-by-hosts MAN-BY-HOSTS Search for services with these managed by hosts.

--not-man-by-hosts NOT-MAN-BY-HOSTS Search for services without these managed by hosts.


service-mod

Usage: ipa [global-options] service-mod CANONICAL-PRINCIPAL [options]

Modify an existing IPA service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--principal PRINCIPAL Service principal alias

--certificate CERTIFICATE Base-64 encoded service certificate

--pac-type PAC-TYPE Override default list of supported PAC types. Use ‘NONE’ to disable PAC support for this service, e.g. this might be necessary for NFS services.

--auth-ind AUTH-IND Defines an allow list for Authentication Indicators. Use ‘otp’ to allow OTP-based 2FA authentications. Use ‘radius’ to allow RADIUS-based 2FA authentications. Use ‘pkinit’ to allow PKINIT-based 2FA authentications. Use ‘hardened’ to allow brute-force hardened password authentication by SPAKE or FAST. Use ‘idp’ to allow authentication against an external Identity Provider supporting OAuth 2.0 Device Authorization Flow (RFC 8628). Use ‘passkey’ to allow passkey-based 2FA authentications. With no indicator specified, all authentication mechanisms are allowed.

--requires-pre-auth REQUIRES-PRE-AUTH Pre-authentication is required for the service

--ok-as-delegate OK-AS-DELEGATE Client credentials may be delegated to the service

--ok-to-auth-as-delegate OK-TO-AUTH-AS-DELEGATE The service is allowed to authenticate on behalf of a client

--setattr SETATTR Set an attribute to a name/value pair. Format is attr=value.

--addattr ADDATTR Add an attribute/value pair. Format is attr=value. The attribute

--delattr DELATTR Delete an attribute/value pair. The option will be evaluated

--rights Display the access rights of this entry (requires —all). See ipa man page for details.

--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.


service-remove-cert

Usage: ipa [global-options] service-remove-cert CANONICAL-PRINCIPAL [options]

Remove certificates from a service

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--certificate CERTIFICATE Base-64 encoded service certificate


service-remove-delegation

Usage: ipa [global-options] service-remove-delegation CANONICAL-PRINCIPAL PRINCIPAL [options]

Remove resource delegation from a service

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal

PRINCIPAL yes Delegation principal

Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.


service-remove-host

Usage: ipa [global-options] service-remove-host CANONICAL-PRINCIPAL [options]

Remove hosts that can manage this service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

--hosts HOSTS hosts to remove


service-remove-principal

Usage: ipa [global-options] service-remove-principal CANONICAL-PRINCIPAL PRINCIPAL [options]

Remove principal alias from a service

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal

PRINCIPAL yes Service principal alias

Options


Option Description


--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.


service-show

Usage: ipa [global-options] service-show CANONICAL-PRINCIPAL [options]

Display information about an IPA service.

Arguments


Argument Required Description


CANONICAL-PRINCIPAL yes Service principal


Options


Option Description


--rights Display the access rights of this entry (requires —all). See ipa man page for details.

--out OUT file to store certificate in

--all Retrieve and print all attributes from the server. Affects command output.

--raw Print entries as stored on the server. Only affects output format.

--no-members Suppress processing of membership attributes.

Related Topics