LinuxCommandLibrary

ipa

Manage FreeIPA identity system

SYNOPSIS

ipa [global-options] COMMAND [command-options]

PARAMETERS

--version
    Show program's version number and exit.

-h, --help
    Show a help message for the ipa command or a specific subcommand and exit.

--debug
    Enable verbose debug output, useful for troubleshooting.

--json
    Output results in JSON format, suitable for scripting and programmatic access.

--server=SERVER
    Connect to the specified FreeIPA server hostname or IP address instead of the default.

--principal=PRINCIPAL
    Authenticate as a specific Kerberos principal, overriding the default client principal.

--in-session
    Use an existing IPA session (if available) and do not create a new one. This implies that the user has already authenticated.

--no-session
    Do not use or create an IPA session for this command execution.

--skip-version-check
    Skip the client-server version compatibility check. Use with caution.

-e, --external
    Use external authentication via GSSAPI, typically used by external services or tools.

--config=FILE
    Use a specific configuration file instead of the default /etc/ipa/default.conf.

--profile=PROFILE
    Use a specific profile for configuration from the configuration file.

DESCRIPTION

The ipa command is the primary command-line interface for managing a FreeIPA environment. FreeIPA is an integrated security information management solution for Linux/UNIX networked environments. It provides centralized authentication, authorization, and account information by combining 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag Certificate System, and SSSD.

The ipa command allows administrators to perform a wide range of tasks, including creating and managing users, hosts, services, groups, sudo rules, HBAC rules, DNS records, and certificates. It acts as a dispatcher, taking various subcommands (e.g., user-add, host-find, service-del) to interact with the FreeIPA server and manage the integrated services.

CAVEATS

The ipa command requires a functioning FreeIPA server infrastructure to be effective. Many commands require proper Kerberos authentication (a valid Kerberos ticket) for an administrative principal to execute successfully. The sheer number of subcommands and options can be daunting for new users, necessitating careful consultation of documentation or context-specific help.

SUBCOMMAND STRUCTURE

The ipa command doesn't perform actions directly but dispatches them to specific subcommands. These subcommands are organized logically by the object they manage, e.g., user, host, service, group, sudorule, hbacrule, cert, dns. Each subcommand then has its own set of actions like -add, -mod, -find, -show, -del, and specific options related to that action. For example, to add a user, one would use ipa user-add [options].

AUTHENTICATION REQUIREMENTS

For most administrative tasks, the ipa command relies on Kerberos for authentication. This means an administrator typically needs to obtain a Kerberos ticket-granting ticket (TGT) using the kinit command (e.g., kinit admin) before executing ipa commands. The command uses this TGT to authenticate to the FreeIPA server. If no valid ticket is present, the command may prompt for a password or fail with an authentication error.

CONFIGURATION FILES

The behavior of the ipa client can be influenced by configuration files, primarily /etc/ipa/default.conf. This file contains settings such as the default FreeIPA server to connect to, Kerberos realm, client certificate paths, and other client-specific parameters. These settings can often be overridden by command-line options.

HISTORY

The FreeIPA project was initiated around 2007-2008 by Red Hat as an open-source initiative to provide an integrated identity management solution on Linux. The ipa command-line tool has been a core component since its early days, evolving alongside the FreeIPA server to offer a consistent and comprehensive interface for administering the complex array of services it integrates, including 389 Directory Server, MIT Kerberos, and Dogtag Certificate System. Its development has focused on robustness, automation capabilities, and ease of use for administrators.

SEE ALSO

kinit(1), klist(1), ipa-client-install(1), authselect(8), sssd(8), ldapsearch(1)

Copied to clipboard