CommandDocumentation#
Command-line Documentation Guidelnes#
IPA provides a set of command-line utilities that perform actions as varied as installing the product, managing replicas and administering the IPA data. The clearest differentiator is the command which executes these.
The ipa
command executes data management commands (user, group,
etc.) and the ipa-
(dash) commands are generally used in a more
limited way (e.g. ipa-server-install
, ipa-replica-manage
). I
refer to these as the standalone commands.
Command types#
The standalone commands each have their own man page. This includes a description of what the command does and a list of the available options (and perhaps even an example or two).
The ipa
command executes commands from the XML-RPC framework and
manages data in the IPA database. There is a single man page for the ipa
command with an overview of its capabilites, but not a complete list of
all plugins and what their various options do.
Getting help#
ipa- commands#
To get help from a standalone command use either the –help option or see the man page:
% ipa-replica-manage --help
Usage: ipa-replica-manage [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-H HOST, --host=HOST starting host
-p DIRMAN_PASSWD, --password=DIRMAN_PASSWD
Directory Manager password
-v, --verbose provide additional information
-f, --force ignore some types of errors
--port=PORT port number of other server
--binddn=BINDDN Bind DN to use with remote server
--bindpw=BINDPW Password for Bind DN to use with remote server
--winsync This is a Windows Sync Agreement
--cacert=CACERT Full path and filename of CA certificate to use with
TLS/SSL to the remote server
--win-subtree=WIN_SUBTREE
DN of Windows subtree containing the users you want to
sync (default cn=Users,<domain suffix)
--passsync=PASSSYNC Password for the Windows PassSync user
% man ipa-replica-manage
Framework commands (ipa)#
There are a number of different ways to get help from the ipa
command.
The overall man page for the command:
% man ipa
Note that ipa –help and ipa help are two different, if confusing, things.
ipa --help
provides assistance on using the ipa command itself.
ipa help
provides assistance on the data management commands within
ipa.
A list of available topics. A topic is a high-level view of the data management. For example user, group and host are topics.
% ipa help topics
Usage: ipa [global-options] COMMAND ...
Built-in commands:
console Start the IPA interactive Python console.
help Display help for a command or topic.
Help topics:
aci Directory Server Access Control Instructions (ACIs)
automount Automount
cert Command plugins for IPA-RA certificate operations.
config IPA configuration
dns Domain Name System (DNS) plugin
group Groups of users
hbac Host based access control
host Hosts/Machines (Identity)
hostgroup Groups of hosts.
krbtpolicy Kerberos ticket policy
migration Migration to IPA
misc Misc plugins
netgroup Netgroups
passwd Password changes
pwpolicy Password policy
rolegroup Rolegroups
service Services (Identity)
taskgroup Taskgroups
user Users (Identity)
Try `ipa --help` for a list of global options.`
To dive into a particular topic:
% ipa help user
Users (Identity)
Related commands:
user-add Create new user.
user-del Delete user.
user-find Search for users.
user-lock Lock user account.
user-mod Modify user.
user-show Display user.
user-unlock Unlock user account.
To get help on a particular framework command:
% ipa help user-add
Purpose: Create new user.
Usage: ipa [global-options] user-add LOGIN
Options:
-h, --help show this help message and exit
--first=STR First name
--last=STR Last name
--homedir=STR Home directory
--gecos=STR GECOS field
--shell=STR Login shell
--principal=STR Kerberos principal
--email=STR Email address
--password Set the user password
--uid=INT UID (use this option to set it manually)
--street=STR Street address
--addattr=STR Add an attribute/value pair. Format is attr=value
--setattr=STR Set an attribute to an name/value pair. Format is
attr=value
--all retrieve all attributes
--raw print entries as stored on the server
The framework commands are supposed to be self-documenting, with the ipa man page there to describe the basic layout of how things should work. Not all plugins currently have extra documentation but the goal is to have help like the dns plugin:
% ipa help dns
Domain Name System (DNS) plugin
Implements a set of commands useful for manipulating DNS records used by
the BIND LDAP plugin.
EXAMPLES:
Add new zone;
ipa dns-add example.com nameserver.example.com admin@example.com
Add second nameserver for example.com:
ipa dns-add-rr example.com @ NS nameserver2.example.com
Delete previously added nameserver from example.com:
ipa dns-del-rr example.com @ NS nameserver2.example.com
Add new A record for www.example.com: (random IP)
ipa dns-add-rr example.com www A 80.142.15.2
...
...
Rules of the Road#
Standalone commands#
Every standalone command must have:
A man page
Usage output
Framework commands#
Framework commands must have:
A single man page, ipa
Basic usage output for options, this is automatic (
ipa user-add --help
)An overview of the command via
ipa help <topic>
The overview comes from the initial docstring in the plugin itself. It should include:
User-understandable plugin name
Basic description of what the plugin does
Usage examples