LinuxCommandLibrary

ipa

Manage FreeIPA identity system

SYNOPSIS

ipa [global-options] subcommand [subcommand-options] [arguments]

PARAMETERS

-h, --help
    Show help message and exit

--usage
    Show usage summary

--version
    Print IPA client version

-d, --debug[=LEVEL]
    Enable debug logging (1-5)

-v, --verbose
    Increase verbosity

-q, --quiet
    Suppress non-essential output

--log-file=FILE
    Log to specified file

-y, --prompt-yubikey
    Prompt for YubiKey PIN

--server=SERVER
    Specify IPA server hostname

--domain=DOMAIN
    Kerberos realm/domain

--realm=REALM
    Kerberos realm name

--certificate=CERT
    Client certificate file

-p PASS, --password=PASS
    Password (insecure)

-w, --password-from-prompt
    Prompt for password

-k KTAB, --keytab=KTAB
    Keytab file for auth

-b DN, --bind-dn=DN
    LDAP bind DN

--bind-pw=PASS
    LDAP bind password

-N, --no-prompt
    Non-interactive mode

-e VAR=VAL, --environment=VAR=VAL
    Set environment variable

--raw
    Raw XML-RPC output

DESCRIPTION

The ipa command provides a powerful command-line interface for managing FreeIPA (Identity, Policy, Audit), an open-source integrated security information management solution. FreeIPA centralizes authentication (Kerberos), identity (users, groups, hosts, services), authorization (HBAC, SUDO rules), policy enforcement, and auditing for Linux/UNIX environments.

It uses hierarchical subcommands like ipa user-add, ipa host-find, ipa dnsrecord-add, and ipa cert-request to perform CRUD operations on directory entries. Authentication occurs via Kerberos tickets (kinit), passwords, keytabs, or certificates, communicating with the IPA server using XML-RPC over HTTPS/LDAP.

Features include JSON/YAML output for scripting, tab completion (with ipa-completion), detailed help (ipa help topic), and multi-server support. Ideal for admins automating identity lifecycle, DNS integration, and access controls in enterprise setups.

Requires an IPA-enrolled client or server access; supports idempotent operations and dry-runs where available.

CAVEATS

Requires valid Kerberos ticket or credentials; network-dependent; some subcommands need admin privileges. Avoid --password in scripts for security. JSON output default in non-interactive mode.

CONFIGURATION

Settings in /etc/ipa/default.conf or ~/.ipa/default.conf control server, realm, XML-RPC URI.
Use ipa-config-mod to update.

HELP AND COMPLETION

ipa help lists subcommands; ipa <cmd>--help for details. Enable tab completion with ipa-completion-install.

EXAMPLES

ipa user-add jdoe --first=John --last=Doe --shell=/bin/bash --password
ipa group-add engineers --desc='Engineering team'
ipa host-add server.example.com

HISTORY

Originated in FreeIPA project (2007) by Red Hat engineers for RHEL Identity Management. Evolved from 389-DS/Kerberos tools; major releases align with FreeIPA 4.x (2018+ supports containers, ACME certs). Widely used in enterprises for IdM.

SEE ALSO

ipa-client-install(8), kinit(1), sssctl(8), realm(1), authselect(8), certmonger(8)

Copied to clipboard