diff options
author | Pavel Zuna <pzuna@redhat.com> | 2011-03-14 16:24:11 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2011-03-18 14:59:34 -0400 |
commit | b2a4f1c049d2377932537072a9699db7c6fcd458 (patch) | |
tree | 8659ef14e23cd9130c5fdcbeddbf14eb8a7b170f /install/po | |
parent | 0832bf5a6a32926c41a8a571569453d8ba9432fa (diff) | |
download | freeipa-b2a4f1c049d2377932537072a9699db7c6fcd458.tar.gz freeipa-b2a4f1c049d2377932537072a9699db7c6fcd458.tar.xz freeipa-b2a4f1c049d2377932537072a9699db7c6fcd458.zip |
Update translation file (ipa.pot).
Diffstat (limited to 'install/po')
-rw-r--r-- | install/po/ipa.pot | 7046 |
1 files changed, 6091 insertions, 955 deletions
diff --git a/install/po/ipa.pot b/install/po/ipa.pot index 41ddcd5ed..96acd1e0c 100644 --- a/install/po/ipa.pot +++ b/install/po/ipa.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2010-10-13 14:22-0400\n" +"POT-Creation-Date: 2011-03-14 16:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -19,1507 +19,4622 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ipalib/cli.py:507 -#, python-format -msgid "Enter %(label)s again to verify: " +#: ipalib/plugins/__init__.py:20 +msgid "" +"\n" +"Sub-package containing all core plugins.\n" msgstr "" -#: ipalib/cli.py:511 ipa-client/ipa-getkeytab.c:730 -#, c-format -msgid "Passwords do not match!" +#: ipalib/plugins/aci.py:20 +msgid "" +"\n" +"Directory Server Access Control Instructions (ACIs)\n" +"\n" +"ACIs are used to allow or deny access to information. This module is\n" +"currently designed to allow, not deny, access.\n" +"\n" +"The aci commands are designed to grant permissions that allow updating\n" +"existing entries or adding or deleting new ones. The goal of the ACIs\n" +"that ship with IPA is to provide a set of low-level permissions that\n" +"grant access to special groups called taskgroups. These low-level\n" +"permissions can be combined into roles that grant broader access. These\n" +"roles are another type of group, roles.\n" +"\n" +"For example, if you have taskgroups that allow adding and modifying users " +"you\n" +"could create a role, useradmin. You would assign users to the useradmin\n" +"role to allow them to do the operations defined by the taskgroups.\n" +"\n" +"You can create ACIs that delegate permission so users in group A can write\n" +"attributes on group B.\n" +"\n" +"The type option is a map that applies to all entries in the users, groups " +"or\n" +"host location. It is primarily designed to be used when granting add\n" +"permissions (to write new entries).\n" +"\n" +"An ACI consists of three parts:\n" +"1. target\n" +"2. permissions\n" +"3. bind rules\n" +"\n" +"The target is a set of rules that define which LDAP objects are being\n" +"targeted. This can include a list of attributes, an area of that LDAP\n" +"tree or an LDAP filter.\n" +"\n" +"The targets include:\n" +"- attrs: list of attributes affected\n" +"- type: an object type (user, group, host, service, etc)\n" +"- memberof: members of a group\n" +"- targetgroup: grant access to modify a specific group. This is primarily\n" +" designed to enable users to add or remove members of a specific group.\n" +"- filter: A legal LDAP filter used to narrow the scope of the target.\n" +"- subtree: Used to apply a rule across an entire set of objects. For " +"example,\n" +" to allow adding users you need to grant \"add\" permission to the subtree\n" +" ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. The subtree option\n" +" is a fail-safe for objects that may not be covered by the type option.\n" +"\n" +"The permissions define what the the ACI is allowed to do, and are one or\n" +"more of:\n" +"1. write - write one or more attributes\n" +"2. read - read one or more attributes\n" +"3. add - add a new entry to the tree\n" +"4. delete - delete an existing entry\n" +"5. all - all permissions are granted\n" +"\n" +"Note the distinction between attributes and entries. The permissions are\n" +"independent, so being able to add a user does not mean that the user will\n" +"be editabe.\n" +"\n" +"The bind rule defines who this ACI grants permissions to. The LDAP server\n" +"allows this to be any valid LDAP entry but we encourage the use of\n" +"taskgroups so that the rights can be easily shared through roles.\n" +"\n" +"For a more thorough description of access controls see\n" +"http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control." +"html\n" +"\n" +"EXAMPLES:\n" +"\n" +"NOTE: ACIs are now added via the permision plugin. These examples are to\n" +"demonstrate how the various options work but this is done via the " +"permission\n" +"command-line now (see last example).\n" +"\n" +" Add an ACI so that the group \"secretaries\" can update the address on any " +"user:\n" +" ipa group-add --desc=\"Office secretaries\" secretaries\n" +" ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries " +"--permissions=write --prefix=none \"Secretaries write addresses\"\n" +"\n" +" Show the new ACI:\n" +" ipa aci-show --prefix=none \"Secretaries write addresses\"\n" +"\n" +" Add an ACI that allows members of the \"addusers\" permission to add new " +"users:\n" +" ipa aci-add --type=user --permission=addusers --permissions=add --" +"prefix=none \"Add new users\"\n" +"\n" +" Add an ACI that allows members of the editors manage members of the admins " +"group:\n" +" ipa aci-add --permissions=write --attrs=member --targetgroup=admins --" +"group=editors --prefix=none \"Editors manage admins\"\n" +"\n" +" Add an ACI that allows members of the admin group to manage the street and " +"zip code of those in the editors group:\n" +" ipa aci-add --permissions=write --memberof=editors --group=admins --" +"attrs=street,postalcode --prefix=none \"admins edit the address of editors" +"\"\n" +"\n" +" Add an ACI that allows the admins group manage the street and zipcode of " +"those who work for the boss:\n" +" ipa aci-add --permissions=write --group=admins --attrs=street,postalcode " +"--filter=\"(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)\" --" +"prefix=none \"Edit the address of those who work for the boss\"\n" +"\n" +" Add an entirely new kind of record to IPA that isn't covered by any of the " +"--type options, creating a permission:\n" +" ipa permission-add --permissions=add --subtree=\"cn=*,cn=orange," +"cn=accounts,dc=example,dc=com\" --desc=\"Add Orange Entries\" add_orange\n" +"\n" +"\n" +"The show command shows the raw 389-ds ACI.\n" +"\n" +"IMPORTANT: When modifying the target attributes of an existing ACI you\n" +"must include all existing attributes as well. When doing an aci-mod the\n" +"targetattr REPLACES the current attributes, it does not add to them.\n" +"\n" msgstr "" -#: ipalib/cli.py:516 -msgid "Cancelled." +#: ipalib/plugins/aci.py:153 +msgid "A list of ACI values" msgstr "" -#: ipalib/errors.py:297 -#, python-format -msgid "%(cver)s client incompatible with %(sver)s server at %(server)r" +#: ipalib/plugins/aci.py:172 +msgid "" +"\n" +" Given a name and a prefix construct an ACI name.\n" +" " msgstr "" -#: ipalib/errors.py:315 -#, python-format -msgid "unknown error %(code)d from %(server)s: %(error)s" +#: ipalib/plugins/aci.py:181 +msgid "" +"\n" +" Parse the raw ACI name and return a tuple containing the ACI prefix\n" +" and the actual ACI name.\n" +" " msgstr "" -#: ipalib/errors.py:331 -msgid "an internal error has occurred" +#: ipalib/plugins/aci.py:193 +msgid "" +"\n" +" Pull the group name out of a memberOf filter\n" +" " msgstr "" -#: ipalib/errors.py:353 -#, python-format -msgid "an internal error has occurred on server at %(server)r" +#: ipalib/plugins/aci.py:204 +msgid "" +"\n" +" Given a name and a set of keywords construct an ACI.\n" +" " msgstr "" -#: ipalib/errors.py:369 -#, python-format -msgid "unknown command %(name)r" +#: ipalib/plugins/aci.py:215 +msgid "type, filter, subtree and targetgroup are mutually exclusive" msgstr "" -#: ipalib/errors.py:386 ipalib/errors.py:411 -#, python-format -msgid "error on server %(server)r: %(error)s" +#: ipalib/plugins/aci.py:218 +msgid "ACI prefix is required" msgstr "" -#: ipalib/errors.py:402 -#, python-format -msgid "cannot connect to %(uri)r: %(error)s" +#: ipalib/plugins/aci.py:221 +msgid "" +"at least one of: type, filter, subtree, targetgroup, attrs or memberof are " +"required" msgstr "" -#: ipalib/errors.py:420 -#, python-format -msgid "Invalid JSON-RPC request: %(error)s" +#: ipalib/plugins/aci.py:224 +msgid "filter and memberof are mutually exclusive" msgstr "" -#: ipalib/errors.py:448 -#, python-format -msgid "Kerberos error: %(major)s/%(minor)s" +#: ipalib/plugins/aci.py:230 +msgid "group, permission and self are mutually exclusive" msgstr "" -#: ipalib/errors.py:465 -msgid "did not receive Kerberos credentials" +#: ipalib/plugins/aci.py:232 +msgid "One of group, permission or self is required" msgstr "" -#: ipalib/errors.py:481 -#, python-format -msgid "Service %(service)r not found in Kerberos database" +#: ipalib/plugins/aci.py:251 +msgid "Group '%s' does not exist" msgstr "" -#: ipalib/errors.py:497 -msgid "No credentials cache found" +#: ipalib/plugins/aci.py:273 +msgid "empty filter" msgstr "" -#: ipalib/errors.py:513 -msgid "Ticket expired" +#: ipalib/plugins/aci.py:294 +msgid "Syntax Error: %(error)s" msgstr "" -#: ipalib/errors.py:529 -msgid "Credentials cache permissions incorrect" +#: ipalib/plugins/aci.py:299 +msgid "" +"Convert an ACI into its equivalent keywords.\n" +"\n" +" This is used for the modify operation so we can merge the\n" +" incoming kw and existing ACI and pass the result to\n" +" _make_aci().\n" +" " msgstr "" -#: ipalib/errors.py:545 -msgid "Bad format in credentials cache" +#: ipalib/plugins/aci.py:379 +msgid "ACI with name \"%s\" not found" msgstr "" -#: ipalib/errors.py:561 -msgid "Cannot resolve KDC for requested realm" +#: ipalib/plugins/aci.py:400 +msgid "ACI prefix" msgstr "" -#: ipalib/errors.py:580 -#, python-format -msgid "Insufficient access: %(info)s" +#: ipalib/plugins/aci.py:401 +msgid "" +"Prefix used to distinguish ACI types (permission, delegation, selfservice, " +"none)" msgstr "" -#: ipalib/errors.py:624 -#, python-format -msgid "command %(name)r takes no arguments" +#: ipalib/plugins/aci.py:407 +msgid "" +"\n" +" ACI object.\n" +" " msgstr "" -#: ipalib/errors.py:644 -#, python-format -msgid "command %(name)r takes at most %(count)d argument" -msgid_plural "command %(name)r takes at most %(count)d arguments" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/aci.py:412 +msgid "ACIs" +msgstr "" -#: ipalib/errors.py:674 -#, python-format -msgid "overlapping arguments and options: %(names)r" +#: ipalib/plugins/aci.py:417 +msgid "ACI name" msgstr "" -#: ipalib/errors.py:690 -#, python-format -msgid "%(name)r is required" +#: ipalib/plugins/aci.py:422 +msgid "Permission" msgstr "" -#: ipalib/errors.py:706 ipalib/errors.py:722 -#, python-format -msgid "invalid %(name)r: %(error)s" +#: ipalib/plugins/aci.py:423 +msgid "Permission ACI grants access to" msgstr "" -#: ipalib/errors.py:738 -#, python-format -msgid "api has no such namespace: %(name)r" +#: ipalib/plugins/aci.py:427 ipalib/plugins/delegation.py:130 +msgid "User group" msgstr "" -#: ipalib/errors.py:747 -msgid "Passwords do not match" +#: ipalib/plugins/aci.py:428 ipalib/plugins/delegation.py:131 +msgid "User group ACI grants access to" msgstr "" -#: ipalib/errors.py:755 -msgid "Command not implemented" +#: ipalib/plugins/aci.py:432 ipalib/plugins/baseldap.py:60 +#: ipalib/plugins/delegation.py:113 ipalib/plugins/permission.py:107 +#: ipalib/plugins/permission.py:118 ipalib/plugins/selfservice.py:86 +msgid "Permissions" msgstr "" -#: ipalib/errors.py:783 ipalib/errors.py:1023 ipalib/errors.py:1254 -#, python-format -msgid "%(reason)s" +#: ipalib/plugins/aci.py:433 +msgid "" +"comma-separated list of permissions to grant(read, write, add, delete, all)" msgstr "" -#: ipalib/errors.py:799 -msgid "This entry already exists" +#: ipalib/plugins/aci.py:439 ipalib/plugins/delegation.py:119 +#: ipalib/plugins/permission.py:124 ipalib/plugins/selfservice.py:92 +msgid "Attributes" msgstr "" -#: ipalib/errors.py:815 -msgid "You must enroll a host in order to create a host service" +#: ipalib/plugins/aci.py:440 ipalib/plugins/delegation.py:120 +#: ipalib/plugins/permission.py:125 ipalib/plugins/selfservice.py:93 +msgid "Comma-separated list of attributes" msgstr "" -#: ipalib/errors.py:831 -#, python-format -msgid "" -"Service principal is not of the form: service/fully-qualified host name: " -"%(reason)s" +#: ipalib/plugins/aci.py:444 ipalib/plugins/internal.py:158 +#: ipalib/plugins/permission.py:131 +msgid "Type" msgstr "" -#: ipalib/errors.py:847 -msgid "" -"The realm for the principal does not match the realm for this IPA server" +#: ipalib/plugins/aci.py:445 +msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" msgstr "" -#: ipalib/errors.py:863 -msgid "This command requires root access" +#: ipalib/plugins/aci.py:450 +msgid "Member of" msgstr "" -#: ipalib/errors.py:879 -msgid "This is already a posix group" +#: ipalib/plugins/aci.py:451 +msgid "Member of a group" msgstr "" -#: ipalib/errors.py:895 -#, python-format -msgid "Principal is not of the form user@REALM: %(principal)r" +#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:228 +#: ipalib/plugins/permission.py:144 +msgid "Filter" msgstr "" -#: ipalib/errors.py:911 -msgid "This entry is already unlocked" +#: ipalib/plugins/aci.py:456 ipalib/plugins/permission.py:145 +msgid "Legal LDAP filter (e.g. ou=Engineering)" msgstr "" -#: ipalib/errors.py:927 -msgid "This entry is already locked" +#: ipalib/plugins/aci.py:460 ipalib/plugins/permission.py:150 +msgid "Subtree" msgstr "" -#: ipalib/errors.py:943 -msgid "This entry has nsAccountLock set, it cannot be locked or unlocked" +#: ipalib/plugins/aci.py:461 +msgid "Subtree to apply ACI to" msgstr "" -#: ipalib/errors.py:959 -msgid "This entry is not a member of the group" +#: ipalib/plugins/aci.py:465 ipalib/plugins/permission.py:156 +msgid "Target group" msgstr "" -#: ipalib/errors.py:975 -msgid "A group may not be a member of itself" +#: ipalib/plugins/aci.py:466 +msgid "Group to apply ACI to" msgstr "" -#: ipalib/errors.py:991 -msgid "This entry is already a member of the group" +#: ipalib/plugins/aci.py:470 +msgid "Target your own entry (self)" msgstr "" -#: ipalib/errors.py:1007 -#, python-format -msgid "Base64 decoding failed: %(reason)s" +#: ipalib/plugins/aci.py:471 +msgid "Apply ACI to your own entry (self)" msgstr "" -#: ipalib/errors.py:1039 -msgid "A group may not be added as a member of itself" +#: ipalib/plugins/aci.py:478 +msgid "" +"\n" +" Create new ACI.\n" +" " msgstr "" -#: ipalib/errors.py:1055 -msgid "The default users group cannot be removed" +#: ipalib/plugins/aci.py:482 +msgid "Created ACI \"%(value)s\"" msgstr "" -#: ipalib/errors.py:1071 -msgid "Host does not have corresponding DNS A record" +#: ipalib/plugins/aci.py:487 +msgid "Test the ACI syntax but don't write anything" msgstr "" -#: ipalib/errors.py:1086 -msgid "Deleting a managed group is not allowed. It must be detached first." +#: ipalib/plugins/aci.py:493 +msgid "" +"\n" +" Execute the aci-create operation.\n" +"\n" +" Returns the entry as it will be created in LDAP.\n" +"\n" +" :param aciname: The name of the ACI being added.\n" +" :param kw: Keyword arguments for the other LDAP attributes.\n" +" " msgstr "" -#: ipalib/errors.py:1109 -#, python-format -msgid "no command nor help topic %(topic)r" +#: ipalib/plugins/aci.py:533 +msgid "" +"\n" +" Delete ACI.\n" +" " msgstr "" -#: ipalib/errors.py:1133 -msgid "change collided with another change" +#: ipalib/plugins/aci.py:538 +msgid "Deleted ACI \"%(value)s\"" msgstr "" -#: ipalib/errors.py:1149 -msgid "no modifications to be performed" +#: ipalib/plugins/aci.py:543 +msgid "" +"\n" +" Execute the aci-delete operation.\n" +"\n" +" :param aciname: The name of the ACI being added.\n" +" :param kw: unused\n" +" " msgstr "" -#: ipalib/errors.py:1165 -#, python-format -msgid "%(desc)s:%(info)s" +#: ipalib/plugins/aci.py:576 +msgid "" +"\n" +" Modify ACI.\n" +" " msgstr "" -#: ipalib/errors.py:1181 -msgid "limits exceeded for this query" +#: ipalib/plugins/aci.py:582 ipalib/plugins/aci.py:830 +#: ipalib/plugins/aci.py:871 ipalib/plugins/delegation.py:255 +#: ipalib/plugins/selfservice.py:212 +msgid "ACI" msgstr "" -#: ipalib/errors.py:1196 -#, python-format -msgid "%(info)s" +#: ipalib/plugins/aci.py:588 +msgid "Modified ACI \"%(value)s\"" msgstr "" -#: ipalib/errors.py:1221 -#, python-format -msgid "Certificate operation cannot be completed: %(error)s" +#: ipalib/plugins/aci.py:633 +msgid "" +"\n" +" Search for ACIs.\n" +"\n" +" Returns a list of ACIs\n" +"\n" +" EXAMPLES:\n" +"\n" +" To find all ACIs that apply directly to members of the group ipausers:\n" +" ipa aci-find --memberof=ipausers\n" +"\n" +" To find all ACIs that grant add access:\n" +" ipa aci-find --permissions=add\n" +"\n" +" Note that the find command only looks for the given text in the set of\n" +" ACIs, it does not evaluate the ACIs to see if something would apply.\n" +" For example, searching on memberof=ipausers will find all ACIs that\n" +" have ipausers as a memberof. There may be other ACIs that apply to\n" +" members of that group indirectly.\n" +" " +msgstr "" + +#: ipalib/plugins/aci.py:653 +msgid "%(count)d ACI matched" +msgid_plural "%(count)d ACIs matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/aci.py:823 +msgid "" +"\n" +" Display a single ACI given an ACI name.\n" +" " msgstr "" -#: ipalib/errors.py:1237 -#, python-format -msgid "Certificate format error: %(error)s" +#: ipalib/plugins/aci.py:837 +msgid "" +"\n" +" Execute the aci-show operation.\n" +"\n" +" Returns the entry\n" +"\n" +" :param uid: The login name of the user to retrieve.\n" +" :param kw: unused\n" +" " msgstr "" -#: ipalib/frontend.py:380 -msgid "Results are truncated, try a more specific search" +#: ipalib/plugins/aci.py:865 +msgid "" +"\n" +" Rename an ACI.\n" +" " msgstr "" -#: ipalib/frontend.py:797 ipalib/plugins/misc.py:47 -msgid "retrieve all attributes" +#: ipalib/plugins/aci.py:878 +msgid "New ACI name" msgstr "" -#: ipalib/frontend.py:803 -msgid "print entries as stored on the server" +#: ipalib/plugins/aci.py:882 +msgid "Renamed ACI to \"%(value)s\"" msgstr "" -#: ipalib/frontend.py:940 -msgid "Forward to server instead of running locally" +#: ipalib/plugins/automount.py:20 +msgid "" +"\n" +"Automount\n" +"\n" +"Stores automount(8) configuration for autofs(8) in IPA.\n" +"\n" +"The base of an automount configuration is the configuration file auto." +"master.\n" +"This is also the base location in IPA. Multiple auto.master configurations\n" +"can be stored in separate locations. A location is implementation-specific\n" +"with the default being a location named 'default'. For example, you can " +"have\n" +"locations by geographic region, by floor, by type, etc.\n" +"\n" +"Automount has three basic object types: locations, maps and keys.\n" +"\n" +"A location defines a set of maps anchored in auto.master. This allows you\n" +"to store multiple automount configurations. A location in itself isn't\n" +"very interesting, it is just a point to start a new automount map.\n" +"\n" +"A map is roughly equivalent to a discrete automount file and provides\n" +"storage for keys.\n" +"\n" +"A key is a mount point associated with a map.\n" +"\n" +"When a new location is created, two maps are automatically created for\n" +"it: auto.master and auto.direct. auto.master is the root map for all\n" +"automount maps for the location. auto.direct is the default map for\n" +"direct mounts and is mounted on /-.\n" +"\n" +"EXAMPLES:\n" +"\n" +"Locations:\n" +"\n" +" Create a named location, \"Baltimore\":\n" +" ipa automountlocation-add baltimore\n" +"\n" +" Display the new location:\n" +" ipa automountlocation-show baltimore\n" +"\n" +" Find available locations:\n" +" ipa automountlocation-find\n" +"\n" +" Remove a named automount location:\n" +" ipa automountlocation-del baltimore\n" +"\n" +" Show what the automount maps would look like if they were in the " +"filesystem:\n" +" ipa automountlocation-tofiles baltimore\n" +"\n" +" Import an existing configuration into a location:\n" +" ipa automountlocation-import baltimore /etc/auto.master\n" +"\n" +" The import will fail if any duplicate entries are found. For\n" +" continuous operation where errors are ignored, use the --continue\n" +" option.\n" +"\n" +"Maps:\n" +"\n" +" Create a new map, \"auto.share\":\n" +" ipa automountmap-add baltimore auto.share\n" +"\n" +" Display the new map:\n" +" ipa automountmap-show baltimore auto.share\n" +"\n" +" Find maps in the location baltimore:\n" +" ipa automountmap-find baltimore\n" +"\n" +" Remove the auto.share map:\n" +" ipa automountmap-del baltimore auto.share\n" +"\n" +"Keys:\n" +"\n" +" Create a new key for the auto.share map in location baltimore. This ties\n" +" the map we previously created to auto.master:\n" +" ipa automountkey-add baltimore auto.master --key=/share --info=auto." +"share\n" +"\n" +" Create a new key for our auto.share map, an NFS mount for man pages:\n" +" ipa automountkey-add baltimore auto.share --key=man --info=\"-ro,soft," +"rsize=8192,wsize=8192 ipa.example.com:/shared/man\"\n" +"\n" +" Find all keys for the auto.share map:\n" +" ipa automountkey-find baltimore auto.share\n" +"\n" +" Find all direct automount keys:\n" +" ipa automountkey-find baltimore --key=/-\n" +"\n" +" Remove the man key from the auto.share map:\n" +" ipa automountkey-del baltimore auto.share --key=man\n" +msgstr "" + +#: ipalib/plugins/automount.py:181 +msgid "" +"\n" +" Location container for automount maps.\n" +" " msgstr "" -#: ipalib/output.py:92 -msgid "A dictionary representing an LDAP entry" +#: ipalib/plugins/automount.py:189 +msgid "Automount" msgstr "" -#: ipalib/output.py:100 -msgid "A list of LDAP entries" +#: ipalib/plugins/automount.py:195 ipalib/plugins/host.py:230 +msgid "Location" msgstr "" -#: ipalib/output.py:111 -msgid "All commands should at least have a result" +#: ipalib/plugins/automount.py:196 +msgid "Automount location name." msgstr "" -#: ipalib/parameters.py:295 -msgid "incorrect type" +#: ipalib/plugins/automount.py:205 +msgid "" +"\n" +" Create a new automount location.\n" +" " msgstr "" -#: ipalib/parameters.py:298 -msgid "Only one value is allowed" +#: ipalib/plugins/automount.py:220 +msgid "" +"\n" +" Delete an automount location.\n" +" " msgstr "" -#: ipalib/parameters.py:877 -msgid "must be True or False" +#: ipalib/plugins/automount.py:228 +msgid "" +"\n" +" Display an automount location.\n" +" " msgstr "" -#: ipalib/parameters.py:978 -msgid "must be an integer" +#: ipalib/plugins/automount.py:236 +msgid "" +"\n" +" Search for an automount location.\n" +" " msgstr "" -#: ipalib/parameters.py:1029 -#, python-format -msgid "must be at least %(minvalue)d" +#: ipalib/plugins/automount.py:244 +msgid "" +"\n" +" Generate automount files for a specific location.\n" +" " msgstr "" -#: ipalib/parameters.py:1039 -#, python-format -msgid "can be at most %(maxvalue)d" +#: ipalib/plugins/automount.py:307 +msgid "" +"\n" +" Import automount files for a specific location.\n" +" " msgstr "" -#: ipalib/parameters.py:1049 -msgid "must be a decimal number" +#: ipalib/plugins/automount.py:313 +msgid "Master file" msgstr "" -#: ipalib/parameters.py:1071 -#, python-format -msgid "must be at least %(minvalue)f" +#: ipalib/plugins/automount.py:314 +msgid "Automount master file." msgstr "" -#: ipalib/parameters.py:1081 -#, python-format -msgid "can be at most %(maxvalue)f" +#: ipalib/plugins/automount.py:321 +msgid "" +"Continuous operation mode. Errors are reported but the process continues." msgstr "" -#: ipalib/parameters.py:1145 -#, python-format -msgid "must match pattern \"%(pattern)s\"" +#: ipalib/plugins/automount.py:333 +msgid "File %(file)s not found" msgstr "" -#: ipalib/parameters.py:1163 -msgid "must be binary data" +#: ipalib/plugins/automount.py:340 +msgid "" +"\n" +" The basic idea is to read the master file and create all the maps\n" +" we need, then read each map file and add all the keys for the map.\n" +" " msgstr "" -#: ipalib/parameters.py:1179 -#, python-format -msgid "must be at least %(minlength)d bytes" +#: ipalib/plugins/automount.py:491 +msgid "" +"\n" +" Automount map object.\n" +" " msgstr "" -#: ipalib/parameters.py:1189 -#, python-format -msgid "can be at most %(maxlength)d bytes" +#: ipalib/plugins/automount.py:504 +msgid "Map" msgstr "" -#: ipalib/parameters.py:1199 -#, python-format -msgid "must be exactly %(length)d bytes" +#: ipalib/plugins/automount.py:505 +msgid "Automount map name." msgstr "" -#: ipalib/parameters.py:1217 -msgid "must be Unicode text" +#: ipalib/plugins/automount.py:510 ipalib/plugins/group.py:113 +#: ipalib/plugins/hbacrule.py:171 ipalib/plugins/hbacsvc.py:73 +#: ipalib/plugins/hbacsvcgroup.py:75 ipalib/plugins/host.py:220 +#: ipalib/plugins/hostgroup.py:85 ipalib/plugins/netgroup.py:109 +#: ipalib/plugins/privilege.py:76 ipalib/plugins/role.py:93 +#: ipalib/plugins/sudocmd.py:74 ipalib/plugins/sudocmdgroup.py:76 +#: ipalib/plugins/sudorule.py:78 +msgid "Description" msgstr "" -#: ipalib/parameters.py:1248 -#, python-format -msgid "must be at least %(minlength)d characters" +#: ipalib/plugins/automount.py:514 +msgid "Automount Maps" msgstr "" -#: ipalib/parameters.py:1258 -#, python-format -msgid "can be at most %(maxlength)d characters" +#: ipalib/plugins/automount.py:520 +msgid "" +"\n" +" Create a new automount map.\n" +" " msgstr "" -#: ipalib/parameters.py:1268 -#, python-format -msgid "must be exactly %(length)d characters" +#: ipalib/plugins/automount.py:528 +msgid "" +"\n" +" Delete an automount map.\n" +" " msgstr "" -#: ipalib/parameters.py:1307 -#, python-format -msgid "must be one of %(values)r" +#: ipalib/plugins/automount.py:547 +msgid "" +"\n" +" Modify an automount map.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:111 -msgid "A list of ACI values" +#: ipalib/plugins/automount.py:555 +msgid "" +"\n" +" Search for an automount map.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:142 -msgid "type, filter, subtree and targetgroup are mutually exclusive" +#: ipalib/plugins/automount.py:563 +msgid "" +"\n" +" Display an automount map.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:145 +#: ipalib/plugins/automount.py:571 msgid "" -"at least one of: type, filter, subtree, targetgroup, attrs or memberof are " -"required" +"\n" +" Automount key object.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:151 -msgid "group, taskgroup and self are mutually exclusive" +#: ipalib/plugins/automount.py:588 ipalib/plugins/automount.py:724 +#: ipalib/plugins/automount.py:796 +msgid "Key" msgstr "" -#: ipalib/plugins/aci.py:153 -msgid "One of group, taskgroup or self is required" +#: ipalib/plugins/automount.py:589 ipalib/plugins/automount.py:725 +#: ipalib/plugins/automount.py:797 +msgid "Automount key name." msgstr "" -#: ipalib/plugins/aci.py:172 -#, python-format -msgid "Group '%s' does not exist" +#: ipalib/plugins/automount.py:593 ipalib/plugins/automount.py:729 +#: ipalib/plugins/automount.py:801 +msgid "Mount information" msgstr "" -#: ipalib/plugins/aci.py:269 -#, python-format -msgid "ACI with name \"%s\" not found" +#: ipalib/plugins/automount.py:596 +msgid "description" msgstr "" -#: ipalib/plugins/aci.py:286 -msgid "ACIs" +#: ipalib/plugins/automount.py:605 +msgid "Automount Keys" msgstr "" -#: ipalib/plugins/aci.py:291 -msgid "ACI name" +#: ipalib/plugins/automount.py:606 +msgid "" +"The key,info pair must be unique. A key named %(key)s with info %(info)s " +"already exists" msgstr "" -#: ipalib/plugins/aci.py:296 -msgid "Taskgroup" +#: ipalib/plugins/automount.py:607 +msgid "The automount key %(key)s with info %(info)s does not exist" msgstr "" -#: ipalib/plugins/aci.py:297 -msgid "Taskgroup ACI grants access to" +#: ipalib/plugins/automount.py:667 +msgid "" +"\n" +" Create a new automount key.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:301 -msgid "User group" +#: ipalib/plugins/automount.py:688 +msgid "" +"\n" +" Create a new indirect mount point.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:302 -msgid "User group ACI grants access to" +#: ipalib/plugins/automount.py:694 +msgid "Mount point" msgstr "" -#: ipalib/plugins/aci.py:306 -msgid "Permissions" +#: ipalib/plugins/automount.py:698 +msgid "Parent map" +msgstr "" + +#: ipalib/plugins/automount.py:699 +msgid "Name of parent automount map (default: auto.master)." msgstr "" -#: ipalib/plugins/aci.py:307 +#: ipalib/plugins/automount.py:718 msgid "" -"comma-separated list of permissions to grant(read, write, add, delete, all)" +"\n" +" Delete an automount key.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:313 -msgid "Attributes" +#: ipalib/plugins/automount.py:749 +msgid "" +"\n" +" Modify an automount key.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:314 -msgid "Comma-separated list of attributes" +#: ipalib/plugins/automount.py:755 +msgid "New mount information" msgstr "" -#: ipalib/plugins/aci.py:318 -msgid "Type" +#: ipalib/plugins/automount.py:782 +msgid "" +"\n" +" Search for an automount key.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:319 -msgid "type of IPA object (user, group, host)" +#: ipalib/plugins/automount.py:790 +msgid "" +"\n" +" Display an automount key.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:324 -msgid "Member of" +#: ipalib/plugins/baseldap.py:19 +msgid "" +"\n" +"Base classes for LDAP plugins.\n" msgstr "" -#: ipalib/plugins/aci.py:325 -msgid "Member of a group" +#: ipalib/plugins/baseldap.py:39 +msgid "Failed members" msgstr "" -#: ipalib/plugins/aci.py:329 -msgid "Filter" +#: ipalib/plugins/baseldap.py:42 +msgid "Member users" msgstr "" -#: ipalib/plugins/aci.py:330 -msgid "Legal LDAP filter (e.g. ou=Engineering)" +#: ipalib/plugins/baseldap.py:45 +msgid "Member groups" msgstr "" -#: ipalib/plugins/aci.py:334 -msgid "Subtree" +#: ipalib/plugins/baseldap.py:48 +msgid "Member of groups" msgstr "" -#: ipalib/plugins/aci.py:335 -msgid "Subtree to apply ACI to" +#: ipalib/plugins/baseldap.py:51 +msgid "Member hosts" msgstr "" -#: ipalib/plugins/aci.py:339 -msgid "Target group" +#: ipalib/plugins/baseldap.py:54 +msgid "Member host-groups" msgstr "" -#: ipalib/plugins/aci.py:340 -msgid "Group to apply ACI to" +#: ipalib/plugins/baseldap.py:57 +msgid "Member of host-groups" msgstr "" -#: ipalib/plugins/aci.py:344 -msgid "Target your own entry (self)" +#: ipalib/plugins/baseldap.py:66 +msgid "Roles" msgstr "" -#: ipalib/plugins/aci.py:345 -msgid "Apply ACI to your own entry (self)" +#: ipalib/plugins/baseldap.py:69 ipalib/plugins/sudocmdgroup.py:65 +#: ipalib/plugins/sudocmdgroup.py:84 ipalib/plugins/sudorule.py:139 +#: ipalib/plugins/sudorule.py:143 +msgid "Sudo Command Groups" msgstr "" -#: ipalib/plugins/aci.py:357 -#, python-format -msgid "Created ACI \"%(value)s\"" +#: ipalib/plugins/baseldap.py:75 +msgid "Granting privilege to roles" msgstr "" -#: ipalib/plugins/aci.py:407 -#, python-format -msgid "Deleted ACI \"%(value)s\"" +#: ipalib/plugins/baseldap.py:78 +msgid "Member netgroups" msgstr "" -#: ipalib/plugins/aci.py:447 -#, python-format -msgid "Modified ACI \"%(value)s\"" +#: ipalib/plugins/baseldap.py:81 +msgid "Member of netgroups" msgstr "" -#: ipalib/plugins/aci.py:519 -#, python-format -msgid "%(count)d ACI matched" -msgid_plural "%(count)d ACIs matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/baseldap.py:84 +msgid "Member services" +msgstr "" -#: ipalib/plugins/automount.py:103 -msgid "Automount" +#: ipalib/plugins/baseldap.py:87 +msgid "Member service groups" msgstr "" -#: ipalib/plugins/automount.py:109 ipalib/plugins/host.py:134 -msgid "Location" +#: ipalib/plugins/baseldap.py:93 +msgid "Member HBAC service groups" msgstr "" -#: ipalib/plugins/automount.py:110 -msgid "Automount location name" +#: ipalib/plugins/baseldap.py:102 +msgid "Indirect Member users" msgstr "" -#: ipalib/plugins/automount.py:226 -msgid "Map" +#: ipalib/plugins/baseldap.py:105 +msgid "Indirect Member groups" msgstr "" -#: ipalib/plugins/automount.py:227 -msgid "Automount map name" +#: ipalib/plugins/baseldap.py:108 +msgid "Indirect Member hosts" msgstr "" -#: ipalib/plugins/automount.py:232 ipalib/plugins/group.py:108 -#: ipalib/plugins/hbac.py:151 ipalib/plugins/hbacsvc.py:72 -#: ipalib/plugins/hbacsvcgroup.py:77 ipalib/plugins/host.py:124 -#: ipalib/plugins/hostgroup.py:81 ipalib/plugins/netgroup.py:96 -#: ipalib/plugins/rolegroup.py:90 ipalib/plugins/sudocmd.py:71 -#: ipalib/plugins/sudocmdgroup.py:77 ipalib/plugins/sudorule.py:58 -#: ipalib/plugins/taskgroup.py:62 -msgid "Description" +#: ipalib/plugins/baseldap.py:111 +msgid "Indirect Member host-groups" msgstr "" -#: ipalib/plugins/automount.py:236 -msgid "Automount Maps" +#: ipalib/plugins/baseldap.py:114 +msgid "Indirect Member of roles" msgstr "" -#: ipalib/plugins/automount.py:308 -msgid "Key" +#: ipalib/plugins/baseldap.py:117 +msgid "Indirect Member permissions" msgstr "" -#: ipalib/plugins/automount.py:309 -msgid "Automount key name" +#: ipalib/plugins/baseldap.py:120 +msgid "Indirect Member HBAC service" msgstr "" -#: ipalib/plugins/automount.py:314 -msgid "Mount information" +#: ipalib/plugins/baseldap.py:123 +msgid "Indirect Member HBAC service group" msgstr "" -#: ipalib/plugins/automount.py:318 -msgid "description" +#: ipalib/plugins/baseldap.py:126 +msgid "Indirect Member netgroups" msgstr "" -#: ipalib/plugins/automount.py:322 -msgid "Automount Keys" +#: ipalib/plugins/baseldap.py:141 +msgid "External host" msgstr "" -#: ipalib/plugins/automount.py:342 -msgid "Mount point" +#: ipalib/plugins/baseldap.py:144 +msgid "Failed hosts/hostgroups" msgstr "" -#: ipalib/plugins/automount.py:346 -msgid "Parent map" +#: ipalib/plugins/baseldap.py:147 +msgid "Failed users/groups" msgstr "" -#: ipalib/plugins/automount.py:347 -msgid "Name of parent automount map (default: auto.master)" +#: ipalib/plugins/baseldap.py:150 +msgid "Failed managedby" msgstr "" -#: ipalib/plugins/baseldap.py:79 -#, python-format +#: ipalib/plugins/baseldap.py:153 +msgid "Failed to remove" +msgstr "" + +#: ipalib/plugins/baseldap.py:171 +msgid "" +"\n" +" Given a list of values in the form name=value, return a list of name.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:197 +msgid "" +"\n" +" When adding or removing reverse members we are faking an update to\n" +" object A by updating the member attribute in object B. The memberof\n" +" plugin makes this work by adding or removing the memberof attribute\n" +" to/from object A, it just takes a little bit of time.\n" +"\n" +" This will loop for 6+ seconds, retrieving object A so we can see\n" +" if all the memberof attributes have been updated.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:241 +msgid "" +"\n" +" Object representing a LDAP entry.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:275 +msgid "Entry" +msgstr "" + +#: ipalib/plugins/baseldap.py:277 msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/baseldap.py:80 -#, python-format +#: ipalib/plugins/baseldap.py:278 msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:81 -#, python-format +#: ipalib/plugins/baseldap.py:279 msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:150 -msgid "Add an attribute/value pair. Format is attr=value" +#: ipalib/plugins/baseldap.py:280 +msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/baseldap.py:155 -msgid "Set an attribute to an name/value pair. Format is attr=value" +#: ipalib/plugins/baseldap.py:409 +msgid "" +"Add an attribute/value pair. Format is attr=value. The attribute must be " +"part of the schema." +msgstr "" + +#: ipalib/plugins/baseldap.py:414 +msgid "" +"Set an attribute to a name/value pair. Format is attr=value.\n" +"For multi-valued attributes, the command replaces the values already present." +msgstr "" + +#: ipalib/plugins/baseldap.py:438 +msgid "" +"\n" +" Callback registration interface\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:509 +msgid "" +"\n" +" Create a new entry in LDAP.\n" +" " msgstr "" -#: ipalib/plugins/baseldap.py:359 +#: ipalib/plugins/baseldap.py:644 +msgid "" +"\n" +" Base class for commands that need to retrieve an existing entry.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:657 +msgid "" +"\n" +" Base class for commands that need to retrieve one or more existing " +"entries.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:663 msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/baseldap.py:517 +#: ipalib/plugins/baseldap.py:679 +msgid "" +"\n" +" Retrieve an LDAP entry.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:687 ipalib/plugins/baseldap.py:753 +#: ipalib/plugins/internal.py:226 +msgid "Rights" +msgstr "" + +#: ipalib/plugins/baseldap.py:688 ipalib/plugins/baseldap.py:754 +msgid "" +"Display the access rights of this entry (requires --all). See ipa man page " +"for details." +msgstr "" + +#: ipalib/plugins/baseldap.py:747 +msgid "" +"\n" +" Update an LDAP entry.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:763 +msgid "Rename" +msgstr "" + +#: ipalib/plugins/baseldap.py:764 +msgid "Rename the %(ldap_obj_name)s object" +msgstr "" + +#: ipalib/plugins/baseldap.py:880 msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/baseldap.py:674 +#: ipalib/plugins/baseldap.py:908 +msgid "" +"\n" +" Delete an LDAP entry and all of its direct subentries.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:995 +msgid "" +"\n" +" Base class for member manipulation.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:1037 +msgid "" +"\n" +" Add other LDAP entries to members.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:1048 ipalib/plugins/baseldap.py:1481 +#: ipalib/plugins/privilege.py:165 ipalib/plugins/privilege.py:191 +#: ipalib/plugins/role.py:180 ipalib/plugins/role.py:204 msgid "Members that could not be added" msgstr "" -#: ipalib/plugins/baseldap.py:678 +#: ipalib/plugins/baseldap.py:1052 ipalib/plugins/baseldap.py:1485 msgid "Number of members added" msgstr "" -#: ipalib/plugins/baseldap.py:684 ipalib/plugins/baseldap.py:789 -msgid "Failed members" +#: ipalib/plugins/baseldap.py:1140 +msgid "" +"\n" +" Remove LDAP entries from members.\n" +" " msgstr "" -#: ipalib/plugins/baseldap.py:779 +#: ipalib/plugins/baseldap.py:1150 ipalib/plugins/baseldap.py:1591 msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/baseldap.py:783 +#: ipalib/plugins/baseldap.py:1154 ipalib/plugins/baseldap.py:1595 msgid "Number of members removed" msgstr "" -#: ipalib/plugins/baseldap.py:880 +#: ipalib/plugins/baseldap.py:1246 +msgid "" +"\n" +" Retrieve all LDAP entries matching the given criteria.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:1255 msgid "Time Limit" msgstr "" -#: ipalib/plugins/baseldap.py:881 +#: ipalib/plugins/baseldap.py:1256 msgid "Time limit of search in seconds" msgstr "" -#: ipalib/plugins/baseldap.py:887 +#: ipalib/plugins/baseldap.py:1262 msgid "Size Limit" msgstr "" -#: ipalib/plugins/baseldap.py:888 +#: ipalib/plugins/baseldap.py:1263 msgid "Maximum number of entries returned" msgstr "" -#: ipalib/plugins/cert.py:93 +#: ipalib/plugins/baseldap.py:1441 +msgid "" +"\n" +" Base class for reverse member manipulation.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:1463 +msgid "" +"\n" +" Add other LDAP entries to members in reverse.\n" +"\n" +" The call looks like \"add A to B\" but in fact executes\n" +" add B to A to handle reverse membership.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:1543 +msgid "added" +msgstr "" + +#: ipalib/plugins/baseldap.py:1573 +msgid "" +"\n" +" Remove other LDAP entries from members in reverse.\n" +"\n" +" The call looks like \"remove A from B\" but in fact executes\n" +" remove B from A to handle reverse membership.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:1653 +msgid "removed" +msgstr "" + +#: ipalib/plugins/batch.py:21 +msgid "" +"\n" +"Plugin to make multiple ipa calls via one remote procedure call\n" +"\n" +"To run this code in the lite-server\n" +"\n" +"curl -H \"Content-Type:application/json\" -H \"Acept:applicaton/" +"json\" -H \"Accept-Language:en\" --negotiate -u : --cacert /" +"etc/ipa/ca.crt -d @batch_request.json -X POST http://" +"localhost:8888/ipa/json\n" +"\n" +"where the contenst of the file batch_request.json follow the below example\n" +"\n" +"{\"method\":\"batch\",\"params\":[[\n" +" {\"method\":\"group_find\",\"params\":[[],{}]},\n" +" {\"method\":\"user_find\",\"params\":[[],{\"whoami\":\"true\",\"all" +"\":\"true\"}]},\n" +" {\"method\":\"user_show\",\"params\":[[\"admin\"],{\"all\":true}]}\n" +" ],{}],\"id\":1}\n" +"\n" +"The format of the response is nested the same way. At the top you will see\n" +" \"error\": null,\n" +" \"id\": 1,\n" +" \"result\": {\n" +" \"count\": 3,\n" +" \"results\": [\n" +"\n" +"\n" +"And then a nested response for each IPA command method sent in the request\n" +"\n" +msgstr "" + +#: ipalib/plugins/batch.py:61 +msgid "Nested Methods to execute" +msgstr "" + +#: ipalib/plugins/batch.py:68 ipalib/frontend.py:862 +msgid "Client version. Used to determine if server will accept request." +msgstr "" + +#: ipalib/plugins/cert.py:22 +msgid "" +"\n" +"IPA certificate operations\n" +"\n" +"Implements a set of commands for managing server SSL certificates.\n" +"\n" +"Certificate requests exist in the form of a Certificate Signing Request " +"(CSR)\n" +"in PEM format.\n" +"\n" +"If using the selfsign back end then the subject in the CSR needs to match\n" +"the subject configured in the server. The dogtag CA uses just the CN\n" +"value of the CSR and forces the rest of the subject.\n" +"\n" +"A certificate is stored with a service principal and a service principal\n" +"needs a host.\n" +"\n" +"In order to request a certificate:\n" +"\n" +"* The host must exist\n" +"* The service must exist (or you use the --add option to automatically add " +"it)\n" +"\n" +"EXAMPLES:\n" +"\n" +" Request a new certificate and add the principal:\n" +" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" +"\n" +" Retrieve an existing certificate:\n" +" ipa cert-show 1032\n" +"\n" +" Revoke a certificate (see RFC 5280 for reason details):\n" +" ipa cert-revoke --revocation-reason=6 1032\n" +"\n" +" Remove a certificate from revocation hold status:\n" +" ipa cert-remove-hold 1032\n" +"\n" +" Check the status of a signing request:\n" +" ipa cert-status 10\n" +"\n" +"IPA currently immediately issues (or declines) all certificate requests so\n" +"the status of a request is not normally useful. This is for future use\n" +"or the case where a CA does not immediately issue a certificate.\n" +"\n" +"The following revocation reasons are supported:\n" +"\n" +" * 0 - unspecified\n" +" * 1 - keyCompromise\n" +" * 2 - cACompromise\n" +" * 3 - affiliationChanged\n" +" * 4 - superseded\n" +" * 5 - cessationOfOperation\n" +" * 6 - certificateHold\n" +" * 8 - removeFromCRL\n" +" * 9 - privilegeWithdrawn\n" +" * 10 - aACompromise\n" +"\n" +"Note that reason code 7 is not used. See RFC 5280 for more details:\n" +"\n" +"http://www.ietf.org/rfc/rfc5280.txt\n" +"\n" +msgstr "" + +#: ipalib/plugins/cert.py:105 +msgid "" +"\n" +" Return the value of CN in the subject of the request or None\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:113 msgid "Failure decoding Certificate Signing Request:" msgstr "" -#: ipalib/plugins/cert.py:106 ipalib/plugins/cert.py:118 +#: ipalib/plugins/cert.py:116 +msgid "" +"\n" +" Return the first value of the subject alt name, if any\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:126 ipalib/plugins/cert.py:138 msgid "Failure decoding Certificate Signing Request" msgstr "" -#: ipalib/plugins/cert.py:120 -#, python-format +#: ipalib/plugins/cert.py:129 +msgid "" +"\n" +" Ensure the CSR is base64-encoded and can be decoded by our PKCS#10\n" +" parser.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:140 msgid "Failure decoding Certificate Signing Request: %s" msgstr "" -#: ipalib/plugins/cert.py:171 ipalib/plugins/service.py:197 +#: ipalib/plugins/cert.py:143 +msgid "" +"\n" +" Strip any leading and trailing cruft around the BEGIN/END block\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:163 +msgid "" +"\n" +" Convert a SN given in decimal or hexadecimal.\n" +" Returns the number or None if conversion fails.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:189 +msgid "" +"\n" +" Given a principal with or without a realm return the\n" +" host portion.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:203 +msgid "" +"\n" +" Submit a certificate signing request.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:217 ipalib/plugins/service.py:304 msgid "Principal" msgstr "" -#: ipalib/plugins/cert.py:172 +#: ipalib/plugins/cert.py:218 msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -#: ipalib/plugins/cert.py:179 +#: ipalib/plugins/cert.py:225 msgid "automatically add the principal if it doesn't exist" msgstr "" -#: ipalib/plugins/cert.py:187 ipalib/plugins/cert.py:392 -#: ipalib/plugins/host.py:154 ipalib/plugins/service.py:204 +#: ipalib/plugins/cert.py:233 ipalib/plugins/cert.py:440 +#: ipalib/plugins/entitle.py:182 ipalib/plugins/host.py:259 +#: ipalib/plugins/service.py:311 msgid "Certificate" msgstr "" -#: ipalib/plugins/cert.py:191 ipalib/plugins/cert.py:395 +#: ipalib/plugins/cert.py:237 ipalib/plugins/cert.py:443 +#: ipalib/plugins/host.py:143 ipalib/plugins/service.py:93 msgid "Subject" msgstr "" -#: ipalib/plugins/cert.py:195 ipalib/plugins/cert.py:398 +#: ipalib/plugins/cert.py:241 ipalib/plugins/cert.py:446 +#: ipalib/plugins/host.py:149 ipalib/plugins/service.py:99 msgid "Issuer" msgstr "" -#: ipalib/plugins/cert.py:199 ipalib/plugins/cert.py:401 +#: ipalib/plugins/cert.py:245 ipalib/plugins/cert.py:449 +#: ipalib/plugins/host.py:152 ipalib/plugins/service.py:102 msgid "Not Before" msgstr "" -#: ipalib/plugins/cert.py:203 ipalib/plugins/cert.py:404 +#: ipalib/plugins/cert.py:249 ipalib/plugins/cert.py:452 +#: ipalib/plugins/host.py:155 ipalib/plugins/service.py:105 msgid "Not After" msgstr "" -#: ipalib/plugins/cert.py:207 ipalib/plugins/cert.py:407 +#: ipalib/plugins/cert.py:253 ipalib/plugins/cert.py:455 +#: ipalib/plugins/host.py:158 ipalib/plugins/service.py:108 msgid "Fingerprint (MD5)" msgstr "" -#: ipalib/plugins/cert.py:211 ipalib/plugins/cert.py:410 +#: ipalib/plugins/cert.py:257 ipalib/plugins/cert.py:458 +#: ipalib/plugins/host.py:161 ipalib/plugins/service.py:111 msgid "Fingerprint (SHA1)" msgstr "" -#: ipalib/plugins/cert.py:215 ipalib/plugins/cert.py:379 +#: ipalib/plugins/cert.py:261 ipalib/plugins/cert.py:426 msgid "Serial number" msgstr "" -#: ipalib/plugins/cert.py:223 ipalib/plugins/misc.py:57 +#: ipalib/plugins/cert.py:269 ipalib/plugins/entitle.py:237 +#: ipalib/plugins/entitle.py:595 ipalib/plugins/misc.py:57 msgid "Dictionary mapping variable name to value" msgstr "" -#: ipalib/plugins/cert.py:357 +#: ipalib/plugins/cert.py:397 +msgid "" +"\n" +" Check the status of a certificate signing request.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:403 msgid "Request id" msgstr "" -#: ipalib/plugins/cert.py:363 +#: ipalib/plugins/cert.py:409 msgid "Request status" msgstr "" -#: ipalib/plugins/cert.py:380 +#: ipalib/plugins/cert.py:427 msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" msgstr "" -#: ipalib/plugins/cert.py:413 +#: ipalib/plugins/cert.py:432 +msgid "" +"\n" +" Retrieve an existing certificate.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:461 ipalib/plugins/host.py:164 +#: ipalib/plugins/service.py:114 msgid "Revocation reason" msgstr "" -#: ipalib/plugins/cert.py:458 +#: ipalib/plugins/cert.py:467 +msgid "Output filename" +msgstr "" + +#: ipalib/plugins/cert.py:468 +msgid "File to store the certificate in." +msgstr "" + +#: ipalib/plugins/cert.py:519 +msgid "" +"\n" +" Revoke a certificate.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:527 msgid "Revoked" msgstr "" -#: ipalib/plugins/cert.py:466 +#: ipalib/plugins/cert.py:535 msgid "Reason" msgstr "" -#: ipalib/plugins/cert.py:467 +#: ipalib/plugins/cert.py:536 msgid "Reason for revoking the certificate (0-10)" msgstr "" -#: ipalib/plugins/cert.py:502 +#: ipalib/plugins/cert.py:563 +msgid "" +"\n" +" Take a revoked certificate off hold.\n" +" " +msgstr "" + +#: ipalib/plugins/cert.py:571 msgid "Unrevoked" msgstr "" -#: ipalib/plugins/cert.py:505 +#: ipalib/plugins/cert.py:574 msgid "Error" msgstr "" -#: ipalib/plugins/config.py:73 +#: ipalib/plugins/config.py:20 +msgid "" +"\n" +"Manage the IPA configuration\n" +"\n" +"Manage the default values that IPA uses and some of its tuning parameters.\n" +"\n" +" To show the current configuration:\n" +" ipa config-show\n" +"\n" +" To modify the configuration:\n" +" ipa config-mod --maxusername=99\n" +"\n" +"The available options are:\n" +"\n" +"User management options:\n" +"\n" +" --maxusername=INT Max. username length when creating/modifying a user\n" +" --homedirectory=STR Default location of home directories (default /" +"home)\n" +" --defaultshell=STR Default shell for new users (default /bin/sh)\n" +" --defaultgroup=STR Default group for new users (default ipausers). The\n" +" group must exist, or adding new users will fail.\n" +" --emaildomain=STR Default e-mail domain for new users\n" +"\n" +"Search tuning options. These impact how much data is searched through and\n" +"how many records may be returned on a given search.\n" +"\n" +" --searchtimelimit=INT Max. amount of time (sec.) for a search (> 0, or -1 " +"for\n" +" unlimited)\n" +" --searchrecordslimit=INT Max. number of records to search (-1 is " +"unlimited)\n" +"\n" +"Server Configuration.\n" +"\n" +" --enable-migration=BOOL Enable migration mode\n" +" --pwdexpnotify=INT Password Expiration Notification (days)\n" +"\n" +"The password notification value is stored here so it will be replicated.\n" +"It is not currently used to notify users in advance of an expiring\n" +"password.\n" +"\n" +"Some attributes are read-only, provided only for information purposes. " +"These\n" +"include:\n" +"\n" +"Certificate Subject base: the configured certificate subject base,\n" +" e.g. O=EXAMPLE.COM. This is configurable only at install time.\n" +"Password plug-in features: currently defines additional hashes that the\n" +" password will generate (there may be other conditions).\n" +msgstr "" + +#: ipalib/plugins/config.py:76 +msgid "searchtimelimit must be -1 or > 1." +msgstr "" + +#: ipalib/plugins/config.py:80 +msgid "" +"\n" +" IPA configuration object\n" +" " +msgstr "" + +#: ipalib/plugins/config.py:91 ipalib/plugins/internal.py:145 msgid "Configuration" msgstr "" -#: ipalib/plugins/config.py:78 -msgid "Max username length" +#: ipalib/plugins/config.py:96 +msgid "Max. username length" msgstr "" -#: ipalib/plugins/config.py:83 +#: ipalib/plugins/config.py:101 msgid "Home directory base" msgstr "" -#: ipalib/plugins/config.py:84 -msgid "Default location of home directories" +#: ipalib/plugins/config.py:102 +msgid "Default location of home directories." msgstr "" -#: ipalib/plugins/config.py:88 +#: ipalib/plugins/config.py:106 msgid "Default shell" msgstr "" -#: ipalib/plugins/config.py:89 -msgid "Default shell for new users" +#: ipalib/plugins/config.py:107 +msgid "Default shell for new users." msgstr "" -#: ipalib/plugins/config.py:93 +#: ipalib/plugins/config.py:111 msgid "Default users group" msgstr "" -#: ipalib/plugins/config.py:94 -msgid "Default group for new users" +#: ipalib/plugins/config.py:112 +msgid "Default group for new users." msgstr "" -#: ipalib/plugins/config.py:98 -msgid "Default e-mail domain" +#: ipalib/plugins/config.py:116 +msgid "Default e-mail domain for new users" msgstr "" -#: ipalib/plugins/config.py:99 -msgid "Default e-mail domain new users" +#: ipalib/plugins/config.py:117 +msgid "Default e-mail domain new users." msgstr "" -#: ipalib/plugins/config.py:103 +#: ipalib/plugins/config.py:121 msgid "Search time limit" msgstr "" -#: ipalib/plugins/config.py:104 -msgid "Max. amount of time (sec.) for a search (-1 is unlimited)" +#: ipalib/plugins/config.py:122 +msgid "Max. amount of time (sec.) for a search (> 0, or -1 for unlimited)." msgstr "" -#: ipalib/plugins/config.py:109 +#: ipalib/plugins/config.py:127 msgid "Search size limit" msgstr "" -#: ipalib/plugins/config.py:110 -msgid "Max. number of records to search (-1 is unlimited)" +#: ipalib/plugins/config.py:128 +msgid "Max. number of records to search (-1 is unlimited)." msgstr "" -#: ipalib/plugins/config.py:115 +#: ipalib/plugins/config.py:133 msgid "User search fields" msgstr "" -#: ipalib/plugins/config.py:116 -msgid "A comma-separated list of fields to search when searching for users" +#: ipalib/plugins/config.py:134 +msgid "A comma-separated list of fields to search when searching for users." msgstr "" -#: ipalib/plugins/config.py:121 -msgid "A comma-separated list of fields to search when searching for groups" +#: ipalib/plugins/config.py:139 +msgid "A comma-separated list of fields to search when searching for groups." msgstr "" -#: ipalib/plugins/config.py:125 +#: ipalib/plugins/config.py:143 msgid "Migration mode" msgstr "" -#: ipalib/plugins/config.py:126 -msgid "Enable migration mode" +#: ipalib/plugins/config.py:144 +msgid "Enable migration mode." msgstr "" -#: ipalib/plugins/config.py:130 +#: ipalib/plugins/config.py:148 msgid "Certificate Subject base" msgstr "" -#: ipalib/plugins/config.py:131 -msgid "Base for certificate subjects (OU=Test,O=Example)" +#: ipalib/plugins/config.py:149 +msgid "Base for certificate subjects (OU=Test,O=Example)." +msgstr "" + +#: ipalib/plugins/config.py:154 +msgid "Default group objectclasses" +msgstr "" + +#: ipalib/plugins/config.py:155 +msgid "Default group objectclassses (comma-separated list)." +msgstr "" + +#: ipalib/plugins/config.py:159 +msgid "Default user objectclasses" +msgstr "" + +#: ipalib/plugins/config.py:160 +msgid "Default user objectclassses (comma-separated list)." +msgstr "" + +#: ipalib/plugins/config.py:164 +msgid "Password Expiration Notification" +msgstr "" + +#: ipalib/plugins/config.py:165 +msgid "Number of days's notice of impending password expiration." +msgstr "" + +#: ipalib/plugins/config.py:170 +msgid "Password plugin features" +msgstr "" + +#: ipalib/plugins/config.py:171 +msgid "Extra hashes to generate in password plug-in." msgstr "" -#: ipalib/plugins/dns.py:131 +#: ipalib/plugins/config.py:183 +msgid "" +"\n" +" Modify configuration options.\n" +" " +msgstr "" + +#: ipalib/plugins/config.py:220 +msgid "" +"\n" +" Show the current configuration.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:19 +msgid "" +"\n" +"Group to Group Delegation\n" +"\n" +"A permission enables fine-grained delegation of permissions. Access Control\n" +"Rules, or instructions (ACIs), grant permission to permissions to perform\n" +"given tasks such as adding a user, modifying a group, etc.\n" +"\n" +"Group to Group Delegations grants the members of one group to update a set\n" +"of attributes of members of another group.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a delegation rule to allow editors to edit admin's addresses:\n" +" ipa delegation-add --attrs=street --membergroup=admins --group=editors " +"'editors edit admins street'\n" +"\n" +" When managing the list of attributes you need to include all attributes\n" +" in the list, including existing ones. Add postalCode to the list:\n" +" ipa delegation-mod --attrs=street,postalCode --membergroup=admins --" +"group=editors 'editors edit admins street'\n" +"\n" +" Display our updated rule:\n" +" ipa delegation-show 'editors edit admins street'\n" +"\n" +" Delete a rule:\n" +" ipa delegation-del 'editors edit admins street'\n" +msgstr "" + +#: ipalib/plugins/delegation.py:56 +msgid "" +"\n" +" memberOf is in filter but we want to pull out the group for easier\n" +" displaying.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:63 ipalib/plugins/delegation.py:90 +msgid "Delegation '%(permission)s' not found" +msgstr "" + +#: ipalib/plugins/delegation.py:70 +msgid "Error retrieving member group %(group)s: %(error)s" +msgstr "" + +#: ipalib/plugins/delegation.py:79 +msgid "" +"\n" +" Determine if the ACI is a Delegation ACI and raise an exception if it\n" +" isn't.\n" +"\n" +" Return the result if it is a delegation ACI, adding a new attribute\n" +" membergroup.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:95 +msgid "" +"\n" +" Delegation object.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:102 +msgid "Delegation" +msgstr "" + +#: ipalib/plugins/delegation.py:107 ipalib/plugins/delegation.py:108 +msgid "Delegation name" +msgstr "" + +#: ipalib/plugins/delegation.py:114 ipalib/plugins/selfservice.py:87 +msgid "" +"Comma-separated list of permissions to grant (read, write). Default is write." +msgstr "" + +#: ipalib/plugins/delegation.py:125 +msgid "Member user group" +msgstr "" + +#: ipalib/plugins/delegation.py:126 +msgid "User group to apply delegation to" +msgstr "" + +#: ipalib/plugins/delegation.py:152 +msgid "" +"\n" +" Add a new delegation.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:156 +msgid "Added delegation \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/delegation.py:176 +msgid "" +"\n" +" Delete a delegation.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:181 +msgid "Deleted delegation \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/delegation.py:197 +msgid "" +"\n" +" Modify a delegation.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:201 +msgid "Modified delegation \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/delegation.py:219 +msgid "" +"\n" +" Search for delegations.\n" +" " +msgstr "" + +#: ipalib/plugins/delegation.py:223 +msgid "%(count)d delegation matched" +msgid_plural "%(count)d delegations matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/delegation.py:250 +msgid "" +"\n" +" Display information about a delegation.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:19 +msgid "" +"\n" +"Domain Name System (DNS)\n" +"\n" +"Manage DNS zone and resource records.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add new zone:\n" +" ipa dnszone-add example.com --name-server nameserver.example.com\n" +" --admin-email admin@example.com\n" +"\n" +" Add second nameserver for example.com:\n" +" ipa dnsrecord-add example.com @ --ns-rec nameserver2.example.com\n" +"\n" +" Add a mail server for example.com:\n" +" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail2\"\n" +"\n" +" Delete previously added nameserver from example.com:\n" +" ipa dnsrecord-del example.com @ --ns-rec nameserver2.example.com\n" +"\n" +" Add new A record for www.example.com: (random IP)\n" +" ipa dnsrecord-add example.com www --a-rec 80.142.15.2\n" +"\n" +" Add new PTR record for www.example.com\n" +" ipa dnsrecord-add 15.142.80.in-addr.arpa 2 --ptr-rec www.example.com.\n" +"\n" +" Add new SRV records for LDAP servers. Three quarters of the requests\n" +" should go to fast.example.com, one quarter to slow.example.com. If neither\n" +" is available, switch to backup.example.com.\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup." +"example.com\"\n" +"\n" +" Show zone example.com:\n" +" ipa dnszone-show example.com\n" +"\n" +" Find zone with \"example\" in its domain name:\n" +" ipa dnszone-find example\n" +"\n" +" Find records for resources with \"www\" in their name in zone example.com:\n" +" ipa dnsrecord-find example.com www\n" +"\n" +" Find A records with value 10.10.0.1 in zone example.com\n" +" ipa dnsrecord-find example.com --a-rec 10.10.0.1\n" +"\n" +" Show records for resource www in zone example.com\n" +" ipa dnsrecord-show example.com www\n" +"\n" +" Delete zone example.com with all resource records:\n" +" ipa dnszone-del example.com\n" +"\n" +" Resolve a host name to see if it exists (will add default IPA domain\n" +" if one is not included):\n" +" ipa dns-resolve www.example.com\n" +" ipa dns-resolve www\n" +"\n" +msgstr "" + +#: ipalib/plugins/dns.py:110 +msgid "Generate serial number for zones." +msgstr "" + +#: ipalib/plugins/dns.py:159 +msgid "see RFC 2915 " +msgstr "" + +#: ipalib/plugins/dns.py:205 +msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" +msgstr "" + +#: ipalib/plugins/dns.py:228 +msgid "" +"\n" +" DNS Zone, container for resource records.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:240 msgid "DNS" msgstr "" -#: ipalib/plugins/dns.py:136 -msgid "Zone" +#: ipalib/plugins/dns.py:245 +msgid "Zone name" msgstr "" -#: ipalib/plugins/dns.py:137 +#: ipalib/plugins/dns.py:246 msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:143 -msgid "Authoritative name server" +#: ipalib/plugins/dns.py:252 +msgid "Authoritative nameserver" +msgstr "" + +#: ipalib/plugins/dns.py:253 +msgid "Authoritative nameserver." msgstr "" -#: ipalib/plugins/dns.py:147 -msgid "administrator e-mail address" +#: ipalib/plugins/dns.py:257 ipalib/plugins/dns.py:258 +msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/dns.py:153 +#: ipalib/plugins/dns.py:264 msgid "SOA serial" msgstr "" -#: ipalib/plugins/dns.py:157 +#: ipalib/plugins/dns.py:265 +msgid "SOA record serial number" +msgstr "" + +#: ipalib/plugins/dns.py:272 msgid "SOA refresh" msgstr "" -#: ipalib/plugins/dns.py:161 +#: ipalib/plugins/dns.py:273 +msgid "SOA record refresh time" +msgstr "" + +#: ipalib/plugins/dns.py:280 msgid "SOA retry" msgstr "" -#: ipalib/plugins/dns.py:165 +#: ipalib/plugins/dns.py:281 +msgid "SOA record retry time" +msgstr "" + +#: ipalib/plugins/dns.py:288 msgid "SOA expire" msgstr "" -#: ipalib/plugins/dns.py:169 +#: ipalib/plugins/dns.py:289 +msgid "SOA record expire time" +msgstr "" + +#: ipalib/plugins/dns.py:296 msgid "SOA minimum" msgstr "" -#: ipalib/plugins/dns.py:173 +#: ipalib/plugins/dns.py:297 +msgid "How long should negative responses be cached" +msgstr "" + +#: ipalib/plugins/dns.py:305 msgid "SOA time to live" msgstr "" -#: ipalib/plugins/dns.py:177 +#: ipalib/plugins/dns.py:306 +msgid "SOA record time to live" +msgstr "" + +#: ipalib/plugins/dns.py:310 msgid "SOA class" msgstr "" -#: ipalib/plugins/dns.py:182 -msgid "allow dynamic update?" +#: ipalib/plugins/dns.py:311 +msgid "SOA record class" msgstr "" -#: ipalib/plugins/dns.py:186 +#: ipalib/plugins/dns.py:316 ipalib/plugins/dns.py:317 msgid "BIND update policy" msgstr "" -#: ipalib/plugins/dns.py:426 ipalib/plugins/dns.py:460 -#: ipalib/plugins/dns.py:495 ipalib/plugins/dns.py:610 -#: ipalib/plugins/dns.py:695 ipalib/plugins/dns.py:819 -msgid "Zone name" +#: ipalib/plugins/dns.py:321 +msgid "Active zone" msgstr "" -#: ipalib/plugins/dns.py:500 -msgid "resource name" +#: ipalib/plugins/dns.py:322 +msgid "Is zone active?" msgstr "" -#: ipalib/plugins/dns.py:505 ipalib/plugins/dns.py:620 -#: ipalib/plugins/dns.py:711 -msgid "Record type" +#: ipalib/plugins/dns.py:328 +msgid "Dynamic update" msgstr "" -#: ipalib/plugins/dns.py:509 ipalib/plugins/dns.py:624 -msgid "Data" +#: ipalib/plugins/dns.py:329 +msgid "Allow dynamic updates." +msgstr "" + +#: ipalib/plugins/dns.py:338 +msgid "" +"\n" +" Create new DNS zone (SOA record).\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:343 +msgid "Force DNS zone creation even if nameserver not in DNS." +msgstr "" + +#: ipalib/plugins/dns.py:346 +msgid "Add the nameserver to DNS with this IP address" +msgstr "" + +#: ipalib/plugins/dns.py:352 +msgid "DNS is not configured" +msgstr "" + +#: ipalib/plugins/dns.py:386 +msgid "" +"\n" +" Delete DNS zone (SOA record).\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:394 +msgid "" +"\n" +" Modify DNS zone (SOA record).\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:407 +msgid "" +"\n" +" Search for DNS zones (SOA records).\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:415 +msgid "" +"\n" +" Display information about a DNS zone (SOA record).\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:423 +msgid "" +"\n" +" Disable DNS Zone.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:427 +msgid "Disabled DNS zone \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/dns.py:445 +msgid "" +"\n" +" Enable DNS Zone.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:449 +msgid "Enabled DNS zone \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/dns.py:467 +msgid "" +"\n" +" DNS record.\n" +" " msgstr "" -#: ipalib/plugins/dns.py:510 ipalib/plugins/dns.py:625 -msgid "Type-specific data" +#: ipalib/plugins/dns.py:477 +msgid "DNS resource record" msgstr "" -#: ipalib/plugins/dns.py:517 +#: ipalib/plugins/dns.py:482 ipalib/plugins/dns.py:483 +msgid "Record name" +msgstr "" + +#: ipalib/plugins/dns.py:488 ipalib/plugins/dns.py:489 msgid "Time to live" msgstr "" -#: ipalib/plugins/dns.py:522 +#: ipalib/plugins/dns.py:493 msgid "Class" msgstr "" -#: ipalib/plugins/dns.py:615 ipalib/plugins/dns.py:707 -#: ipalib/plugins/dns.py:824 -msgid "Resource name" +#: ipalib/plugins/dns.py:494 +msgid "DNS class" msgstr "" -#: ipalib/plugins/dns.py:700 -msgid "Search criteria" +#: ipalib/plugins/dns.py:521 +msgid "" +"\n" +" Base class for DNS record commands with record options.\n" +" " msgstr "" -#: ipalib/plugins/dns.py:715 -msgid "type-specific data" +#: ipalib/plugins/dns.py:550 +msgid "" +"\n" +" Base class for adding/removing records from DNS resource entries.\n" +" " msgstr "" -#: ipalib/plugins/dns.py:865 -#, python-format +#: ipalib/plugins/dns.py:614 +msgid "" +"\n" +" Add records to DNS resource.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:630 +msgid "" +"\n" +" Add new DNS resource record.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:637 +msgid "force NS record creation even if its hostname is not in DNS" +msgstr "" + +#: ipalib/plugins/dns.py:696 +msgid "" +"\n" +" Delete DNS record entry.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:699 +msgid "Deleted record \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/dns.py:706 +msgid "" +"\n" +" Delete DNS resource record.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:713 +msgid "Delete all associated records" +msgstr "" + +#: ipalib/plugins/dns.py:749 +msgid "" +"\n" +" Display DNS resource.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:765 +msgid "" +"\n" +" Search for DNS resources.\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:792 +msgid "" +"\n" +" Resolve a host name in DNS\n" +" " +msgstr "" + +#: ipalib/plugins/dns.py:796 msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/dns.py:869 +#: ipalib/plugins/dns.py:800 msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:882 -#, python-format +#: ipalib/plugins/dns.py:822 msgid "Host '%(host)s' not found" msgstr "" -#: ipalib/plugins/group.py:94 +#: ipalib/plugins/dns.py:830 +msgid "" +"\n" +" Checks if any of the servers has the DNS service enabled.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:19 +msgid "" +"\n" +"Entitlements\n" +"\n" +"Manage entitlements for client machines\n" +"\n" +"Entitlements can be managed either by registering with an entitlement\n" +"server with a username and password or by manually importing entitlement\n" +"certificates. An entitlement certificate contains embedded information\n" +"such as the product being entitled, the quantity and the validity dates.\n" +"\n" +"An entitlement server manages the number of client entitlements available.\n" +"To mark these entitlements as used by the IPA server you provide a quantity\n" +"and they are marked as consumed on the entitlement server.\n" +"\n" +" Register with an entitlement server:\n" +" ipa entitle-register consumer\n" +"\n" +" Import an entitlement certificate:\n" +" ipa entitle-import /home/user/ipaclient.pem\n" +"\n" +" Display current entitlements:\n" +" ipa entitle-status\n" +"\n" +" Retrieve details on entitlement certificates:\n" +" ipa entitle-get\n" +"\n" +" Consume some entitlements from the entitlement server:\n" +" ipa entitle-consume 50\n" +"\n" +"The registration ID is a Unique Identifier (UUID). This ID will be\n" +"IMPORTED if you have used entitle-import.\n" +"\n" +"Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service.\n" +msgstr "" + +#: ipalib/plugins/entitle.py:105 +msgid "" +"\n" +" The M2Crypto/openSSL modules are very picky about PEM format and\n" +" require lines split to 64 characters with proper headers.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:115 +msgid "" +"\n" +" Get our entitlement pool. Assume there is only one pool.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:138 +msgid "" +"\n" +" Retrieve our UUID, certificate and key from LDAP.\n" +"\n" +" Except on error the caller is responsible for removing temporary files\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:187 +msgid "" +"\n" +" Entitlement object\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:213 +msgid "" +"\n" +" Display current entitlements\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:221 ipalib/plugins/entitle.py:609 +msgid "UUID" +msgstr "" + +#: ipalib/plugins/entitle.py:224 ipalib/plugins/entitle.py:313 +#: ipalib/plugins/entitle.py:395 ipalib/plugins/entitle.py:582 +#: ipalib/plugins/entitle.py:697 +msgid "Product" +msgstr "" + +#: ipalib/plugins/entitle.py:227 ipalib/plugins/entitle.py:293 +#: ipalib/plugins/entitle.py:303 ipalib/plugins/entitle.py:398 +#: ipalib/plugins/entitle.py:585 ipalib/plugins/entitle.py:687 +msgid "Quantity" +msgstr "" + +#: ipalib/plugins/entitle.py:230 ipalib/plugins/entitle.py:316 +#: ipalib/plugins/entitle.py:588 ipalib/plugins/entitle.py:700 +msgid "Consumed" +msgstr "" + +#: ipalib/plugins/entitle.py:283 +msgid "" +"\n" +" Consume an entitlement\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:289 +msgid "Consumed %(value)s entitlement(s)." +msgstr "" + +#: ipalib/plugins/entitle.py:321 +msgid "" +"\n" +" Override this so we can set value to the number of entitlements\n" +" consumed.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:369 ipalib/plugins/entitle.py:731 +msgid "" +"\n" +" Returning the certificates isn't very interesting. Return the\n" +" status of entitlements instead.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:387 +msgid "" +"\n" +" Retrieve the entitlement certs\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:401 +msgid "Start" +msgstr "" + +#: ipalib/plugins/entitle.py:404 +msgid "End" +msgstr "" + +#: ipalib/plugins/entitle.py:407 ipalib/plugins/host.py:146 +#: ipalib/plugins/internal.py:126 ipalib/plugins/service.py:96 +msgid "Serial Number" +msgstr "" + +#: ipalib/plugins/entitle.py:442 ipalib/plugins/entitle.py:633 +#: ipalib/plugins/entitle.py:635 +msgid "Not an entitlement certificate" +msgstr "" + +#: ipalib/plugins/entitle.py:467 +msgid "" +"\n" +" Search for entitlement accounts.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:480 +msgid "" +"\n" +" Register to the entitlement system\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:486 +msgid "Registered to entitlement server." +msgstr "" + +#: ipalib/plugins/entitle.py:490 +msgid "Username" +msgstr "" + +#: ipalib/plugins/entitle.py:497 ipalib/plugins/entitle.py:610 +msgid "Enrollment UUID" +msgstr "" + +#: ipalib/plugins/entitle.py:501 ipalib/plugins/migration.py:264 +#: ipalib/plugins/passwd.py:59 ipalib/plugins/user.py:161 +msgid "Password" +msgstr "" + +#: ipalib/plugins/entitle.py:502 +msgid "Registration password" +msgstr "" + +#: ipalib/plugins/entitle.py:576 +msgid "" +"\n" +" Import an entitlement certificate.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:653 +msgid "" +"\n" +" If we are adding the first entry there are no updates so " +"EmptyModlist\n" +" will get thrown. Ignore it.\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:674 +msgid "" +"\n" +" Re-sync the local entitlement cache with the entitlement server\n" +" " +msgstr "" + +#: ipalib/plugins/entitle.py:680 +msgid "Entitlement(s) synchronized." +msgstr "" + +#: ipalib/plugins/group.py:20 +msgid "" +"\n" +"Groups of users\n" +"\n" +"Manage groups of users. By default, new groups are POSIX groups. You\n" +"can add the --nonposix option to the group-add command to mark a new group\n" +"as non-POSIX, and you can use the same argument to the group-mod command\n" +"to convert a non-POSIX group to a POSIX group. POSIX groups cannot be\n" +"converted to non-POSIX groups.\n" +"\n" +"Every group must have a description.\n" +"\n" +"POSIX groups must have a Group ID (GID) number. Changing a GID is\n" +"supported but can have an impact on your file permissions. It is not " +"necessary\n" +"to supply a GID when creating a group. IPA will generate one automatically\n" +"if it is not provided.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new group:\n" +" ipa group-add --desc='local administrators' localadmins\n" +"\n" +" Add a new non-POSIX group:\n" +" ipa group-add --nonposix --desc='remote administrators' remoteadmins\n" +"\n" +" Convert a non-POSIX group to posix:\n" +" ipa group-mod --posix remoteadmins\n" +"\n" +" Add a new POSIX group with a specific Group ID number:\n" +" ipa group-add --gid=500 --desc='unix admins' unixadmins\n" +"\n" +" Add a new POSIX group and let IPA assign a Group ID number:\n" +" ipa group-add --desc='printer admins' printeradmins\n" +"\n" +" Remove a group:\n" +" ipa group-del unixadmins\n" +"\n" +" To add the \"remoteadmins\" group to the \"localadmins\" group:\n" +" ipa group-add-member --groups=remoteadmins localadmins\n" +"\n" +" Add a list of users to the \"localadmins\" group:\n" +" ipa group-add-member --users=test1,test2 localadmins\n" +"\n" +" Remove a user from the \"localadmins\" group:\n" +" ipa group-remove-member --users=test2 localadmins\n" +"\n" +" Display information about a named group.\n" +" ipa group-show localadmins\n" +msgstr "" + +#: ipalib/plugins/group.py:76 +msgid "" +"\n" +" Group object.\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:99 msgid "User Groups" msgstr "" -#: ipalib/plugins/group.py:102 +#: ipalib/plugins/group.py:107 msgid "Group name" msgstr "" -#: ipalib/plugins/group.py:109 ipalib/plugins/sudocmdgroup.py:78 +#: ipalib/plugins/group.py:114 ipalib/plugins/sudocmdgroup.py:77 msgid "Group description" msgstr "" -#: ipalib/plugins/group.py:113 +#: ipalib/plugins/group.py:118 ipalib/plugins/user.py:176 msgid "GID" msgstr "" -#: ipalib/plugins/group.py:114 +#: ipalib/plugins/group.py:119 msgid "GID (use this option to set it manually)" msgstr "" -#: ipalib/plugins/group.py:117 ipalib/plugins/rolegroup.py:94 -#: ipalib/plugins/taskgroup.py:66 -msgid "Member groups" +#: ipalib/plugins/group.py:127 +msgid "" +"\n" +" Create a new group.\n" +" " msgstr "" -#: ipalib/plugins/group.py:121 ipalib/plugins/rolegroup.py:98 -#: ipalib/plugins/taskgroup.py:70 -msgid "Member users" +#: ipalib/plugins/group.py:131 +msgid "Added group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:134 -#, python-format -msgid "Added group \"%(value)s\"" +#: ipalib/plugins/group.py:136 +msgid "Create as a non-POSIX group" msgstr "" -#: ipalib/plugins/group.py:139 -msgid "Create as a non-POSIX group?" +#: ipalib/plugins/group.py:153 +msgid "" +"\n" +" Delete group.\n" +" " msgstr "" -#: ipalib/plugins/group.py:160 -#, python-format +#: ipalib/plugins/group.py:157 msgid "Deleted group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:191 -#, python-format +#: ipalib/plugins/group.py:185 +msgid "" +"\n" +" Modify a group.\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:188 msgid "Modified group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:196 +#: ipalib/plugins/group.py:193 msgid "change to a POSIX group" msgstr "" -#: ipalib/plugins/group.py:222 ipalib/plugins/hbacsvcgroup.py:129 -#, python-format +#: ipalib/plugins/group.py:214 +msgid "" +"\n" +" Search for groups.\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:219 msgid "%(count)d group matched" msgid_plural "%(count)d groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/group.py:257 -#, python-format +#: ipalib/plugins/group.py:226 ipalib/plugins/netgroup.py:192 +msgid "search for private groups" +msgstr "" + +#: ipalib/plugins/group.py:256 +msgid "" +"\n" +" Display information about a named group.\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:264 +msgid "" +"\n" +" Add members to a group.\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:272 +msgid "" +"\n" +" Remove members from a group.\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:280 +msgid "" +"\n" +" Detach a managed group from a user\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:284 msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:273 +#: ipalib/plugins/group.py:287 +msgid "" +"\n" +" This requires updating both the user and the group. We first need " +"to\n" +" verify that both the user and group can be updated, then we go\n" +" about our work. We don't want a situation where only the user or\n" +" group can be modified and we're left in a bad state.\n" +" " +msgstr "" + +#: ipalib/plugins/group.py:305 msgid "not allowed to modify user entries" msgstr "" -#: ipalib/plugins/group.py:277 +#: ipalib/plugins/group.py:311 msgid "not allowed to modify group entries" msgstr "" -#: ipalib/plugins/group.py:284 ipalib/plugins/group.py:295 +#: ipalib/plugins/group.py:330 msgid "Not a managed group" msgstr "" -#: ipalib/plugins/hbac.py:106 +#: ipalib/plugins/hbacrule.py:19 +msgid "" +"\n" +"Host-based access control\n" +"\n" +"Control who can access what services on what hosts and from where. You\n" +"can use HBAC to control which users or groups on a source host can\n" +"access a service, or group of services, on a target host.\n" +"\n" +"You can also specify a category of users, target hosts, and source\n" +"hosts. This is currently limited to \"all\", but might be expanded in the\n" +"future.\n" +"\n" +"Target hosts and source hosts in HBAC rules must be hosts managed by IPA.\n" +"\n" +"The available services and groups of services are controlled by the\n" +"hbacsvc and hbacsvcgroup plug-ins respectively.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a rule, \"test1\", that grants all users access to the host \"server" +"\" from\n" +" anywhere:\n" +" ipa hbacrule-add --type=allow --usercat=all --srchostcat=all test1\n" +" ipa hbacrule-add-host --hosts=server.example.com test1\n" +"\n" +" Display the properties of a named HBAC rule:\n" +" ipa hbacrule-show test1\n" +"\n" +" Create a rule for a specific service. This lets the user john access\n" +" the sshd service on any machine from any machine:\n" +" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_sshd\n" +" ipa hbacrule-add-user --users=john john_sshd\n" +" ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n" +"\n" +" Create a rule for a new service group. This lets the user john access\n" +" the FTP service on any machine from any machine:\n" +" ipa hbacsvcgroup-add ftpers\n" +" ipa hbacsvc-add sftp\n" +" ipa hbacsvcgroup-add-member --hbacsvcs=ftp,sftp ftpers\n" +" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_ftp\n" +" ipa hbacrule-add-user --users=john john_ftp\n" +" ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp\n" +"\n" +" Disable a named HBAC rule:\n" +" ipa hbacrule-disable test1\n" +"\n" +" Remove a named HBAC rule:\n" +" ipa hbacrule-del allow_server\n" +msgstr "" + +#: ipalib/plugins/hbacrule.py:91 +msgid "" +"\n" +" See if options[attribute] is lower-case 'all' in a safe way.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:103 +msgid "" +"\n" +" HBAC object.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:126 ipalib/plugins/internal.py:367 msgid "HBAC" msgstr "" -#: ipalib/plugins/hbac.py:111 ipalib/plugins/sudorule.py:53 +#: ipalib/plugins/hbacrule.py:131 ipalib/plugins/sudorule.py:73 msgid "Rule name" msgstr "" -#: ipalib/plugins/hbac.py:116 +#: ipalib/plugins/hbacrule.py:136 msgid "Rule type (allow or deny)" msgstr "" -#: ipalib/plugins/hbac.py:117 +#: ipalib/plugins/hbacrule.py:137 msgid "Rule type" msgstr "" -#: ipalib/plugins/hbac.py:123 +#: ipalib/plugins/hbacrule.py:143 ipalib/plugins/netgroup.py:124 +#: ipalib/plugins/sudorule.py:86 msgid "User category" msgstr "" -#: ipalib/plugins/hbac.py:124 +#: ipalib/plugins/hbacrule.py:144 ipalib/plugins/netgroup.py:125 +#: ipalib/plugins/sudorule.py:87 msgid "User category the rule applies to" msgstr "" -#: ipalib/plugins/hbac.py:129 +#: ipalib/plugins/hbacrule.py:149 ipalib/plugins/netgroup.py:130 +#: ipalib/plugins/sudorule.py:92 msgid "Host category" msgstr "" -#: ipalib/plugins/hbac.py:130 +#: ipalib/plugins/hbacrule.py:150 ipalib/plugins/netgroup.py:131 +#: ipalib/plugins/sudorule.py:93 msgid "Host category the rule applies to" msgstr "" -#: ipalib/plugins/hbac.py:135 +#: ipalib/plugins/hbacrule.py:155 msgid "Source host category" msgstr "" -#: ipalib/plugins/hbac.py:136 +#: ipalib/plugins/hbacrule.py:156 msgid "Source host category the rule applies to" msgstr "" -#: ipalib/plugins/hbac.py:141 +#: ipalib/plugins/hbacrule.py:161 msgid "Service category" msgstr "" -#: ipalib/plugins/hbac.py:142 +#: ipalib/plugins/hbacrule.py:162 msgid "Service category the rule applies to" msgstr "" -#: ipalib/plugins/hbac.py:147 ipalib/plugins/hbac.py:325 -#: ipalib/plugins/hbac.py:363 -msgid "Access time" -msgstr "" - -#: ipalib/plugins/hbac.py:154 +#: ipalib/plugins/hbacrule.py:174 ipalib/plugins/sudorule.py:81 msgid "Enabled" msgstr "" -#: ipalib/plugins/hbac.py:158 ipalib/plugins/sudorule.py:61 -#: ipalib/plugins/user.py:76 +#: ipalib/plugins/hbacrule.py:178 ipalib/plugins/sudorule.py:115 +#: ipalib/plugins/user.py:97 msgid "Users" msgstr "" -#: ipalib/plugins/hbac.py:162 ipalib/plugins/host.py:113 -#: ipalib/plugins/sudorule.py:65 +#: ipalib/plugins/hbacrule.py:182 ipalib/plugins/internal.py:266 +#: ipalib/plugins/sudorule.py:119 +msgid "Groups" +msgstr "" + +#: ipalib/plugins/hbacrule.py:186 ipalib/plugins/host.py:209 +#: ipalib/plugins/sudorule.py:123 msgid "Hosts" msgstr "" -#: ipalib/plugins/hbac.py:166 ipalib/plugins/hostgroup.py:69 -#: ipalib/plugins/sudorule.py:69 +#: ipalib/plugins/hbacrule.py:190 ipalib/plugins/hostgroup.py:73 +#: ipalib/plugins/sudorule.py:127 msgid "Host Groups" msgstr "" -#: ipalib/plugins/hbac.py:170 +#: ipalib/plugins/hbacrule.py:194 msgid "Source hosts" msgstr "" -#: ipalib/plugins/hbac.py:174 ipalib/plugins/hbacsvc.py:60 -#: ipalib/plugins/service.py:192 +#: ipalib/plugins/hbacrule.py:198 +msgid "Source host groups" +msgstr "" + +#: ipalib/plugins/hbacrule.py:202 ipalib/plugins/internal.py:190 +#: ipalib/plugins/service.py:299 msgid "Services" msgstr "" -#: ipalib/plugins/hbac.py:178 +#: ipalib/plugins/hbacrule.py:206 msgid "Service Groups" msgstr "" -#: ipalib/plugins/hbacsvc.py:65 -msgid "Service name" +#: ipalib/plugins/hbacrule.py:215 +msgid "" +"\n" +" Create a new HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:219 +msgid "Added HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:230 +msgid "" +"\n" +" Delete an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:234 +msgid "Deleted HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:240 +msgid "" +"\n" +" Modify an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:244 +msgid "Modified HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:266 +msgid "" +"\n" +" Search for HBAC rules.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:270 +msgid "%(count)d HBAC rule matched" +msgid_plural "%(count)d HBAC rules matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/hbacrule.py:278 +msgid "" +"\n" +" Display the properties of an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:286 +msgid "" +"\n" +" Enable an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:290 +msgid "Enabled HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:315 +msgid "" +"\n" +" Disable an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:319 +msgid "Disabled HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:344 +msgid "" +"\n" +" Add an access time to an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:351 ipalib/plugins/hbacrule.py:391 +msgid "Access time" +msgstr "" + +#: ipalib/plugins/hbacrule.py:385 +msgid "" +"\n" +" Remove access time to HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:425 +msgid "" +"\n" +" Add users and groups to an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:442 +msgid "" +"\n" +" Remove users and groups from an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:452 +msgid "" +"\n" +" Add target hosts and hostgroups to an HBAC rule\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:469 +msgid "" +"\n" +" Remove target hosts and hostgroups from an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:479 +msgid "" +"\n" +" Add source hosts and hostgroups from a HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:496 +msgid "" +"\n" +" Remove source hosts and hostgroups from an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:506 +msgid "" +"\n" +" Add services to an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacrule.py:523 +msgid "" +"\n" +" Remove service and service groups from an HBAC rule.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvc.py:19 +msgid "" +"\n" +"HBAC Services\n" +"\n" +"The PAM services that HBAC can control access to. The name used here\n" +"must match the service name that PAM is evaluating.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new HBAC service:\n" +" ipa hbacsvc-add tftp\n" +"\n" +" Modify an existing HBAC service:\n" +" ipa hbacsvc-mod --desc=\"TFTP service\" tftp\n" +"\n" +" Search for HBAC services. This example will return two results, the FTP\n" +" service and the newly-added tftp service:\n" +" ipa hbacsvc-find ftp\n" +"\n" +" Delete an HBAC service:\n" +" ipa hbacsvc-del tftp\n" +"\n" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:51 +msgid "" +"\n" +" HBAC Service object.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvc.py:61 +msgid "HBAC Services" msgstr "" #: ipalib/plugins/hbacsvc.py:66 -msgid "HBAC Service" +msgid "Service name" msgstr "" -#: ipalib/plugins/hbacsvc.py:73 -msgid "Description of service" +#: ipalib/plugins/hbacsvc.py:67 +msgid "HBAC service" msgstr "" -#: ipalib/plugins/hbacsvc.py:84 ipalib/plugins/service.py:216 -#, python-format -msgid "Added service \"%(value)s\"" +#: ipalib/plugins/hbacsvc.py:74 +msgid "HBAC service description" msgstr "" -#: ipalib/plugins/hbacsvc.py:93 ipalib/plugins/service.py:255 -#, python-format -msgid "Deleted service \"%(value)s\"" +#: ipalib/plugins/hbacsvc.py:82 +msgid "" +"\n" +" Add a new HBAC service.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvc.py:85 +msgid "Added HBAC service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:91 +msgid "" +"\n" +" Delete an existing HBAC service.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvc.py:94 +msgid "Deleted HBAC service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:100 +msgid "" +"\n" +" Modify an HBAC service.\n" +" " msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:66 -msgid "HBAC Service Groups" +#: ipalib/plugins/hbacsvc.py:104 +msgid "Modified HBAC service \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:71 +#: ipalib/plugins/hbacsvc.py:110 +msgid "" +"\n" +" Search for HBAC services.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvc.py:114 +msgid "%(count)d HBAC service matched" +msgid_plural "%(count)d HBAC services matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/hbacsvc.py:122 +msgid "" +"\n" +" Display information about an HBAC service.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:19 +msgid "" +"\n" +"HBAC Service Groups\n" +"\n" +"HBAC service groups can contain any number of individual services,\n" +"or \"members\". Every group must have a description.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new HBAC service group:\n" +" ipa hbacsvcgroup-add --desc=\"login services\" login\n" +"\n" +" Add members to an HBAC service group:\n" +" ipa hbacsvcgroup-add-member --hbacsvcs=sshd,login login\n" +"\n" +" Display information about a named group:\n" +" ipa hbacsvcgroup-show login\n" +"\n" +" Add a new group to the \"login\" group:\n" +" ipa hbacsvcgroup-add --desc=\"switch users\" login\n" +" ipa hbacsvcgroup-add-member --hbacsvcs=su,su-l login\n" +"\n" +" Delete an HBAC service group:\n" +" ipa hbacsvcgroup-del login\n" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:51 +msgid "" +"\n" +" HBAC service group object.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:64 +msgid "HBAC service Groups" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:69 msgid "Service group name" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:78 +#: ipalib/plugins/hbacsvcgroup.py:76 msgid "HBAC service group description" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:81 -msgid "Member services" +#: ipalib/plugins/hbacsvcgroup.py:84 +msgid "" +"\n" +" Add a new HBAC service group.\n" +" " msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:85 -msgid "Member service groups" +#: ipalib/plugins/hbacsvcgroup.py:87 +msgid "Added HBAC service group \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:101 -#, python-format -msgid "Added HBAC Service group \"%(value)s\"" +#: ipalib/plugins/hbacsvcgroup.py:93 +msgid "" +"\n" +" Delete an HBAC service group.\n" +" " msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:110 -#, python-format -msgid "Deleted HBAC Service group \"%(value)s\"" +#: ipalib/plugins/hbacsvcgroup.py:96 +msgid "Deleted HBAC service group \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:119 -#, python-format -msgid "Modified HBAC Service group \"%(value)s\"" +#: ipalib/plugins/hbacsvcgroup.py:102 +msgid "" +"\n" +" Modify an HBAC service group.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:105 +msgid "Modified HBAC service group \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:111 +msgid "" +"\n" +" Search for an HBAC service group.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:114 +msgid "%(count)d HBAC service group matched" +msgid_plural "%(count)d HBAC service groups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/hbacsvcgroup.py:122 +msgid "" +"\n" +" Display information about an HBAC service group.\n" +" " +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:130 +msgid "" +"\n" +" Add members to an HBAC service group.\n" +" " msgstr "" -#: ipalib/plugins/host.py:86 +#: ipalib/plugins/hbacsvcgroup.py:138 +msgid "" +"\n" +" Remove members from an HBAC service group.\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:20 +msgid "" +"\n" +"Hosts/Machines\n" +"\n" +"A host represents a machine. It can be used in a number of contexts:\n" +"- service entries are associated with a host\n" +"- a host stores the host/ service principal\n" +"- a host can be used in Host-based Access Control (HBAC) rules\n" +"- every enrolled client generates a host entry\n" +"\n" +"ENROLLMENT:\n" +"\n" +"There are three enrollment scenarios when enrolling a new client:\n" +"\n" +"1. You are enrolling as a full administrator. The host entry may exist\n" +" or not. A full administrator is a member of the hostadmin role\n" +" or the admins group.\n" +"2. You are enrolling as a limited administrator. The host must already\n" +" exist. A limited administrator is a member a role with the\n" +" Host Enrollment privilege.\n" +"3. The host has been created with a one-time password.\n" +"\n" +"A host can only be enrolled once. If a client has enrolled and needs to\n" +"be re-enrolled, the host entry must be removed and re-created. Note that\n" +"re-creating the host entry will result in all services for the host being\n" +"removed, and all SSL certificates associated with those services being\n" +"revoked.\n" +"\n" +"A host can optionally store information such as where it is located,\n" +"the OS that it runs, etc.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new host:\n" +" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example." +"com\n" +"\n" +" Delete a host:\n" +" ipa host-del test.example.com\n" +"\n" +" Add a new host with a one-time password:\n" +" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n" +"\n" +" Add a new host with a random one-time password:\n" +" ipa host-add --os='Fedora 12' --random test.example.com\n" +"\n" +" Modify information about a host:\n" +" ipa host-mod --os='Fedora 12' test.example.com\n" +"\n" +" Disable the host Kerberos key, SSL certificate and all of its services:\n" +" ipa host-disable test.example.com\n" +"\n" +" Add a host that can manage this host's keytab and certificate:\n" +" ipa host-add-managedby --hosts=test2 test\n" +msgstr "" + +#: ipalib/plugins/host.py:102 +msgid "" +"\n" +" Require at least one dot in the hostname (to support localhost." +"localdomain)\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:106 msgid "Fully-qualified hostname required" msgstr "" -#: ipalib/plugins/host.py:118 +#: ipalib/plugins/host.py:137 ipalib/plugins/service.py:87 +msgid "Keytab" +msgstr "" + +#: ipalib/plugins/host.py:169 +msgid "" +"\n" +" Verify that we have either an IPv4 or IPv6 address.\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:173 +msgid "invalid IP address" +msgstr "" + +#: ipalib/plugins/host.py:178 +msgid "" +"\n" +" Host object.\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:214 msgid "Host name" msgstr "" -#: ipalib/plugins/host.py:125 +#: ipalib/plugins/host.py:221 msgid "A description of this host" msgstr "" -#: ipalib/plugins/host.py:129 +#: ipalib/plugins/host.py:225 msgid "Locality" msgstr "" -#: ipalib/plugins/host.py:130 +#: ipalib/plugins/host.py:226 msgid "Host locality (e.g. \"Baltimore, MD\")" msgstr "" -#: ipalib/plugins/host.py:135 +#: ipalib/plugins/host.py:231 msgid "Host location (e.g. \"Lab 2\")" msgstr "" -#: ipalib/plugins/host.py:139 +#: ipalib/plugins/host.py:235 msgid "Platform" msgstr "" -#: ipalib/plugins/host.py:140 +#: ipalib/plugins/host.py:236 msgid "Host hardware platform (e.g. \"Lenovo T61\")" msgstr "" -#: ipalib/plugins/host.py:144 +#: ipalib/plugins/host.py:240 msgid "Operating system" msgstr "" -#: ipalib/plugins/host.py:145 +#: ipalib/plugins/host.py:241 msgid "Host operating system and version (e.g. \"Fedora 9\")" msgstr "" -#: ipalib/plugins/host.py:149 +#: ipalib/plugins/host.py:245 msgid "User password" msgstr "" -#: ipalib/plugins/host.py:150 +#: ipalib/plugins/host.py:246 msgid "Password used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:155 ipalib/plugins/service.py:205 -msgid "Base-64 encoded server certificate" +#: ipalib/plugins/host.py:249 +msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:158 ipalib/plugins/host.py:274 -msgid "Principal name" +#: ipalib/plugins/host.py:254 +msgid "Random password" msgstr "" -#: ipalib/plugins/host.py:162 ipalib/plugins/hostgroup.py:93 -msgid "Member of host-groups" +#: ipalib/plugins/host.py:260 ipalib/plugins/service.py:312 +msgid "Base-64 encoded server certificate" msgstr "" -#: ipalib/plugins/host.py:166 -msgid "Member of net-groups" +#: ipalib/plugins/host.py:263 ipalib/plugins/host.py:539 +msgid "Principal name" msgstr "" -#: ipalib/plugins/host.py:170 -msgid "Member of role-groups" +#: ipalib/plugins/host.py:289 +msgid "" +"\n" +" Add a new host.\n" +" " msgstr "" -#: ipalib/plugins/host.py:199 -#, python-format +#: ipalib/plugins/host.py:294 msgid "Added host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:202 +#: ipalib/plugins/host.py:298 ipalib/plugins/service.py:329 +msgid "Force" +msgstr "" + +#: ipalib/plugins/host.py:299 msgid "force host name even if not in DNS" msgstr "" -#: ipalib/plugins/host.py:235 -#, python-format +#: ipalib/plugins/host.py:302 +msgid "skip reverse DNS detection" +msgstr "" + +#: ipalib/plugins/host.py:305 +msgid "Add the host to DNS with this IP address" +msgstr "" + +#: ipalib/plugins/host.py:321 ipalib/plugins/host.py:468 +msgid "DNS zone %(zone)s not found" +msgstr "" + +#: ipalib/plugins/host.py:334 +msgid "Reverse DNS zone %(zone)s not found" +msgstr "" + +#: ipalib/plugins/host.py:404 +msgid "The host was added but the DNS update failed with: %(exc)s" +msgstr "" + +#: ipalib/plugins/host.py:413 +msgid "" +"\n" +" Delete a host.\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:417 msgid "Deleted host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:269 -#, python-format +#: ipalib/plugins/host.py:422 +msgid "Remove entries from DNS" +msgstr "" + +#: ipalib/plugins/host.py:528 +msgid "" +"\n" +" Modify information about a host.\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:533 msgid "Modified host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:275 +#: ipalib/plugins/host.py:540 msgid "Kerberos principal name for this host" msgstr "" -#: ipalib/plugins/host.py:319 -#, python-format +#: ipalib/plugins/host.py:608 +msgid "" +"\n" +" Search for hosts.\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:613 msgid "%(count)d host matched" msgid_plural "%(count)d hosts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/host.py:337 ipalib/plugins/service.py:84 -msgid "Keytab" +#: ipalib/plugins/host.py:633 +msgid "" +"\n" +" Display information about a host.\n" +" " msgstr "" -#: ipalib/plugins/host.py:359 ipalib/plugins/service.py:399 -#, python-format -msgid "Removed kerberos key from \"%(value)s\"" +#: ipalib/plugins/host.py:639 ipalib/plugins/service.py:475 +msgid "file to store certificate in" +msgstr "" + +#: ipalib/plugins/host.py:663 ipalib/plugins/service.py:497 +msgid "Certificate stored in file '%(file)s'" +msgstr "" + +#: ipalib/plugins/host.py:674 +msgid "" +"\n" +" Disable the Kerberos key, SSL certificate and all services of a host.\n" +" " +msgstr "" + +#: ipalib/plugins/host.py:678 +msgid "Disabled host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:368 -msgid "Host principal has no kerberos key" +#: ipalib/plugins/host.py:760 +msgid "" +"\n" +" Add hosts that can manage this host.\n" +" " msgstr "" -#: ipalib/plugins/hostgroup.py:74 +#: ipalib/plugins/host.py:771 +msgid "" +"\n" +" Remove hosts that can manage this host.\n" +" " +msgstr "" + +#: ipalib/plugins/hostgroup.py:20 +msgid "" +"\n" +"Groups of hosts.\n" +"\n" +"Manage groups of hosts. This is useful for applying access control to a\n" +"number of hosts by using Host-based Access Control.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new host group:\n" +" ipa hostgroup-add --desc=\"Baltimore hosts\" baltimore\n" +"\n" +" Add another new host group:\n" +" ipa hostgroup-add --desc=\"Maryland hosts\" maryland\n" +"\n" +" Add members to the hostgroup:\n" +" ipa hostgroup-add-member --hosts=box1,box2,box3 baltimore\n" +"\n" +" Add a hostgroup as a member of another hostgroup:\n" +" ipa hostgroup-add-member --hostgroups=baltimore maryland\n" +"\n" +" Remove a host from the hostgroup:\n" +" ipa hostgroup-remove-member --hosts=box2 baltimore\n" +"\n" +" Display a host group:\n" +" ipa hostgroup-show baltimore\n" +"\n" +" Delete a hostgroup:\n" +" ipa hostgroup-del baltimore\n" +msgstr "" + +#: ipalib/plugins/hostgroup.py:55 +msgid "" +"\n" +" Hostgroup object.\n" +" " +msgstr "" + +#: ipalib/plugins/hostgroup.py:78 msgid "Host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:75 +#: ipalib/plugins/hostgroup.py:79 msgid "Name of host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:82 +#: ipalib/plugins/hostgroup.py:86 msgid "A description of this host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:85 -msgid "Member hosts" +#: ipalib/plugins/hostgroup.py:94 +msgid "" +"\n" +" Add a new hostgroup.\n" +" " msgstr "" -#: ipalib/plugins/hostgroup.py:89 -msgid "Member host-groups" +#: ipalib/plugins/hostgroup.py:98 +msgid "Added hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:106 -#, python-format -msgid "Added hostgroup \"%(value)s\"" +#: ipalib/plugins/hostgroup.py:104 +msgid "" +"\n" +" Delete a hostgroup.\n" +" " msgstr "" -#: ipalib/plugins/hostgroup.py:116 -#, python-format +#: ipalib/plugins/hostgroup.py:108 msgid "Deleted hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:126 -#, python-format +#: ipalib/plugins/hostgroup.py:114 +msgid "" +"\n" +" Modify a hostgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/hostgroup.py:118 msgid "Modified hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:137 -#, python-format +#: ipalib/plugins/hostgroup.py:124 +msgid "" +"\n" +" Search for hostgroups.\n" +" " +msgstr "" + +#: ipalib/plugins/hostgroup.py:128 msgid "%(count)d hostgroup matched" msgid_plural "%(count)d hostgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/internal.py:39 +#: ipalib/plugins/hostgroup.py:136 +msgid "" +"\n" +" Display information about a hostgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/hostgroup.py:144 +msgid "" +"\n" +" Add members to a hostgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/hostgroup.py:152 +msgid "" +"\n" +" Remove members from a hostgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/internal.py:22 +msgid "" +"\n" +"Plugins not accessible directly through the CLI, commands used internally\n" +msgstr "" + +#: ipalib/plugins/internal.py:36 +msgid "" +"\n" +" Export plugin meta-data for the webUI.\n" +" " +msgstr "" + +#: ipalib/plugins/internal.py:44 +msgid "Name of object to export" +msgstr "" + +#: ipalib/plugins/internal.py:47 +msgid "Name of method to export" +msgstr "" + +#: ipalib/plugins/internal.py:52 +msgid "Dict of JSON encoded IPA Objects" +msgstr "" + +#: ipalib/plugins/internal.py:53 +msgid "Dict of JSON encoded IPA Methods" +msgstr "" + +#: ipalib/plugins/internal.py:96 msgid "Logged In As" msgstr "" -#: ipalib/plugins/internal.py:41 +#: ipalib/plugins/internal.py:99 +msgid "Attribute" +msgstr "" + +#: ipalib/plugins/internal.py:102 +msgid "Add Automount Location" +msgstr "" + +#: ipalib/plugins/internal.py:103 +msgid "Automount Location Settings" +msgstr "" + +#: ipalib/plugins/internal.py:106 +msgid "Unspecified" +msgstr "" + +#: ipalib/plugins/internal.py:107 +msgid "Key Compromise" +msgstr "" + +#: ipalib/plugins/internal.py:108 +msgid "CA Compromise" +msgstr "" + +#: ipalib/plugins/internal.py:109 +msgid "Affiliation Changed" +msgstr "" + +#: ipalib/plugins/internal.py:110 +msgid "Superseded" +msgstr "" + +#: ipalib/plugins/internal.py:111 +msgid "Cessation of Operation" +msgstr "" + +#: ipalib/plugins/internal.py:112 +msgid "Certificate Hold" +msgstr "" + +#: ipalib/plugins/internal.py:113 +msgid "Remove from CRL" +msgstr "" + +#: ipalib/plugins/internal.py:114 +msgid "Privilege Withdrawn" +msgstr "" + +#: ipalib/plugins/internal.py:115 +msgid "AA Compromise" +msgstr "" + +#: ipalib/plugins/internal.py:116 +msgid "" +"To confirm your intention to revoke this certificate, select a reason from " +"the pull-down list, and click the \"Revoke\" button." +msgstr "" + +#: ipalib/plugins/internal.py:118 +msgid "Note" +msgstr "" + +#: ipalib/plugins/internal.py:119 +msgid "Reason for Revocation" +msgstr "" + +#: ipalib/plugins/internal.py:120 +msgid "" +"To confirm your intention to restore this certificate, click the \"Restore\" " +"button." +msgstr "" + +#: ipalib/plugins/internal.py:122 +msgid "Issued To" +msgstr "" + +#: ipalib/plugins/internal.py:123 +msgid "Common Name" +msgstr "" + +#: ipalib/plugins/internal.py:124 +msgid "Organization" +msgstr "" + +#: ipalib/plugins/internal.py:125 +msgid "Organizational Unit" +msgstr "" + +#: ipalib/plugins/internal.py:127 +msgid "Issued By" +msgstr "" + +#: ipalib/plugins/internal.py:128 +msgid "Validity" +msgstr "" + +#: ipalib/plugins/internal.py:129 +msgid "Issued On" +msgstr "" + +#: ipalib/plugins/internal.py:130 +msgid "Expires On" +msgstr "" + +#: ipalib/plugins/internal.py:131 +msgid "Fingerprints" +msgstr "" + +#: ipalib/plugins/internal.py:132 +msgid "SHA1 Fingerprint" +msgstr "" + +#: ipalib/plugins/internal.py:133 +msgid "MD5 Fingerprint" +msgstr "" + +#: ipalib/plugins/internal.py:134 +msgid "Enter the Base64-encoded CSR below" +msgstr "" + +#: ipalib/plugins/internal.py:135 +msgid "Valid Certificate Present" +msgstr "" + +#: ipalib/plugins/internal.py:136 +msgid "New Certificate" +msgstr "" + +#: ipalib/plugins/internal.py:137 +msgid "Certificate Revoked" +msgstr "" + +#: ipalib/plugins/internal.py:138 +msgid "No Valid Certificate" +msgstr "" + +#: ipalib/plugins/internal.py:139 +msgid "Certificate for ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:140 +msgid "Issue New Certificate for ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:141 +msgid "Revoke Certificate for ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:142 +msgid "Restore Certificate for ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:146 +msgid "Name" +msgstr "" + +#: ipalib/plugins/internal.py:149 +msgid "Add Delegation" +msgstr "" + +#: ipalib/plugins/internal.py:152 +msgid "Add DNS Zone" +msgstr "" + +#: ipalib/plugins/internal.py:153 +msgid "DNS Zone Settings" +msgstr "" + +#: ipalib/plugins/internal.py:156 +msgid "Add DNS Resource Record" +msgstr "" + +#: ipalib/plugins/internal.py:157 +msgid "Resource" +msgstr "" + +#: ipalib/plugins/internal.py:159 +msgid "Data" +msgstr "" + +#: ipalib/plugins/internal.py:160 +msgid "Records for DNS Zone" +msgstr "" + +#: ipalib/plugins/internal.py:163 +msgid "Add New Group" +msgstr "" + +#: ipalib/plugins/internal.py:164 +msgid "Group Settings" +msgstr "" + +#: ipalib/plugins/internal.py:165 ipalib/plugins/internal.py:200 +msgid "Is this a POSIX group?" +msgstr "" + +#: ipalib/plugins/internal.py:168 ipalib/plugins/internal.py:273 +msgid "Add New Rule" +msgstr "" + +#: ipalib/plugins/internal.py:169 ipalib/plugins/internal.py:274 +#: ipalib/plugins/internal.py:300 +msgid "Active" +msgstr "" + +#: ipalib/plugins/internal.py:170 ipalib/plugins/internal.py:276 +msgid "Allow" +msgstr "" + +#: ipalib/plugins/internal.py:171 ipalib/plugins/internal.py:277 +msgid "Deny" +msgstr "" + +#: ipalib/plugins/internal.py:172 ipalib/plugins/internal.py:275 +#: ipalib/plugins/internal.py:302 +msgid "Inactive" +msgstr "" + +#: ipalib/plugins/internal.py:173 ipalib/plugins/internal.py:290 +msgid "Rule status" +msgstr "" + +#: ipalib/plugins/internal.py:174 ipalib/plugins/internal.py:278 +msgid "Who" +msgstr "" + +#: ipalib/plugins/internal.py:175 ipalib/plugins/internal.py:279 +msgid "Anyone" +msgstr "" + +#: ipalib/plugins/internal.py:176 ipalib/plugins/internal.py:280 +msgid "Specified Users and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:177 +msgid "Accessing" +msgstr "" + +#: ipalib/plugins/internal.py:178 ipalib/plugins/internal.py:282 +msgid "Any Host" +msgstr "" + +#: ipalib/plugins/internal.py:179 ipalib/plugins/internal.py:283 +msgid "Specified Hosts and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:180 +msgid "Via Service" +msgstr "" + +#: ipalib/plugins/internal.py:181 +msgid "Any Service" +msgstr "" + +#: ipalib/plugins/internal.py:182 +msgid "Specified Services and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:183 +msgid "From" +msgstr "" + +#: ipalib/plugins/internal.py:186 +msgid "Add New HBAC Service" +msgstr "" + +#: ipalib/plugins/internal.py:189 +msgid "Add New HBAC Service Group" +msgstr "" + +#: ipalib/plugins/internal.py:193 +msgid "Add New Host" +msgstr "" + +#: ipalib/plugins/internal.py:194 +msgid "Host Certificate" +msgstr "" + +#: ipalib/plugins/internal.py:195 ipalib/plugins/internal.py:253 +msgid "Host Name" +msgstr "" + +#: ipalib/plugins/internal.py:196 +msgid "Host Settings" +msgstr "" + +#: ipalib/plugins/internal.py:197 +msgid "Enrolled?" +msgstr "" + +#: ipalib/plugins/internal.py:198 +msgid "Enrollment" +msgstr "" + +#: ipalib/plugins/internal.py:199 +msgid "Fully Qualified Host Name" +msgstr "" + +#: ipalib/plugins/internal.py:201 ipalib/plugins/internal.py:256 +msgid "Status" +msgstr "" + +#: ipalib/plugins/internal.py:202 +msgid "Kerberos Key Present, Host Provisioned" +msgstr "" + +#: ipalib/plugins/internal.py:203 ipalib/plugins/internal.py:258 +msgid "Delete Key, Unprovision" +msgstr "" + +#: ipalib/plugins/internal.py:204 ipalib/plugins/internal.py:259 +msgid "Kerberos Key Not Present" +msgstr "" + +#: ipalib/plugins/internal.py:205 +msgid "Enroll via One-Time-Password" +msgstr "" + +#: ipalib/plugins/internal.py:206 +msgid "Set OTP" +msgstr "" + +#: ipalib/plugins/internal.py:207 +msgid "One-Time-Password has been set." +msgstr "" + +#: ipalib/plugins/internal.py:208 ipalib/plugins/internal.py:260 +msgid "Unprovisioning ${entity}" +msgstr "" + +#: ipalib/plugins/internal.py:209 +msgid "Are you sure you want to unprovision this host?" +msgstr "" + +#: ipalib/plugins/internal.py:210 ipalib/plugins/internal.py:262 +msgid "Unprovision" +msgstr "" + +#: ipalib/plugins/internal.py:213 +msgid "Add Hostgroup" +msgstr "" + +#: ipalib/plugins/internal.py:214 +msgid "Hostgroup Settings" +msgstr "" + +#: ipalib/plugins/internal.py:217 +msgid "Kerberos ticket policy" +msgstr "" + +#: ipalib/plugins/internal.py:220 +msgid "Add Netgroup" +msgstr "" + +#: ipalib/plugins/internal.py:221 +msgid "Netgroup Settings" +msgstr "" + +#: ipalib/plugins/internal.py:224 +msgid "Add Permission" +msgstr "" + +#: ipalib/plugins/internal.py:225 ipalib/plugins/internal.py:362 +msgid "Identity" +msgstr "" + +#: ipalib/plugins/internal.py:227 +msgid "Target" +msgstr "" + +#: ipalib/plugins/internal.py:229 +msgid "By Subtree" +msgstr "" + +#: ipalib/plugins/internal.py:230 +msgid "Target Group" +msgstr "" + +#: ipalib/plugins/internal.py:231 +msgid "Object By Type" +msgstr "" + +#: ipalib/plugins/internal.py:232 +msgid "Permission with invalid target specification" +msgstr "" + +#: ipalib/plugins/internal.py:235 +msgid "Add Privilege" +msgstr "" + +#: ipalib/plugins/internal.py:236 +msgid "Privilege Settings" +msgstr "" + +#: ipalib/plugins/internal.py:239 +msgid "Add Password Policy" +msgstr "" + +#: ipalib/plugins/internal.py:240 ipalib/plugins/pwpolicy.py:209 +msgid "Password Policy" +msgstr "" + +#: ipalib/plugins/internal.py:243 +msgid "Add Role" +msgstr "" + +#: ipalib/plugins/internal.py:244 +msgid "Role Settings" +msgstr "" + +#: ipalib/plugins/internal.py:247 +msgid "Add Self Service Definition" +msgstr "" + +#: ipalib/plugins/internal.py:250 +msgid "Add New Service" +msgstr "" + +#: ipalib/plugins/internal.py:251 +msgid "Service Certificate" +msgstr "" + +#: ipalib/plugins/internal.py:252 +msgid "Service Settings" +msgstr "" + +#: ipalib/plugins/internal.py:254 +msgid "Provisioning" +msgstr "" + +#: ipalib/plugins/internal.py:255 +msgid "Service" +msgstr "" + +#: ipalib/plugins/internal.py:257 +msgid "Kerberos Key Present, Service Provisioned" +msgstr "" + +#: ipalib/plugins/internal.py:261 +msgid "Are you sure you want to unprovision this service?" +msgstr "" + +#: ipalib/plugins/internal.py:265 +msgid "Add New Sudo Command" +msgstr "" + +#: ipalib/plugins/internal.py:269 +msgid "Add New Sudo Command Group" +msgstr "" + +#: ipalib/plugins/internal.py:270 ipalib/plugins/sudocmdgroup.py:80 +msgid "Commands" +msgstr "" + +#: ipalib/plugins/internal.py:281 +msgid "Access this host" +msgstr "" + +#: ipalib/plugins/internal.py:284 +msgid "Run Commands" +msgstr "" + +#: ipalib/plugins/internal.py:285 +msgid "Any Command" +msgstr "" + +#: ipalib/plugins/internal.py:286 +msgid "Specified Commands and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:287 +msgid "As Whom" +msgstr "" + +#: ipalib/plugins/internal.py:288 +msgid "Any Group" +msgstr "" + +#: ipalib/plugins/internal.py:289 +msgid "Specified Groups" +msgstr "" + +#: ipalib/plugins/internal.py:291 +msgid "External" +msgstr "" + +#: ipalib/plugins/internal.py:294 +msgid "Add User" +msgstr "" + +#: ipalib/plugins/internal.py:295 +msgid "Account Settings" +msgstr "" + +#: ipalib/plugins/internal.py:296 +msgid "Contact Settings" +msgstr "" + +#: ipalib/plugins/internal.py:297 +msgid "Mailing Address" +msgstr "" + +#: ipalib/plugins/internal.py:298 +msgid "Employee Information" +msgstr "" + +#: ipalib/plugins/internal.py:299 +msgid "Misc. Information" +msgstr "" + +#: ipalib/plugins/internal.py:301 +msgid "Click to Deactivate" +msgstr "" + +#: ipalib/plugins/internal.py:303 +msgid "Click to Activate" +msgstr "" + +#: ipalib/plugins/internal.py:304 +msgid "Error changing account status" +msgstr "" + +#: ipalib/plugins/internal.py:305 +msgid "Reset Password" +msgstr "" + +#: ipalib/plugins/internal.py:306 +msgid "New Password" +msgstr "" + +#: ipalib/plugins/internal.py:307 +msgid "Repeat Password" +msgstr "" + +#: ipalib/plugins/internal.py:308 +msgid "Password change complete" +msgstr "" + +#: ipalib/plugins/internal.py:309 +msgid "Passwords must match" +msgstr "" + +#: ipalib/plugins/internal.py:313 msgid "Add" msgstr "" -#: ipalib/plugins/internal.py:42 +#: ipalib/plugins/internal.py:314 +msgid "Add and Add Another" +msgstr "" + +#: ipalib/plugins/internal.py:315 +msgid "Add and Edit" +msgstr "" + +#: ipalib/plugins/internal.py:316 +msgid "Add and Close" +msgstr "" + +#: ipalib/plugins/internal.py:317 +msgid "Add Many" +msgstr "" + +#: ipalib/plugins/internal.py:318 +msgid "Back to List" +msgstr "" + +#: ipalib/plugins/internal.py:319 +msgid "Cancel" +msgstr "" + +#: ipalib/plugins/internal.py:320 +msgid "Close" +msgstr "" + +#: ipalib/plugins/internal.py:321 +msgid "Enroll" +msgstr "" + +#: ipalib/plugins/internal.py:322 msgid "Find" msgstr "" -#: ipalib/plugins/internal.py:43 +#: ipalib/plugins/internal.py:323 +msgid "Get" +msgstr "" + +#: ipalib/plugins/internal.py:324 +msgid "Issue" +msgstr "" + +#: ipalib/plugins/internal.py:325 +msgid "OK" +msgstr "" + +#: ipalib/plugins/internal.py:326 msgid "Reset" msgstr "" -#: ipalib/plugins/internal.py:44 +#: ipalib/plugins/internal.py:327 +msgid "Delete" +msgstr "" + +#: ipalib/plugins/internal.py:328 +msgid "Restore" +msgstr "" + +#: ipalib/plugins/internal.py:329 +msgid "Retry" +msgstr "" + +#: ipalib/plugins/internal.py:330 +msgid "Revoke" +msgstr "" + +#: ipalib/plugins/internal.py:331 msgid "Update" msgstr "" -#: ipalib/plugins/internal.py:45 -msgid "Enroll" +#: ipalib/plugins/internal.py:332 +msgid "View" msgstr "" -#: ipalib/plugins/internal.py:46 -msgid "Delete" +#: ipalib/plugins/internal.py:335 +msgid "Available" +msgstr "" + +#: ipalib/plugins/internal.py:336 +msgid "This page has unsaved changes. Please save or revert." +msgstr "" + +#: ipalib/plugins/internal.py:337 +msgid "Dirty" +msgstr "" + +#: ipalib/plugins/internal.py:338 +msgid "Hide already enrolled." +msgstr "" + +#: ipalib/plugins/internal.py:339 +msgid "Select ${entity} to be removed." msgstr "" -#: ipalib/plugins/internal.py:49 +#: ipalib/plugins/internal.py:340 +msgid "Remove ${entity}." +msgstr "" + +#: ipalib/plugins/internal.py:341 +msgid "Prospective" +msgstr "" + +#: ipalib/plugins/internal.py:344 +msgid "Search" +msgstr "" + +#: ipalib/plugins/internal.py:345 +msgid "Settings" +msgstr "" + +#: ipalib/plugins/internal.py:348 msgid "Quick Links" msgstr "" -#: ipalib/plugins/internal.py:50 +#: ipalib/plugins/internal.py:349 msgid "Select All" msgstr "" -#: ipalib/plugins/internal.py:51 +#: ipalib/plugins/internal.py:350 msgid "Unselect All" msgstr "" -#: ipalib/plugins/internal.py:52 -msgid "Do you really want to delete the selected entries?" +#: ipalib/plugins/internal.py:351 +msgid "Are you sure you want to delete selected entries?" msgstr "" -#: ipalib/plugins/internal.py:55 -msgid "Identity Details" +#: ipalib/plugins/internal.py:352 +msgid "" +"Query returned more results than the configured size limit. Displaying the " +"first ${counter} results." msgstr "" -#: ipalib/plugins/internal.py:56 -msgid "Account Details" +#: ipalib/plugins/internal.py:356 +msgid "General" msgstr "" -#: ipalib/plugins/internal.py:57 -msgid "Contact Details" +#: ipalib/plugins/internal.py:357 +msgid "${entity} Settings" msgstr "" -#: ipalib/plugins/internal.py:58 -msgid "Mailing Address" +#: ipalib/plugins/internal.py:358 +msgid "Identity Settings" msgstr "" -#: ipalib/plugins/internal.py:59 -msgid " Employee Information" +#: ipalib/plugins/internal.py:359 +msgid "Back to Top" msgstr "" -#: ipalib/plugins/internal.py:60 -msgid "Misc. Information" +#: ipalib/plugins/internal.py:363 +msgid "Policy" msgstr "" -#: ipalib/plugins/internal.py:61 -msgid "Back to Top" +#: ipalib/plugins/internal.py:364 +msgid "Audit" msgstr "" -#: ipalib/plugins/internal.py:66 -msgid "Name of object to export" +#: ipalib/plugins/internal.py:365 +msgid "IPA Server" msgstr "" -#: ipalib/plugins/internal.py:71 -msgid "Dict of JSON encoded IPA Objects" +#: ipalib/plugins/internal.py:366 ipalib/plugins/sudorule.py:68 +msgid "Sudo" +msgstr "" + +#: ipalib/plugins/internal.py:368 +msgid "Role Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:72 +#: ipalib/plugins/internal.py:371 +msgid "Add ${other_entity} into ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:372 +msgid "${other_entity} enrolled in ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:373 +msgid "${entity} ${primary_key} is enrolled in the following ${other_entity}" +msgstr "" + +#: ipalib/plugins/internal.py:374 +msgid "Remove ${other_entity} from ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:377 +msgid "Text does not match field pattern" +msgstr "" + +#: ipalib/plugins/internal.py:380 +msgid "" +"Your Kerberos ticket is no longer valid. Please run kinit and then click " +"'Retry'. If this is your first time running the IPA Web UI <a href='/ipa/" +"config/unauthorized.html'>follow these directions</a> to configure your " +"browser." +msgstr "" + +#: ipalib/plugins/internal.py:384 msgid "Dict of I18N messages" msgstr "" -#: ipalib/plugins/krbtpolicy.py:59 +#: ipalib/plugins/kerberos.py:20 +msgid "" +"\n" +"Backend plugin for Kerberos.\n" +"\n" +"This wraps the python-kerberos and python-krbV bindings.\n" +msgstr "" + +#: ipalib/plugins/kerberos.py:35 +msgid "" +"\n" +" Kerberos backend plugin.\n" +"\n" +" This wraps the `krbV` bindings (and will eventually wrap the `kerberos`\n" +" bindings also). Importantly, this plugin does correct Unicode\n" +" encoding/decoding of values going-to/coming-from the bindings.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:44 +msgid "" +"\n" +" Return the ``krbV.CCache`` for the default credential cache.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:50 +msgid "" +"\n" +" Return the ``krb5.Principal`` for the default credential cache.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:56 +msgid "" +"\n" +" Return the ``krbV.CCache`` for the ``ccname`` credential ccache.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:62 +msgid "" +"\n" +" Return the ``krb5.Principal`` for the ``ccname`` credential ccache.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:68 +msgid "" +"\n" +" Return the default ccache file name.\n" +"\n" +" This will return something like '/tmp/krb5cc_500'.\n" +"\n" +" This cannot return anything meaningful if used in the server as a\n" +" request is processed.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:79 +msgid "" +"\n" +" Return the principal name in default credential cache.\n" +"\n" +" This will return something like 'admin@EXAMPLE.COM'. If no " +"credential\n" +" cache exists for the invoking user, None is returned.\n" +"\n" +" This cannot return anything meaningful if used in the server as a\n" +" request is processed.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:91 +msgid "" +"\n" +" Return the realm from the default credential cache.\n" +"\n" +" This will return something like 'EXAMPLE.COM'. If no credential " +"cache\n" +" exists for the invoking user, None is returned.\n" +"\n" +" This cannot return anything meaningful if used in the server as a\n" +" request is processed.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:103 +msgid "" +"\n" +" Return the principal from credential cache file at ``ccname``.\n" +"\n" +" This will return something like 'admin@EXAMPLE.COM'.\n" +" " +msgstr "" + +#: ipalib/plugins/kerberos.py:111 +msgid "" +"\n" +" Return the realm from credential cache file at ``ccname``.\n" +"\n" +" This will return something like 'EXAMPLE.COM'.\n" +" " +msgstr "" + +#: ipalib/plugins/krbtpolicy.py:19 +msgid "" +"\n" +"Kerberos ticket policy\n" +"\n" +"There is a single Kerberos ticket policy. This policy defines the\n" +"maximum ticket lifetime and the maximum renewal age, the period during\n" +"which the ticket is renewable.\n" +"\n" +"You can also create a per-user ticket policy by specifying the user login.\n" +"\n" +"For changes to the global policy to take effect, restarting the KDC service\n" +"is required, which can be achieved using:\n" +"\n" +"service krb5kdc restart\n" +"\n" +"Changes to per-user policies take effect immediately for newly requested\n" +"tickets (e.g. when the user next runs kinit).\n" +"\n" +"EXAMPLES:\n" +"\n" +" Display the current Kerberos ticket policy:\n" +" ipa krbtpolicy-show\n" +"\n" +" Reset the policy to the default:\n" +" ipa krbtpolicy-reset\n" +"\n" +" Modify the policy to 8 hours max life, 1-day max renewal:\n" +" ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400\n" +"\n" +" Display effective Kerberos ticket policy for user 'admin':\n" +" ipa krbtpolicy-show admin\n" +"\n" +" Reset per-user policy for user 'admin':\n" +" ipa krbtpolicy-reset admin\n" +"\n" +" Modify per-user policy for user 'admin':\n" +" ipa krbtpolicy-mod admin --maxlife=3600\n" +msgstr "" + +#: ipalib/plugins/krbtpolicy.py:71 +msgid "" +"\n" +" Kerberos Ticket Policy object\n" +" " +msgstr "" + +#: ipalib/plugins/krbtpolicy.py:78 msgid "Kerberos Ticket Policy" msgstr "" -#: ipalib/plugins/krbtpolicy.py:64 ipalib/plugins/passwd.py:52 +#: ipalib/plugins/krbtpolicy.py:83 ipalib/plugins/passwd.py:53 msgid "User name" msgstr "" -#: ipalib/plugins/krbtpolicy.py:65 +#: ipalib/plugins/krbtpolicy.py:84 msgid "Manage ticket policy for specific user" msgstr "" -#: ipalib/plugins/krbtpolicy.py:70 +#: ipalib/plugins/krbtpolicy.py:89 msgid "Max life" msgstr "" -#: ipalib/plugins/krbtpolicy.py:71 +#: ipalib/plugins/krbtpolicy.py:90 msgid "Maximum ticket life (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:75 +#: ipalib/plugins/krbtpolicy.py:95 msgid "Max renew" msgstr "" -#: ipalib/plugins/krbtpolicy.py:76 +#: ipalib/plugins/krbtpolicy.py:96 msgid "Maximum renewable age (seconds)" msgstr "" -#: ipalib/plugins/migration.py:44 -#, python-format +#: ipalib/plugins/krbtpolicy.py:110 +msgid "" +"\n" +" Modify Kerberos ticket policy.\n" +" " +msgstr "" + +#: ipalib/plugins/krbtpolicy.py:124 +msgid "" +"\n" +" Display the current Kerberos ticket policy.\n" +" " +msgstr "" + +#: ipalib/plugins/krbtpolicy.py:148 +msgid "" +"\n" +" Reset Kerberos ticket policy to the default values.\n" +" " +msgstr "" + +#: ipalib/plugins/migration.py:19 +msgid "" +"\n" +"Migration to IPA\n" +"\n" +"Migrate users and groups from an LDAP server to IPA.\n" +"\n" +"This performs an LDAP query against the remote server searching for\n" +"users and groups in a container. In order to migrate passwords you need\n" +"to bind as a user that can read the userPassword attribute on the remote\n" +"server. This is generally restricted to high-level admins such as\n" +"cn=Directory Manager in 389-ds (this is the default bind user).\n" +"\n" +"The default user container is ou=People.\n" +"\n" +"The default group container is ou=Groups.\n" +"\n" +"Users and groups that already exist on the IPA server are skipped.\n" +"\n" +"Two LDAP schemas define how group members are stored: RFC2307 and\n" +"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n" +"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n" +"\n" +"Migrated users do not have Kerberos credentials, they have only their\n" +"LDAP password. To complete the migration process, users need to go\n" +"to http://ipa.example.com/ipa/migration and authenticate using their\n" +"LDAP password in order to generate their Kerberos credentials.\n" +"\n" +"Migration is disabled by default. Use the command ipa config-mod to\n" +"enable it:\n" +"\n" +" ipa config-mod --enable-migration=TRUE\n" +"\n" +"EXAMPLES:\n" +"\n" +" The simplest migration, accepting all defaults:\n" +" ipa migrate-ds ldap://ds.example.com:389\n" +"\n" +" Specify the user and group container. This can be used to migrate user and\n" +" group data from an IPA v1 server:\n" +" ipa migrate-ds --user-container='cn=users,cn=accounts' --group-" +"container='cn=groups,cn=accounts' ldap://ds.example.com:389\n" +msgstr "" + +#: ipalib/plugins/migration.py:78 msgid "" "Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." msgstr "" -#: ipalib/plugins/migration.py:45 +#: ipalib/plugins/migration.py:79 msgid "" "Failed to add user to the default group. Use 'ipa group-add-member' to add " "manually." msgstr "" -#: ipalib/plugins/migration.py:169 +#: ipalib/plugins/migration.py:175 +msgid "" +"\n" +" Convert usernames in member attributes to work in IPA.\n" +" " +msgstr "" + +#: ipalib/plugins/migration.py:213 +msgid "Invalid LDAP URI." +msgstr "" + +#: ipalib/plugins/migration.py:218 +msgid "" +"\n" +" Migrate users and groups from DS to IPA.\n" +" " +msgstr "" + +#: ipalib/plugins/migration.py:259 msgid "LDAP URI" msgstr "" -#: ipalib/plugins/migration.py:170 +#: ipalib/plugins/migration.py:260 msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/migration.py:174 +#: ipalib/plugins/migration.py:265 msgid "bind password" msgstr "" -#: ipalib/plugins/migration.py:181 +#: ipalib/plugins/migration.py:272 msgid "Bind DN" msgstr "" -#: ipalib/plugins/migration.py:187 +#: ipalib/plugins/migration.py:278 msgid "User container" msgstr "" -#: ipalib/plugins/migration.py:188 +#: ipalib/plugins/migration.py:279 msgid "RDN of container for users in DS" msgstr "" -#: ipalib/plugins/migration.py:194 +#: ipalib/plugins/migration.py:285 msgid "Group container" msgstr "" -#: ipalib/plugins/migration.py:195 +#: ipalib/plugins/migration.py:286 msgid "RDN of container for groups in DS" msgstr "" -#: ipalib/plugins/migration.py:200 -msgid "Continous operation mode. Errors are reported but the process continues" +#: ipalib/plugins/migration.py:292 +msgid "User object class" +msgstr "" + +#: ipalib/plugins/migration.py:293 +msgid "" +"Comma-separated list of objectclasses used to search for user entries in DS" +msgstr "" + +#: ipalib/plugins/migration.py:299 +msgid "Group object class" +msgstr "" + +#: ipalib/plugins/migration.py:300 +msgid "" +"Comma-separated list of objectclasses used to search for group entries in DS" +msgstr "" + +#: ipalib/plugins/migration.py:306 +msgid "LDAP schema" +msgstr "" + +#: ipalib/plugins/migration.py:307 +msgid "" +"The schema used on the LDAP server. Supported values are RFC2307 and " +"RFC2307bis. The default is RFC2307bis" msgstr "" -#: ipalib/plugins/migration.py:208 +#: ipalib/plugins/migration.py:313 +msgid "" +"Continuous operation mode. Errors are reported but the process continues" +msgstr "" + +#: ipalib/plugins/migration.py:321 msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:212 +#: ipalib/plugins/migration.py:325 msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:216 +#: ipalib/plugins/migration.py:329 msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/migration.py:220 -#, python-format +#: ipalib/plugins/migration.py:333 msgid "comma-separated list of %s to exclude from migration" msgstr "" -#: ipalib/plugins/migration.py:222 +#: ipalib/plugins/migration.py:335 msgid "" "search results for objects to be migrated\n" "have been truncated by the server;\n" -"migration process might be uncomplete\n" +"migration process might be incomplete\n" msgstr "" -#: ipalib/plugins/migration.py:227 +#: ipalib/plugins/migration.py:340 msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/plugins/migration.py:230 +#: ipalib/plugins/migration.py:343 msgid "" "Passwords have been migrated in pre-hashed format.\n" "IPA is unable to generate Kerberos keys unless provided\n" @@ -1528,16 +4643,55 @@ msgid "" "can use their Kerberos accounts." msgstr "" -#: ipalib/plugins/migration.py:297 -#, python-format +#: ipalib/plugins/migration.py:351 +msgid "" +"\n" +" Call get_options of the baseclass and add \"exclude\" options\n" +" for each type of object being migrated.\n" +" " +msgstr "" + +#: ipalib/plugins/migration.py:368 +msgid "" +"\n" +" Convert all \"exclude\" option values to lower-case.\n" +"\n" +" Also, empty List parameters are converted to None, but the " +"migration\n" +" plugin doesn't like that - convert back to empty lists.\n" +" " +msgstr "" + +#: ipalib/plugins/migration.py:392 +msgid "" +"\n" +" Migrate objects from DS to LDAP.\n" +" " +msgstr "" + +#: ipalib/plugins/migration.py:418 msgid "Container for %(container)s not found" msgstr "" +#: ipalib/plugins/misc.py:20 +msgid "" +"\n" +"Misc plug-ins\n" +msgstr "" + +#: ipalib/plugins/misc.py:36 +msgid "Show environment variables" +msgstr "" + #: ipalib/plugins/misc.py:38 -#, python-format msgid "%(count)d variables" msgstr "" +#: ipalib/plugins/misc.py:47 ipalib/plugins/misc.py:115 +msgid "" +"retrieve and print all attributes from the server. Affects command output." +msgstr "" + #: ipalib/plugins/misc.py:61 msgid "Total number of variables env (>= count)" msgstr "" @@ -1546,435 +4700,2392 @@ msgstr "" msgid "Number of variables returned (<= total)" msgstr "" -#: ipalib/plugins/misc.py:109 -#, python-format +#: ipalib/plugins/misc.py:106 +msgid "Show all loaded plugins" +msgstr "" + +#: ipalib/plugins/misc.py:108 msgid "%(count)d plugin loaded" msgid_plural "%(count)d plugins loaded" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/misc.py:116 +#: ipalib/plugins/misc.py:126 msgid "Number of plugins loaded" msgstr "" -#: ipalib/plugins/netgroup.py:57 +#: ipalib/plugins/netgroup.py:20 +msgid "" +"\n" +"Netgroups\n" +"\n" +"A netgroup is a group used for permission checking. It can contain both\n" +"user and host values.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new netgroup:\n" +" ipa netgroup-add --desc=\"NFS admins\" admins\n" +"\n" +" Add members to the netgroup:\n" +" ipa netgroup-add-member --users=tuser1,tuser2 admins\n" +"\n" +" Remove a member from the netgroup:\n" +" ipa netgroup-remove-member --users=tuser2 admins\n" +"\n" +" Display infromation about a netgroup:\n" +" ipa netgroup-show admins\n" +"\n" +" Delete a netgroup:\n" +" ipa netgroup-del admins\n" +msgstr "" + +#: ipalib/plugins/netgroup.py:59 msgid "Member Host" msgstr "" -#: ipalib/plugins/netgroup.py:63 -msgid "External host" +#: ipalib/plugins/netgroup.py:67 +msgid "" +"\n" +" Netgroup object.\n" +" " msgstr "" -#: ipalib/plugins/netgroup.py:85 -msgid "Net Groups" +#: ipalib/plugins/netgroup.py:98 +msgid "Netgroups" msgstr "" -#: ipalib/plugins/netgroup.py:90 +#: ipalib/plugins/netgroup.py:103 msgid "Netgroup name" msgstr "" -#: ipalib/plugins/netgroup.py:97 +#: ipalib/plugins/netgroup.py:110 msgid "Netgroup description" msgstr "" -#: ipalib/plugins/netgroup.py:101 +#: ipalib/plugins/netgroup.py:114 msgid "NIS domain name" msgstr "" -#: ipalib/plugins/netgroup.py:106 +#: ipalib/plugins/netgroup.py:119 msgid "IPA unique ID" msgstr "" -#: ipalib/plugins/pwpolicy.py:84 -#, python-format +#: ipalib/plugins/netgroup.py:140 +msgid "" +"\n" +" Add a new netgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/netgroup.py:144 +msgid "Added netgroup \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/netgroup.py:153 +msgid "" +"\n" +" Delete a netgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/netgroup.py:156 +msgid "Deleted netgroup \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/netgroup.py:162 +msgid "" +"\n" +" Modify a netgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/netgroup.py:166 +msgid "Modified netgroup \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/netgroup.py:180 +msgid "" +"\n" +" Search for a netgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/netgroup.py:185 +msgid "%(count)d netgroup matched" +msgid_plural "%(count)d netgroups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/netgroup.py:213 +msgid "" +"\n" +" Display information about a netgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/netgroup.py:222 +msgid "" +"\n" +" Add members to a netgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/netgroup.py:258 +msgid "" +"\n" +" Remove members from a netgroup.\n" +" " +msgstr "" + +#: ipalib/plugins/passwd.py:19 +msgid "" +"\n" +"Set a user's password\n" +"\n" +"If someone other than a user changes that user's password (e.g., Helpdesk\n" +"resets it) then the password will need to be changed the first time it\n" +"is used. This is so the end-user is the only one who knows the password.\n" +"\n" +"The IPA password policy controls how often a password may be changed,\n" +"what strength requirements exist, and the length of the password history.\n" +"\n" +"EXAMPLES:\n" +"\n" +" To reset your own password:\n" +" ipa passwd\n" +"\n" +" To change another user's password:\n" +" ipa passwd tuser1\n" +msgstr "" + +#: ipalib/plugins/passwd.py:46 +msgid "" +"\n" +" Set a user's password\n" +" " +msgstr "" + +#: ipalib/plugins/passwd.py:64 +msgid "Changed password for \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/passwd.py:67 +msgid "" +"\n" +" Execute the passwd operation.\n" +"\n" +" The dn should not be passed as a keyword argument as it is " +"constructed\n" +" by this method.\n" +"\n" +" Returns the entry\n" +"\n" +" :param principal: The login name or principal of the user\n" +" :param password: the new password\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:19 +msgid "" +"\n" +"Permissions\n" +"\n" +"A permission enables fine-grained delegation of rights. A permission is\n" +"a human-readable form of a 389-ds Access Control Rule, or instruction " +"(ACI).\n" +"A permission grants the right to perform a specific task such as adding a\n" +"user, modifying a group, etc.\n" +"\n" +"A permission may not contain other permissions.\n" +"\n" +"* A permission grants access to read, write, add or delete.\n" +"* A privilege combines similar permissions (for example all the permissions\n" +" needed to add a user).\n" +"* A role grants a set of privileges to users, groups, hosts or hostgroups.\n" +"\n" +"A permission is made up of a number of different parts:\n" +"\n" +"1. The name of the permission.\n" +"2. The target of the permission.\n" +"3. The rights granted by the permission.\n" +"\n" +"Rights define what operations are allowed, and may be one or more\n" +"of the following:\n" +"1. write - write one or more attributes\n" +"2. read - read one or more attributes\n" +"3. add - add a new entry to the tree\n" +"4. delete - delete an existing entry\n" +"5. all - all permissions are granted\n" +"\n" +"Read permission is granted for most attributes by default so the read\n" +"permission is not expected to be used very often.\n" +"\n" +"Note the distinction between attributes and entries. The permissions are\n" +"independent, so being able to add a user does not mean that the user will\n" +"be editable.\n" +"\n" +"There are a number of allowed targets:\n" +"1. type: a type of object (user, group, etc).\n" +"2. memberof: a member of a group or hostgroup\n" +"3. filter: an LDAP filter\n" +"4. subtree: an LDAP filter specifying part of the LDAP DIT. This is a\n" +" super-set of the \"type\" target.\n" +"5. targetgroup: grant access to modify a specific group (such as granting\n" +" the rights to manage group membership)\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a permission that grants the creation of users:\n" +" ipa permission-add --type=user --permissions=add \"Add Users\"\n" +"\n" +" Add a permission that grants the ability to manage group membership:\n" +" ipa permission-add --attrs=member --permissions=write --type=group " +"\"Manage Group Members\"\n" +msgstr "" + +#: ipalib/plugins/permission.py:84 +msgid "Permission Type" +msgstr "" + +#: ipalib/plugins/permission.py:89 +msgid "" +"\n" +" Permission object.\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:112 +msgid "Permission name" +msgstr "" + +#: ipalib/plugins/permission.py:119 +msgid "" +"Comma-separated list of permissions to grant (read, write, add, delete, all)" +msgstr "" + +#: ipalib/plugins/permission.py:132 +msgid "" +"Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)" +msgstr "" + +#: ipalib/plugins/permission.py:138 +msgid "Member of group" +msgstr "" + +#: ipalib/plugins/permission.py:139 +msgid "Target members of a group" +msgstr "" + +#: ipalib/plugins/permission.py:151 +msgid "Subtree to apply permissions to" +msgstr "" + +#: ipalib/plugins/permission.py:157 +msgid "User group to apply permissions to" +msgstr "" + +#: ipalib/plugins/permission.py:177 +msgid "" +"\n" +" Add a new permission.\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:181 +msgid "Added permission \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/permission.py:236 +msgid "" +"\n" +" Delete a permission.\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:240 +msgid "Deleted permission \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/permission.py:256 +msgid "" +"\n" +" Modify a permission.\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:260 +msgid "Modified permission \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/permission.py:352 +msgid "" +"\n" +" Search for permissions.\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:356 +msgid "%(count)d permission matched" +msgid_plural "%(count)d permissions matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/permission.py:405 +msgid "" +"\n" +" Display information about a permission.\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:423 +msgid "" +"\n" +" Add members to a permission.\n" +" " +msgstr "" + +#: ipalib/plugins/permission.py:432 +msgid "" +"\n" +" Remove members from a permission.\n" +" " +msgstr "" + +#: ipalib/plugins/ping.py:19 +msgid "" +"\n" +"Ping the remote IPA server\n" +msgstr "" + +#: ipalib/plugins/ping.py:29 +msgid "" +"\n" +" ping a remote server\n" +" " +msgstr "" + +#: ipalib/plugins/ping.py:37 +msgid "" +"\n" +" A possible enhancement would be to take an argument and echo it\n" +" back but a fixed value works for now.\n" +" " +msgstr "" + +#: ipalib/plugins/pkinit.py:19 +msgid "" +"\n" +"Kerberos pkinit options\n" +"\n" +"Enable or disable anonymous pkinit using the principal\n" +"WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with\n" +"pkinit support.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Enable anonymous pkinit:\n" +" ipa pkinit-anonymous enable\n" +"\n" +" Disable anonymous pkinit:\n" +" ipa pkinit-anonymous disable\n" +"\n" +"For more information on anonymous pkinit see:\n" +"\n" +"http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" +msgstr "" + +#: ipalib/plugins/pkinit.py:46 +msgid "" +"\n" +" PKINIT Options\n" +" " +msgstr "" + +#: ipalib/plugins/pkinit.py:51 +msgid "PKINIT" +msgstr "" + +#: ipalib/plugins/pkinit.py:56 +msgid "" +"\n" +" Accepts only Enable/Disable.\n" +" " +msgstr "" + +#: ipalib/plugins/pkinit.py:67 +msgid "" +"\n" +" Enable or Disable Anonymous PKINIT\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:19 +msgid "" +"\n" +"Privileges\n" +"\n" +"A privilege combines permissions into a logical task. A permission provides\n" +"the rights to do a single task. There are some IPA operations that require\n" +"multiple permissions to succeed. A privilege is where permissions are\n" +"combined in order to perform a specific task.\n" +"\n" +"For example, adding a user requires the following permissions:\n" +" * Creating a new user entry\n" +" * Resetting a user password\n" +" * Adding the new user to the default IPA users group\n" +"\n" +"Combining these three low-level tasks into a higher level task in the\n" +"form of a privilege named \"Add User\" makes it easier to manage Roles.\n" +"\n" +"A privilege may not contain other privileges.\n" +"\n" +"See role and permission for additional information.\n" +msgstr "" + +#: ipalib/plugins/privilege.py:45 +msgid "" +"\n" +" Privilege object.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:65 +msgid "Privileges" +msgstr "" + +#: ipalib/plugins/privilege.py:70 +msgid "Privilege name" +msgstr "" + +#: ipalib/plugins/privilege.py:77 +msgid "Privilege description" +msgstr "" + +#: ipalib/plugins/privilege.py:85 +msgid "" +"\n" +" Add a new privilege.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:89 +msgid "Added privilege \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/privilege.py:95 +msgid "" +"\n" +" Delete a privilege.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:99 +msgid "Deleted privilege \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/privilege.py:105 +msgid "" +"\n" +" Modify a privilege.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:109 +msgid "Modified privilege \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/privilege.py:115 +msgid "" +"\n" +" Search for privileges.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:119 +msgid "%(count)d privilege matched" +msgid_plural "%(count)d privileges matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/privilege.py:127 +msgid "" +"\n" +" Display information about a privilege.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:135 +msgid "" +"\n" +" Add members to a privilege\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:144 +msgid "" +"\n" +" Remove members from a privilege\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:153 +msgid "" +"\n" +" Add permissions to a privilege.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:169 +msgid "Number of permissions added" +msgstr "" + +#: ipalib/plugins/privilege.py:177 +msgid "" +"\n" +" Remove permissions from a privilege.\n" +" " +msgstr "" + +#: ipalib/plugins/privilege.py:195 +msgid "Number of permissions removed" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:19 +msgid "" +"\n" +"Password policy\n" +"\n" +"A password policy sets limitations on IPA passwords, including maximum\n" +"lifetime, minimum lifetime, the number of passwords to save in\n" +"history, the number of character classes required (for stronger passwords)\n" +"and the minimum password length.\n" +"\n" +"By default there is a single, global policy for all users. You can also\n" +"create a password policy to apply to a group. Each user is only subject\n" +"to one password policy, either the group policy or the global policy. A\n" +"group policy stands alone; it is not a super-set of the global policy plus\n" +"custom settings.\n" +"\n" +"Each group password policy requires a unique priority setting. If a user\n" +"is in multiple groups that have password policies, this priority determines\n" +"which password policy is applied. A lower value indicates a higher priority\n" +"policy.\n" +"\n" +"Group password policies are automatically removed when the groups they\n" +"are associated with are removed.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Modify the global policy:\n" +" ipa pwpolicy-mod --minlength=10\n" +"\n" +" Add a new group password policy:\n" +" ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --" +"minlength=8 --priority=10 localadmins\n" +"\n" +" Display the global password policy:\n" +" ipa pwpolicy-show\n" +"\n" +" Display a group password policy:\n" +" ipa pwpolicy-show localadmins\n" +"\n" +" Display the policy that would be applied to a given user:\n" +" ipa pwpolicy-show --user=tuser1\n" +"\n" +" Modify a group password policy:\n" +" ipa pwpolicy-mod --minclasses=2 localadmins\n" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:70 +msgid "" +"\n" +" Class of Service object used for linking policies with groups\n" +" " +msgstr "" + +#: ipalib/plugins/pwpolicy.py:85 msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -#: ipalib/plugins/pwpolicy.py:170 -msgid "Password Policy" +#: ipalib/plugins/pwpolicy.py:162 +msgid "" +"\n" +" Password Policy object\n" +" " +msgstr "" + +#: ipalib/plugins/pwpolicy.py:191 +msgid "Max failures" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:192 +msgid "Consecutive failures before lockout" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:197 +msgid "Failure reset interval" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:198 +msgid "Period after which failure count will be reset (seconds)" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:203 +msgid "Lockout duration" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:204 +msgid "Period for which lockout is enforced (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:175 +#: ipalib/plugins/pwpolicy.py:214 msgid "Group" msgstr "" -#: ipalib/plugins/pwpolicy.py:176 +#: ipalib/plugins/pwpolicy.py:215 msgid "Manage password policy for specific group" msgstr "" -#: ipalib/plugins/pwpolicy.py:181 +#: ipalib/plugins/pwpolicy.py:220 msgid "Max lifetime (days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:182 +#: ipalib/plugins/pwpolicy.py:221 msgid "Maximum password lifetime (in days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:187 +#: ipalib/plugins/pwpolicy.py:226 msgid "Min lifetime (hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:188 +#: ipalib/plugins/pwpolicy.py:227 msgid "Minimum password lifetime (in hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:193 +#: ipalib/plugins/pwpolicy.py:232 msgid "History size" msgstr "" -#: ipalib/plugins/pwpolicy.py:194 +#: ipalib/plugins/pwpolicy.py:233 msgid "Password history size" msgstr "" -#: ipalib/plugins/pwpolicy.py:199 +#: ipalib/plugins/pwpolicy.py:238 msgid "Character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:200 +#: ipalib/plugins/pwpolicy.py:239 msgid "Minimum number of character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:206 +#: ipalib/plugins/pwpolicy.py:245 msgid "Min length" msgstr "" -#: ipalib/plugins/pwpolicy.py:207 +#: ipalib/plugins/pwpolicy.py:246 msgid "Minimum length of password" msgstr "" -#: ipalib/plugins/pwpolicy.py:212 +#: ipalib/plugins/pwpolicy.py:251 msgid "Priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:213 +#: ipalib/plugins/pwpolicy.py:252 msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:265 +#: ipalib/plugins/pwpolicy.py:284 +msgid "" +"\n" +" Ensure that the maximum lifetime is greater than the minimum.\n" +" If there is no minimum lifetime set then don't return an error.\n" +" " +msgstr "" + +#: ipalib/plugins/pwpolicy.py:304 msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/pwpolicy.py:330 -msgid "priority cannot be set on global policy" +#: ipalib/plugins/pwpolicy.py:311 +msgid "" +"\n" +" Add a new group password policy.\n" +" " +msgstr "" + +#: ipalib/plugins/pwpolicy.py:340 +msgid "" +"\n" +" Delete a group password policy.\n" +" " +msgstr "" + +#: ipalib/plugins/pwpolicy.py:359 +msgid "" +"\n" +" Modify a group password policy.\n" +" " msgstr "" #: ipalib/plugins/pwpolicy.py:369 +msgid "priority cannot be set on global policy" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:401 +msgid "" +"\n" +" Display information about password policy.\n" +" " +msgstr "" + +#: ipalib/plugins/pwpolicy.py:406 msgid "User" msgstr "" -#: ipalib/plugins/pwpolicy.py:370 +#: ipalib/plugins/pwpolicy.py:407 msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/rolegroup.py:79 -msgid "Role Groups" +#: ipalib/plugins/pwpolicy.py:442 +msgid "" +"\n" +" Search for group password policies.\n" +" " msgstr "" -#: ipalib/plugins/rolegroup.py:84 -msgid "Role-group name" +#: ipalib/plugins/role.py:20 +msgid "" +"\n" +"Roles\n" +"\n" +"A role is used for fine-grained delegation. A permission grants the ability\n" +"to perform given low-level tasks (add a user, modify a group, etc.). A\n" +"privilege combines one or more permissions into a higher-level abstraction\n" +"such as useradmin. A useradmin would be able to add, delete and modify " +"users.\n" +"\n" +"Privileges are assigned to Roles.\n" +"\n" +"Users, groups, hosts and hostgroups may be members of a Role.\n" +"\n" +"Roles can not contain other roles.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new role:\n" +" ipa role-add --desc=\"Junior-level admin\" junioradmin\n" +"\n" +" Add some privileges to this role:\n" +" ipa role-add-privilege --privileges=addusers junioradmin\n" +" ipa role-add-privilege --privileges=change_password junioradmin\n" +" ipa role-add-privilege --privileges=add_user_to_default_group juioradmin\n" +"\n" +" Add a group of users to this role:\n" +" ipa group-add --desc=\"User admins\" useradmins\n" +" ipa role-add-member --groups=useradmins junioradmin\n" +"\n" +" Display information about a role:\n" +" ipa role-show junioradmin\n" +"\n" +" The result of this is that any users in the group 'useradmins' can\n" +" add users, reset passwords or add a user to the default IPA user group.\n" +msgstr "" + +#: ipalib/plugins/role.py:62 +msgid "" +"\n" +" Role object.\n" +" " msgstr "" -#: ipalib/plugins/rolegroup.py:91 +#: ipalib/plugins/role.py:82 +msgid "Role" +msgstr "" + +#: ipalib/plugins/role.py:87 +msgid "Role name" +msgstr "" + +#: ipalib/plugins/role.py:94 msgid "A description of this role-group" msgstr "" -#: ipalib/plugins/rolegroup.py:102 -msgid "Member of task-groups" +#: ipalib/plugins/role.py:102 +msgid "" +"\n" +" Add a new role.\n" +" " msgstr "" -#: ipalib/plugins/rolegroup.py:115 -#, python-format -msgid "Added rolegroup \"%(value)s\"" +#: ipalib/plugins/role.py:106 +msgid "Added role \"%(value)s\"" msgstr "" -#: ipalib/plugins/rolegroup.py:125 -#, python-format -msgid "Deleted rolegroup \"%(value)s\"" +#: ipalib/plugins/role.py:112 +msgid "" +"\n" +" Delete a role.\n" +" " msgstr "" -#: ipalib/plugins/rolegroup.py:135 -#, python-format -msgid "Modified rolegroup \"%(value)s\"" +#: ipalib/plugins/role.py:116 +msgid "Deleted role \"%(value)s\"" msgstr "" -#: ipalib/plugins/rolegroup.py:146 -#, python-format -msgid "%(count)d rolegroup matched" -msgid_plural "%(count)d rolegroups matched" +#: ipalib/plugins/role.py:122 +msgid "" +"\n" +" Modify a role.\n" +" " +msgstr "" + +#: ipalib/plugins/role.py:126 +msgid "Modified role \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/role.py:132 +msgid "" +"\n" +" Search for roles.\n" +" " +msgstr "" + +#: ipalib/plugins/role.py:136 +msgid "%(count)d role matched" +msgid_plural "%(count)d roles matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/role.py:144 +msgid "" +"\n" +" Display information about a role.\n" +" " +msgstr "" + +#: ipalib/plugins/role.py:152 +msgid "" +"\n" +" Add members to a role.\n" +" " +msgstr "" + +#: ipalib/plugins/role.py:160 +msgid "" +"\n" +" Remove members from a role.\n" +" " +msgstr "" + +#: ipalib/plugins/role.py:168 +msgid "" +"\n" +" Add privileges to a role.\n" +" " +msgstr "" + +#: ipalib/plugins/role.py:184 +msgid "Number of privileges added" +msgstr "" + +#: ipalib/plugins/role.py:192 +msgid "" +"\n" +" Remove privileges from a role.\n" +" " +msgstr "" + +#: ipalib/plugins/role.py:208 +msgid "Number of privileges removed" +msgstr "" + +#: ipalib/plugins/selfservice.py:19 +msgid "" +"\n" +"Self-service Permissions\n" +"\n" +"A permission enables fine-grained delegation of permissions. Access Control\n" +"Rules, or instructions (ACIs), grant permission to permissions to perform\n" +"given tasks such as adding a user, modifying a group, etc.\n" +"\n" +"A Self-service permission defines what an object can change in its own " +"entry.\n" +"\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a self-service rule to allow users to manage their address:\n" +" ipa selfservice-add --permissions=write --attrs=street,postalCode,l,c,st " +"\"Users manage their own address\"\n" +"\n" +" When managing the list of attributes you need to include all attributes\n" +" in the list, including existing ones. Add telephoneNumber to the list:\n" +" ipa selfservice-mod --attrs=street,postalCode,l,c,st,telephoneNumber " +"\"Users manage their own address\"\n" +"\n" +" Display our updated rule:\n" +" ipa selfservice-show \"Users manage their own address\"\n" +"\n" +" Delete a rule:\n" +" ipa selfservice-del \"Users manage their own address\"\n" +msgstr "" + +#: ipalib/plugins/selfservice.py:56 +msgid "" +"\n" +" Determine if the ACI is a Self-service ACI and raise an exception if it\n" +" isn't.\n" +"\n" +" Return the result if it is a self-service ACI.\n" +" " +msgstr "" + +#: ipalib/plugins/selfservice.py:64 +msgid "Self-service permission '%(permission)s' not found" +msgstr "" + +#: ipalib/plugins/selfservice.py:68 +msgid "" +"\n" +" Selfservice object.\n" +" " +msgstr "" + +#: ipalib/plugins/selfservice.py:75 +msgid "Self Service Permissions" +msgstr "" + +#: ipalib/plugins/selfservice.py:80 ipalib/plugins/selfservice.py:81 +msgid "Self-service name" +msgstr "" + +#: ipalib/plugins/selfservice.py:114 +msgid "" +"\n" +" Add a new self-service permission.\n" +" " +msgstr "" + +#: ipalib/plugins/selfservice.py:118 +msgid "Added selfservice \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selfservice.py:137 +msgid "" +"\n" +" Delete a self-service permission.\n" +" " +msgstr "" + +#: ipalib/plugins/selfservice.py:142 +msgid "Deleted selfservice \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selfservice.py:158 +msgid "" +"\n" +" Modify a self-service permission.\n" +" " +msgstr "" + +#: ipalib/plugins/selfservice.py:162 +msgid "Modified selfservice \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selfservice.py:181 +msgid "" +"\n" +" Search for a self-service permission.\n" +" " +msgstr "" + +#: ipalib/plugins/selfservice.py:185 +msgid "%(count)d selfservice matched" +msgid_plural "%(count)d selfservices matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/service.py:198 +#: ipalib/plugins/selfservice.py:207 +msgid "" +"\n" +" Display information about a self-service permission.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:21 +msgid "" +"\n" +"Services\n" +"\n" +"A IPA service represents a service that runs on a host. The IPA service\n" +"record can store a Kerberos principal, an SSL certificate, or both.\n" +"\n" +"An IPA service can be managed directly from a machine, provided that\n" +"machine has been given the correct permission. This is true even for\n" +"machines other than the one the service is associated with. For example,\n" +"requesting an SSL certificate using the host service principal credentials\n" +"of the host. To manage a service using host credentials you need to\n" +"kinit as the host:\n" +"\n" +" # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n" +"\n" +"Adding an IPA service allows the associated service to request an SSL\n" +"certificate or keytab, but this is performed as a separate step; they\n" +"are not produced as a result of adding the service.\n" +"\n" +"Only the public aspect of a certificate is stored in a service record;\n" +"the private key is not stored.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new IPA service:\n" +" ipa service-add HTTP/web.example.com\n" +"\n" +" Allow a host to manage an IPA service certificate:\n" +" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n" +" ipa role-add-member --hosts=web.example.com certadmin\n" +"\n" +" Delete an IPA service:\n" +" ipa service-del HTTP/web.example.com\n" +"\n" +" Find all IPA services associated with a host:\n" +" ipa service-find web.example.com\n" +"\n" +" Find all HTTP services:\n" +" ipa service-find HTTP\n" +"\n" +" Disable the service Kerberos key and SSL certificate:\n" +" ipa service-disable HTTP/web.example.com\n" +"\n" +" Request a certificate for an IPA service:\n" +" ipa cert-request --principal=HTTP/web.example.com example.csr\n" +"\n" +" Generate and retrieve a keytab for an IPA service:\n" +" ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" +"httpd.keytab\n" +"\n" +msgstr "" + +#: ipalib/plugins/service.py:162 +msgid "" +"\n" +" For now just verify that it is properly base64-encoded.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:175 +msgid "" +"\n" +" Incoming certificates should be DER-encoded.\n" +"\n" +" Note that this can't be a normalizer on the Param because only unicode\n" +" variables are normalized.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:210 +msgid "" +"\n" +" Set individual attributes from some values from a certificate.\n" +"\n" +" entry_attrs is a dict of an entry\n" +"\n" +" returns nothing\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:234 +msgid "" +"\n" +" Determine if the file is writable. If the file doesn't exist then\n" +" open the file to test writability.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:243 +msgid "Permission denied: %(file)s" +msgstr "" + +#: ipalib/plugins/service.py:251 +msgid "" +"\n" +" Convert a raw base64-encoded blob into something that looks like a PE\n" +" file with lines split to 64 characters and proper headers.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:261 +msgid "" +"\n" +" Check to see if the certificate should be written to a file and do so.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:278 +msgid "" +"\n" +" Service object.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:305 msgid "Service principal" msgstr "" -#: ipalib/plugins/service.py:221 +#: ipalib/plugins/service.py:321 +msgid "" +"\n" +" Add a new IPA new service.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:324 +msgid "Added service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/service.py:330 msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/service.py:292 -#, python-format +#: ipalib/plugins/service.py:361 +msgid "" +"\n" +" Delete an IPA service.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:364 +msgid "Deleted service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/service.py:398 +msgid "" +"\n" +" Modify an existing IPA service.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:401 msgid "Modified service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:323 -#, python-format +#: ipalib/plugins/service.py:431 +msgid "" +"\n" +" Search for IPA services.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:434 msgid "%(count)d service matched" msgid_plural "%(count)d services matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/service.py:409 -msgid "Service principal has no kerberos key" +#: ipalib/plugins/service.py:469 +msgid "" +"\n" +" Display information about an IPA service.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:507 +msgid "" +"\n" +" Add hosts that can manage this service.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:517 +msgid "" +"\n" +" Remove hosts that can manage this service.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:527 +msgid "" +"\n" +" Disable the Kerberos key and SSL certificate of a service.\n" +" " +msgstr "" + +#: ipalib/plugins/service.py:531 +msgid "Disabled service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/sudocmd.py:19 +msgid "" +"\n" +"Sudo Commands\n" +"\n" +"Commands used as building blocks for sudo\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a new commnad\n" +" ipa sudocmd-add --desc='For reading log files' /usr/bin/less\n" +"\n" +" Remove a command\n" +" ipa sudocmd-del /usr/bin/less\n" +"\n" +msgstr "" + +#: ipalib/plugins/sudocmd.py:46 +msgid "" +"\n" +" Sudo Command object.\n" +" " msgstr "" -#: ipalib/plugins/sudocmd.py:60 -msgid "SudoCmds" +#: ipalib/plugins/sudocmd.py:64 +msgid "Sudo Commands" msgstr "" -#: ipalib/plugins/sudocmd.py:65 +#: ipalib/plugins/sudocmd.py:69 msgid "Sudo Command" msgstr "" -#: ipalib/plugins/sudocmd.py:72 +#: ipalib/plugins/sudocmd.py:75 msgid "A description of this command" msgstr "" -#: ipalib/plugins/sudocmd.py:99 -#, python-format +#: ipalib/plugins/sudocmd.py:98 +msgid "" +"\n" +" Create new sudo command.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmd.py:102 msgid "Added sudo command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmd.py:108 -#, python-format +#: ipalib/plugins/sudocmd.py:107 +msgid "" +"\n" +" Delete sudo command.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmd.py:111 msgid "Deleted sudo command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmd.py:117 -#, python-format +#: ipalib/plugins/sudocmd.py:116 +msgid "" +"\n" +" Modify command.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmd.py:120 msgid "Modified sudo command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmd.py:127 -#, python-format +#: ipalib/plugins/sudocmd.py:125 +msgid "" +"\n" +" Search for commands.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmd.py:129 msgid "%(count)d sudo command matched" msgid_plural "%(count)d sudo command matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudocmdgroup.py:66 ipalib/plugins/sudocmdgroup.py:85 -#: ipalib/plugins/sudorule.py:81 ipalib/plugins/sudorule.py:85 -msgid "Sudo Command Groups" +#: ipalib/plugins/sudocmd.py:136 +msgid "" +"\n" +" Display sudo command.\n" +" " msgstr "" -#: ipalib/plugins/sudocmdgroup.py:71 -msgid "Sudo Command Group name" +#: ipalib/plugins/sudocmdgroup.py:19 +msgid "" +"\n" +"Groups of Sudo commands\n" +"\n" +"Manage groups of Sudo commands.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new Sudo command group:\n" +" ipa sudocmdgroup-add --desc='administrators commands' admincmds\n" +"\n" +" Remove a Sudo command group:\n" +" ipa sudocmdgroup-del admincmds\n" +"\n" +" Manage Sudo command group membership, commands:\n" +" ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less,/usr/bin/vim " +"admincmds\n" +"\n" +" Manage Sudo command group membership, commands:\n" +" ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" +"\n" +" Show a Sudo command group:\n" +" ipa group-show localadmins\n" +msgstr "" + +#: ipalib/plugins/sudocmdgroup.py:50 +msgid "" +"\n" +" Sudo Group object.\n" +" " msgstr "" -#: ipalib/plugins/sudocmdgroup.py:81 -msgid "Commands" +#: ipalib/plugins/sudocmdgroup.py:70 +msgid "Sudo Command Group" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:98 -#, python-format +#: ipalib/plugins/sudocmdgroup.py:93 +msgid "" +"\n" +" Create new sudo command group.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmdgroup.py:97 msgid "Added sudo command group \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:108 -#, python-format +#: ipalib/plugins/sudocmdgroup.py:103 +msgid "" +"\n" +" Delete sudo command group.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmdgroup.py:107 msgid "Deleted sudo command group \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:118 -#, python-format +#: ipalib/plugins/sudocmdgroup.py:113 +msgid "" +"\n" +" Modify group.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmdgroup.py:117 msgid "Modified sudo command group \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:129 -#, python-format +#: ipalib/plugins/sudocmdgroup.py:123 +msgid "" +"\n" +" Search for sudo command groups.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmdgroup.py:127 msgid "%(count)d sudo command group matched" msgid_plural "%(count)d sudo command groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudorule.py:48 -msgid "SudoRule" +#: ipalib/plugins/sudocmdgroup.py:136 +msgid "" +"\n" +" Display sudo command group.\n" +" " +msgstr "" + +#: ipalib/plugins/sudocmdgroup.py:144 +msgid "" +"\n" +" Add members to sudo command group.\n" +" " msgstr "" -#: ipalib/plugins/sudorule.py:73 +#: ipalib/plugins/sudocmdgroup.py:152 +msgid "" +"\n" +" Remove members from sudo command group.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:19 +msgid "" +"\n" +"Sudo (su \"do\") allows a system administrator to delegate authority to\n" +"give certain users (or groups of users) the ability to run some (or all)\n" +"commands as root or another user while providing an audit trail of the\n" +"commands and their arguments.\n" +"\n" +"FreeIPA provides a designated binddn to use with Sudo located at:\n" +"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" +"\n" +"To enable the binddn run the following command to set the password:\n" +"LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -" +"ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," +"dc=com\n" +"\n" +"For more information, see the FreeIPA Documentation to Sudo.\n" +msgstr "" + +#: ipalib/plugins/sudorule.py:44 +msgid "" +"\n" +" Sudo Rule management\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:98 +msgid "Command category" +msgstr "" + +#: ipalib/plugins/sudorule.py:99 +msgid "Command category the rule applies to" +msgstr "" + +#: ipalib/plugins/sudorule.py:104 +msgid "Run As User category" +msgstr "" + +#: ipalib/plugins/sudorule.py:105 +msgid "Run As User category the rule applies to" +msgstr "" + +#: ipalib/plugins/sudorule.py:110 +msgid "Run As Group category" +msgstr "" + +#: ipalib/plugins/sudorule.py:111 +msgid "Run As Group category the rule applies to" +msgstr "" + +#: ipalib/plugins/sudorule.py:131 msgid "Sudo Allow Commands" msgstr "" -#: ipalib/plugins/sudorule.py:77 +#: ipalib/plugins/sudorule.py:135 msgid "Sudo Deny Commands" msgstr "" -#: ipalib/plugins/sudorule.py:109 -#, python-format +#: ipalib/plugins/sudorule.py:147 +msgid "Run As User" +msgstr "" + +#: ipalib/plugins/sudorule.py:151 +msgid "Run As Group" +msgstr "" + +#: ipalib/plugins/sudorule.py:156 +msgid "External User" +msgstr "" + +#: ipalib/plugins/sudorule.py:157 +msgid "External User the rule applies to" +msgstr "" + +#: ipalib/plugins/sudorule.py:161 +msgid "RunAs External User" +msgstr "" + +#: ipalib/plugins/sudorule.py:162 +msgid "External User the commands can run as" +msgstr "" + +#: ipalib/plugins/sudorule.py:166 +msgid "RunAs External Group" +msgstr "" + +#: ipalib/plugins/sudorule.py:167 +msgid "External Group the commands can run as" +msgstr "" + +#: ipalib/plugins/sudorule.py:175 +msgid "" +"\n" +" Create new Sudo Rule.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:183 msgid "Added sudo rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/taskgroup.py:51 -msgid "Task Groups" +#: ipalib/plugins/sudorule.py:189 +msgid "" +"\n" +" Delete Sudo Rule.\n" +" " msgstr "" -#: ipalib/plugins/taskgroup.py:56 -msgid "Task-group name" +#: ipalib/plugins/sudorule.py:197 +msgid "" +"\n" +" Modify Sudo Rule.\n" +" " msgstr "" -#: ipalib/plugins/taskgroup.py:63 -msgid "Task-group description" +#: ipalib/plugins/sudorule.py:205 +msgid "" +"\n" +" Search for Sudo Rule.\n" +" " msgstr "" -#: ipalib/plugins/taskgroup.py:74 -msgid "Member role-groups" +#: ipalib/plugins/sudorule.py:213 +msgid "" +"\n" +" Dispaly Sudo Rule.\n" +" " msgstr "" -#: ipalib/plugins/taskgroup.py:87 -#, python-format -msgid "Added taskgroup \"%(value)s\"" +#: ipalib/plugins/sudorule.py:221 +msgid "" +"\n" +" Enable a Sudo rule.\n" +" " msgstr "" -#: ipalib/plugins/taskgroup.py:97 -#, python-format -msgid "Deleted taskgroup \"%(value)s\"" +#: ipalib/plugins/sudorule.py:247 +msgid "" +"\n" +" Disable a Sudo rule.\n" +" " msgstr "" -#: ipalib/plugins/taskgroup.py:107 -#, python-format -msgid "Modified taskgroup \"%(value)s\"" +#: ipalib/plugins/sudorule.py:273 ipalib/plugins/sudorule.py:293 +msgid "" +"\n" +" Add commands and sudo command groups affected by Sudo Rule.\n" +" " msgstr "" -#: ipalib/plugins/taskgroup.py:118 -#, python-format -msgid "%(count)d taskgroup matched" -msgid_plural "%(count)d taskgroups matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/sudorule.py:283 ipalib/plugins/sudorule.py:303 +msgid "" +"\n" +" Remove commands and sudo command groups affected by Sudo Rule.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:313 +msgid "" +"\n" +" Add users and groups affected by Sudo Rule.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:349 +msgid "" +"\n" +" Remove users and groups affected by Sudo Rule.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:383 +msgid "" +"\n" +" Add hosts and hostgroups affected by Sudo Rule.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:419 +msgid "" +"\n" +" Remove hosts and hostgroups affected by Sudo Rule.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:453 +msgid "" +"\n" +" Add user for Sudo to execute as.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:489 +msgid "" +"\n" +" Remove user for Sudo to execute as.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:523 +msgid "" +"\n" +" Add group for Sudo to execute as.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:559 +msgid "" +"\n" +" Remove group for Sudo to execute as.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:593 +msgid "" +"\n" +" Add an option to the Sudo rule.\n" +" " +msgstr "" + +#: ipalib/plugins/sudorule.py:600 ipalib/plugins/sudorule.py:641 +msgid "Sudo Option" +msgstr "" + +#: ipalib/plugins/sudorule.py:635 +msgid "" +"\n" +" Remove an option from Sudo rule.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:20 +msgid "" +"\n" +"Users\n" +"\n" +"Manage user entries. All users are POSIX users.\n" +"\n" +"IPA supports a wide range of username formats, but you need to be aware of " +"any\n" +"restrictions that may apply to your particular environment. For example,\n" +"usernames that start with a digit or usernames that exceed a certain length\n" +"may cause problems for some UNIX systems.\n" +"Use 'ipa config-mod' to change the username format allowed by IPA tools.\n" +"\n" +"Disabling a user account prevents that user from obtaining new Kerberos\n" +"credentials. It does not invalidate any credentials that have already\n" +"been issued.\n" +"\n" +"Password management is not a part of this module. For more information\n" +"about this topic please see: ipa help passwd\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new user:\n" +" ipa user-add --first=Tim --last=User --password tuser1\n" +"\n" +" Find all users whose entries include the string \"Tim\":\n" +" ipa user-find Tim\n" +"\n" +" Find all users with \"Tim\" as the first name:\n" +" ipa user-find --first=Tim\n" +"\n" +" Disable a user account:\n" +" ipa user-disable tuser1\n" +"\n" +" Enable a user account:\n" +" ipa user-enable tuser1\n" +"\n" +" Delete a user:\n" +" ipa user-del tuser1\n" +msgstr "" + +#: ipalib/plugins/user.py:74 +msgid "" +"\n" +" User object.\n" +" " +msgstr "" -#: ipalib/plugins/user.py:84 +#: ipalib/plugins/user.py:105 msgid "User login" msgstr "" -#: ipalib/plugins/user.py:91 +#: ipalib/plugins/user.py:112 msgid "First name" msgstr "" -#: ipalib/plugins/user.py:95 +#: ipalib/plugins/user.py:116 msgid "Last name" msgstr "" -#: ipalib/plugins/user.py:103 +#: ipalib/plugins/user.py:119 +msgid "Full name" +msgstr "" + +#: ipalib/plugins/user.py:124 +msgid "Display name" +msgstr "" + +#: ipalib/plugins/user.py:129 +msgid "Initials" +msgstr "" + +#: ipalib/plugins/user.py:135 +msgid "Home directory" +msgstr "" + +#: ipalib/plugins/user.py:139 msgid "GECOS field" msgstr "" -#: ipalib/plugins/user.py:109 +#: ipalib/plugins/user.py:145 msgid "Login shell" msgstr "" -#: ipalib/plugins/user.py:114 +#: ipalib/plugins/user.py:150 msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:120 +#: ipalib/plugins/user.py:157 msgid "Email address" msgstr "" -#: ipalib/plugins/user.py:124 -msgid "Password" -msgstr "" - -#: ipalib/plugins/user.py:125 -msgid "Set the user password" +#: ipalib/plugins/user.py:162 +msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/user.py:132 +#: ipalib/plugins/user.py:169 msgid "UID" msgstr "" -#: ipalib/plugins/user.py:133 +#: ipalib/plugins/user.py:170 msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/user.py:139 -msgid "Street address" +#: ipalib/plugins/user.py:177 +msgid "Group ID Number" msgstr "" -#: ipalib/plugins/user.py:142 -msgid "Groups" +#: ipalib/plugins/user.py:182 +msgid "Street address" msgstr "" -#: ipalib/plugins/user.py:146 -msgid "Netgroups" +#: ipalib/plugins/user.py:186 +msgid "City" msgstr "" -#: ipalib/plugins/user.py:150 -msgid "Rolegroups" +#: ipalib/plugins/user.py:190 +msgid "State/Province" msgstr "" -#: ipalib/plugins/user.py:154 -msgid "Taskgroups" +#: ipalib/plugins/user.py:193 +msgid "ZIP" msgstr "" -#: ipalib/plugins/user.py:159 +#: ipalib/plugins/user.py:197 msgid "Telephone Number" msgstr "" -#: ipalib/plugins/user.py:161 +#: ipalib/plugins/user.py:200 msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/user.py:163 +#: ipalib/plugins/user.py:203 msgid "Pager Number" msgstr "" -#: ipalib/plugins/user.py:166 +#: ipalib/plugins/user.py:207 msgid "Fax Number" msgstr "" -#: ipalib/plugins/user.py:177 -#, python-format +#: ipalib/plugins/user.py:211 +msgid "Org. Unit" +msgstr "" + +#: ipalib/plugins/user.py:214 +msgid "Job Title" +msgstr "" + +#: ipalib/plugins/user.py:217 +msgid "Manager" +msgstr "" + +#: ipalib/plugins/user.py:220 +msgid "Car License" +msgstr "" + +#: ipalib/plugins/user.py:223 +msgid "Account disabled" +msgstr "" + +#: ipalib/plugins/user.py:250 +msgid "" +"\n" +" Add a new user.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:254 msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:226 -#, python-format +#: ipalib/plugins/user.py:275 +msgid "can be at most %(len)d characters" +msgstr "" + +#: ipalib/plugins/user.py:324 +msgid "" +"\n" +" Delete a user.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:328 msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:240 -#, python-format +#: ipalib/plugins/user.py:337 +msgid "" +"\n" +" Modify a user.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:341 msgid "Modified user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:252 +#: ipalib/plugins/user.py:358 +msgid "" +"\n" +" Search for users.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:365 msgid "Self" msgstr "" -#: ipalib/plugins/user.py:253 +#: ipalib/plugins/user.py:366 msgid "Display user record for current Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:263 -#, python-format +#: ipalib/plugins/user.py:383 msgid "%(count)d user matched" msgid_plural "%(count)d users matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/user.py:283 -#, python-format +#: ipalib/plugins/user.py:391 +msgid "" +"\n" +" Display information about a user.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:403 +msgid "" +"\n" +" Disable a user account.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:408 msgid "Disabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:309 -#, python-format +#: ipalib/plugins/user.py:426 +msgid "" +"\n" +" Enable a user account.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:431 msgid "Enabled user account \"%(value)s\"" msgstr "" -#: ipaserver/install/certs.py:599 ipaserver/plugins/dogtag.py:1313 -#: ipaserver/plugins/dogtag.py:1398 ipaserver/plugins/dogtag.py:1463 -#: ipaserver/plugins/dogtag.py:1543 ipaserver/plugins/dogtag.py:1602 +#: ipalib/plugins/user.py:448 +msgid "" +"\n" +" Unlock a user account\n" +"\n" +" An account may become locked if the password is entered incorrectly too\n" +" many times within a specific time period as controlled by password\n" +" policy. A locked account is a temporary condition and may be unlocked " +"by\n" +" an administrator.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:457 +msgid "Unlocked account \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/virtual.py:20 +msgid "" +"\n" +"Base classes for non-LDAP backend plugins.\n" +msgstr "" + +#: ipalib/plugins/virtual.py:28 +msgid "" +"\n" +" A command that doesn't use the LDAP backend but wants to use the\n" +" LDAP access control system to make authorization decisions.\n" +"\n" +" The class variable operation is the commonName attribute of the\n" +" entry to be tested against.\n" +"\n" +" In advance, you need to create an entry of the form:\n" +" cn=<operation>, api.env.container_virtual, api.env.basedn\n" +"\n" +" Ex.\n" +" cn=request certificate, cn=virtual operations,cn=etc, dc=example, " +"dc=com\n" +" " +msgstr "" + +#: ipalib/plugins/virtual.py:44 +msgid "" +"\n" +" Perform an LDAP query to determine authorization.\n" +"\n" +" This should be executed before any actual work is done.\n" +" " +msgstr "" + +#: ipalib/plugins/xmlclient.py:21 +msgid "" +"\n" +"XML-RPC client plugin.\n" +msgstr "" + +#: ipalib/cli.py:539 +#, python-format +msgid "Enter %(label)s again to verify: " +msgstr "" + +#: ipalib/cli.py:543 ipa-client/ipa-getkeytab.c:751 +#, c-format +msgid "Passwords do not match!" +msgstr "" + +#: ipalib/cli.py:548 +msgid "Cancelled." +msgstr "" + +#: ipalib/cli.py:777 +msgid "Command name" +msgstr "" + +#: ipalib/cli.py:1066 +msgid "No file to read" +msgstr "" + +#: ipalib/errors.py:297 +#, python-format +msgid "%(cver)s client incompatible with %(sver)s server at %(server)r" +msgstr "" + +#: ipalib/errors.py:315 +#, python-format +msgid "unknown error %(code)d from %(server)s: %(error)s" +msgstr "" + +#: ipalib/errors.py:331 +msgid "an internal error has occurred" +msgstr "" + +#: ipalib/errors.py:353 +#, python-format +msgid "an internal error has occurred on server at %(server)r" +msgstr "" + +#: ipalib/errors.py:369 +#, python-format +msgid "unknown command %(name)r" +msgstr "" + +#: ipalib/errors.py:386 ipalib/errors.py:411 +#, python-format +msgid "error on server %(server)r: %(error)s" +msgstr "" + +#: ipalib/errors.py:402 +#, python-format +msgid "cannot connect to %(uri)r: %(error)s" +msgstr "" + +#: ipalib/errors.py:420 +#, python-format +msgid "Invalid JSON-RPC request: %(error)s" +msgstr "" + +#: ipalib/errors.py:436 +#, python-format +msgid "error marshalling data for XML-RPC transport: %(error)s" +msgstr "" + +#: ipalib/errors.py:462 +#, python-format +msgid "Kerberos error: %(major)s/%(minor)s" +msgstr "" + +#: ipalib/errors.py:479 +msgid "did not receive Kerberos credentials" +msgstr "" + +#: ipalib/errors.py:495 +#, python-format +msgid "Service %(service)r not found in Kerberos database" +msgstr "" + +#: ipalib/errors.py:511 +msgid "No credentials cache found" +msgstr "" + +#: ipalib/errors.py:527 +msgid "Ticket expired" +msgstr "" + +#: ipalib/errors.py:543 +msgid "Credentials cache permissions incorrect" +msgstr "" + +#: ipalib/errors.py:559 +msgid "Bad format in credentials cache" +msgstr "" + +#: ipalib/errors.py:575 +msgid "Cannot resolve KDC for requested realm" +msgstr "" + +#: ipalib/errors.py:594 +#, python-format +msgid "Insufficient access: %(info)s" +msgstr "" + +#: ipalib/errors.py:638 +#, python-format +msgid "command %(name)r takes no arguments" +msgstr "" + +#: ipalib/errors.py:658 +#, python-format +msgid "command %(name)r takes at most %(count)d argument" +msgid_plural "command %(name)r takes at most %(count)d arguments" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/errors.py:688 +#, python-format +msgid "overlapping arguments and options: %(names)r" +msgstr "" + +#: ipalib/errors.py:704 +#, python-format +msgid "%(name)r is required" +msgstr "" + +#: ipalib/errors.py:720 ipalib/errors.py:736 +#, python-format +msgid "invalid %(name)r: %(error)s" +msgstr "" + +#: ipalib/errors.py:752 +#, python-format +msgid "api has no such namespace: %(name)r" +msgstr "" + +#: ipalib/errors.py:761 +msgid "Passwords do not match" +msgstr "" + +#: ipalib/errors.py:770 +msgid "Command not implemented" +msgstr "" + +#: ipalib/errors.py:779 +msgid "Client is not configured. Run ipa-client-install." +msgstr "" + +#: ipalib/errors.py:807 ipalib/errors.py:1047 ipalib/errors.py:1141 +#: ipalib/errors.py:1421 ipalib/errors.py:1438 +#, python-format +msgid "%(reason)s" +msgstr "" + +#: ipalib/errors.py:823 +msgid "This entry already exists" +msgstr "" + +#: ipalib/errors.py:839 +msgid "You must enroll a host in order to create a host service" +msgstr "" + +#: ipalib/errors.py:855 +#, python-format +msgid "" +"Service principal is not of the form: service/fully-qualified host name: " +"%(reason)s" +msgstr "" + +#: ipalib/errors.py:871 +msgid "" +"The realm for the principal does not match the realm for this IPA server" +msgstr "" + +#: ipalib/errors.py:887 +msgid "This command requires root access" +msgstr "" + +#: ipalib/errors.py:903 +msgid "This is already a posix group" +msgstr "" + +#: ipalib/errors.py:919 +#, python-format +msgid "Principal is not of the form user@REALM: %(principal)r" +msgstr "" + +#: ipalib/errors.py:935 +msgid "This entry is already enabled" +msgstr "" + +#: ipalib/errors.py:951 +msgid "This entry is already disabled" +msgstr "" + +#: ipalib/errors.py:967 +msgid "This entry cannot be enabled or disabled" +msgstr "" + +#: ipalib/errors.py:983 +msgid "This entry is not a member" +msgstr "" + +#: ipalib/errors.py:999 +msgid "A group may not be a member of itself" +msgstr "" + +#: ipalib/errors.py:1015 +msgid "This entry is already a member" +msgstr "" + +#: ipalib/errors.py:1031 +#, python-format +msgid "Base64 decoding failed: %(reason)s" +msgstr "" + +#: ipalib/errors.py:1063 +msgid "A group may not be added as a member of itself" +msgstr "" + +#: ipalib/errors.py:1079 +msgid "The default users group cannot be removed" +msgstr "" + +#: ipalib/errors.py:1095 +msgid "Host does not have corresponding DNS A record" +msgstr "" + +#: ipalib/errors.py:1110 +msgid "Deleting a managed group is not allowed. It must be detached first." +msgstr "" + +#: ipalib/errors.py:1125 +msgid "A managed group cannot have a password policy." +msgstr "" + +#: ipalib/errors.py:1157 +#, python-format +msgid "'%(entry)s' doesn't have a certificate." +msgstr "" + +#: ipalib/errors.py:1173 +#, python-format +msgid "Unable to create private group. A group '%(group)s' already exists." +msgstr "" + +#: ipalib/errors.py:1189 +#, python-format +msgid "" +"A problem was encountered when verifying that all members were %(verb)s: " +"%(exc)s" +msgstr "" + +#: ipalib/errors.py:1213 +#, python-format +msgid "no command nor help topic %(topic)r" +msgstr "" + +#: ipalib/errors.py:1237 +msgid "change collided with another change" +msgstr "" + +#: ipalib/errors.py:1253 +msgid "no modifications to be performed" +msgstr "" + +#: ipalib/errors.py:1269 +#, python-format +msgid "%(desc)s: %(info)s" +msgstr "" + +#: ipalib/errors.py:1285 +msgid "limits exceeded for this query" +msgstr "" + +#: ipalib/errors.py:1300 +#, python-format +msgid "%(info)s" +msgstr "" + +#: ipalib/errors.py:1315 +msgid "modifying primary key is not allowed" +msgstr "" + +#: ipalib/errors.py:1331 +#, python-format +msgid "%(attr)s: Only one value allowed." +msgstr "" + +#: ipalib/errors.py:1347 +#, python-format +msgid "%(attr)s: Invalid syntax." +msgstr "" + +#: ipalib/errors.py:1363 +#, python-format +msgid "Bad search filter %(info)s" +msgstr "" + +#: ipalib/errors.py:1388 +#, python-format +msgid "Certificate operation cannot be completed: %(error)s" +msgstr "" + +#: ipalib/errors.py:1404 +#, python-format +msgid "Certificate format error: %(error)s" +msgstr "" + +#: ipalib/errors.py:1455 +msgid "Already registered" +msgstr "" + +#: ipalib/errors.py:1471 +msgid "Not registered yet" +msgstr "" + +#: ipalib/frontend.py:399 +msgid "Results are truncated, try a more specific search" +msgstr "" + +#: ipalib/frontend.py:851 +msgid "" +"Retrieve and print all attributes from the server. Affects command output." +msgstr "" + +#: ipalib/frontend.py:857 +msgid "Print entries as stored on the server. Only affects output format." +msgstr "" + +#: ipalib/frontend.py:986 +msgid "Forward to server instead of running locally" +msgstr "" + +#: ipalib/output.py:92 +msgid "A dictionary representing an LDAP entry" +msgstr "" + +#: ipalib/output.py:100 +msgid "A list of LDAP entries" +msgstr "" + +#: ipalib/output.py:111 +msgid "All commands should at least have a result" +msgstr "" + +#: ipalib/parameters.py:296 +msgid "incorrect type" +msgstr "" + +#: ipalib/parameters.py:299 +msgid "Only one value is allowed" +msgstr "" + +#: ipalib/parameters.py:901 +msgid "must be True or False" +msgstr "" + +#: ipalib/parameters.py:1002 +msgid "must be an integer" +msgstr "" + +#: ipalib/parameters.py:1053 +#, python-format +msgid "must be at least %(minvalue)d" +msgstr "" + +#: ipalib/parameters.py:1063 +#, python-format +msgid "can be at most %(maxvalue)d" +msgstr "" + +#: ipalib/parameters.py:1073 +msgid "must be a decimal number" +msgstr "" + +#: ipalib/parameters.py:1095 +#, python-format +msgid "must be at least %(minvalue)f" +msgstr "" + +#: ipalib/parameters.py:1105 +#, python-format +msgid "can be at most %(maxvalue)f" +msgstr "" + +#: ipalib/parameters.py:1169 +#, python-format +msgid "must match pattern \"%(pattern)s\"" +msgstr "" + +#: ipalib/parameters.py:1187 +msgid "must be binary data" +msgstr "" + +#: ipalib/parameters.py:1203 +#, python-format +msgid "must be at least %(minlength)d bytes" +msgstr "" + +#: ipalib/parameters.py:1213 +#, python-format +msgid "can be at most %(maxlength)d bytes" +msgstr "" + +#: ipalib/parameters.py:1223 +#, python-format +msgid "must be exactly %(length)d bytes" +msgstr "" + +#: ipalib/parameters.py:1241 +msgid "must be Unicode text" +msgstr "" + +#: ipalib/parameters.py:1272 +#, python-format +msgid "must be at least %(minlength)d characters" +msgstr "" + +#: ipalib/parameters.py:1282 +#, python-format +msgid "can be at most %(maxlength)d characters" +msgstr "" + +#: ipalib/parameters.py:1292 +#, python-format +msgid "must be exactly %(length)d characters" +msgstr "" + +#: ipalib/parameters.py:1310 +#, python-format +msgid "The character '%(char)r' is not allowed." +msgstr "" + +#: ipalib/parameters.py:1350 +#, python-format +msgid "must be one of %(values)r" +msgstr "" + +#: ipaserver/plugins/dogtag.py:1313 ipaserver/plugins/dogtag.py:1398 +#: ipaserver/plugins/dogtag.py:1463 ipaserver/plugins/dogtag.py:1541 +#: ipaserver/plugins/dogtag.py:1600 #, python-format msgid "Unable to communicate with CMS (%s)" msgstr "" @@ -1995,27 +7106,27 @@ msgstr "" msgid "Operating System and version of the host (e.g. Fedora 9)" msgstr "" -#: ipaserver/plugins/selfsign.py:98 +#: ipaserver/plugins/selfsign.py:99 #, python-format msgid "" "Request subject \"%(request_subject)s\" does not match the form " "\"%(subject_base)s\"" msgstr "" -#: ipaserver/plugins/selfsign.py:103 +#: ipaserver/plugins/selfsign.py:104 #, python-format msgid "unable to decode csr: %s" msgstr "" -#: ipaserver/plugins/selfsign.py:124 ipaserver/plugins/selfsign.py:139 +#: ipaserver/plugins/selfsign.py:125 ipaserver/plugins/selfsign.py:140 msgid "file operation" msgstr "" -#: ipaserver/plugins/selfsign.py:153 +#: ipaserver/plugins/selfsign.py:154 msgid "cannot obtain next serial number" msgstr "" -#: ipaserver/plugins/selfsign.py:188 +#: ipaserver/plugins/selfsign.py:189 msgid "certutil failure" msgstr "" @@ -2034,579 +7145,604 @@ msgstr "" msgid "read error\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:138 ipa-client/ipa-getkeytab.c:838 +#: ipa-client/ipa-getkeytab.c:85 ipa-client/ipa-getkeytab.c:821 +#: ipa-client/ipa-rmkeytab.c:182 +#, c-format +msgid "Kerberos context initialization failed\n" +msgstr "" + +#: ipa-client/ipa-getkeytab.c:147 ipa-client/ipa-getkeytab.c:834 #, c-format msgid "No system preferred enctypes ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:146 +#: ipa-client/ipa-getkeytab.c:155 #, c-format msgid "Out of memory!?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:164 ipa-client/ipa-getkeytab.c:179 +#: ipa-client/ipa-getkeytab.c:173 ipa-client/ipa-getkeytab.c:188 #, c-format msgid "Out of memory\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:194 +#: ipa-client/ipa-getkeytab.c:203 #, c-format msgid "Warning unrecognized encryption type: [%s]\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:209 +#: ipa-client/ipa-getkeytab.c:218 #, c-format msgid "Warning unrecognized salt type: [%s]\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:235 +#: ipa-client/ipa-getkeytab.c:245 #, c-format msgid "Enctype comparison failed!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:297 +#: ipa-client/ipa-getkeytab.c:307 #, c-format msgid "Failed to create random key!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:310 ipa-client/ipa-getkeytab.c:327 -#: ipa-client/ipa-getkeytab.c:335 ipa-client/ipa-getkeytab.c:372 +#: ipa-client/ipa-getkeytab.c:320 ipa-client/ipa-getkeytab.c:337 +#: ipa-client/ipa-getkeytab.c:345 ipa-client/ipa-getkeytab.c:382 #, c-format msgid "Failed to create key!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:317 ipa-client/ipa-getkeytab.c:350 +#: ipa-client/ipa-getkeytab.c:327 ipa-client/ipa-getkeytab.c:360 +#: ipa-client/ipa-join.c:413 ipa-client/ipa-join.c:422 +#: ipa-client/ipa-join.c:559 ipa-client/ipa-join.c:747 +#: ipa-client/ipa-join.c:815 #, c-format msgid "Out of memory!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:361 +#: ipa-client/ipa-getkeytab.c:371 #, c-format msgid "Bad or unsupported salt type (%d)!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:481 +#: ipa-client/ipa-getkeytab.c:492 #, c-format msgid "No keys accepted by KDC\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:496 +#: ipa-client/ipa-getkeytab.c:507 #, c-format msgid "Out of memory \n" msgstr "" -#: ipa-client/ipa-getkeytab.c:534 +#: ipa-client/ipa-getkeytab.c:545 #, c-format msgid "Out of Memory!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:541 +#: ipa-client/ipa-getkeytab.c:552 #, c-format msgid "Failed to create control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:565 +#: ipa-client/ipa-getkeytab.c:576 #, c-format msgid "Unable to initialize ldap library!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:572 +#: ipa-client/ipa-getkeytab.c:583 #, c-format msgid "Unable to set ldap options!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:579 +#: ipa-client/ipa-getkeytab.c:596 #, c-format msgid "Simple bind failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:589 +#: ipa-client/ipa-getkeytab.c:606 #, c-format msgid "SASL Bind failed!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:605 ipa-client/ipa-getkeytab.c:618 -#: ipa-client/ipa-getkeytab.c:625 ipa-client/ipa-getkeytab.c:632 +#: ipa-client/ipa-getkeytab.c:622 ipa-client/ipa-getkeytab.c:635 +#: ipa-client/ipa-getkeytab.c:642 ipa-client/ipa-getkeytab.c:649 #, c-format msgid "Operation failed! %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:638 ipa-client/ipa-getkeytab.c:648 +#: ipa-client/ipa-getkeytab.c:655 ipa-client/ipa-getkeytab.c:665 #, c-format msgid "Missing reply control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:655 +#: ipa-client/ipa-getkeytab.c:672 #, c-format msgid "ber_init() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:674 +#: ipa-client/ipa-getkeytab.c:691 ipa-client/ipa-getkeytab.c:698 #, c-format msgid "ber_scanf() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:715 +#: ipa-client/ipa-getkeytab.c:736 msgid "New Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:721 +#: ipa-client/ipa-getkeytab.c:742 msgid "Verify Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:779 ipa-client/ipa-join.c:965 +#: ipa-client/ipa-getkeytab.c:776 msgid "Print as little as possible" msgstr "" -#: ipa-client/ipa-getkeytab.c:779 ipa-client/ipa-join.c:965 +#: ipa-client/ipa-getkeytab.c:776 msgid "Output only on errors" msgstr "" -#: ipa-client/ipa-getkeytab.c:781 +#: ipa-client/ipa-getkeytab.c:778 msgid "Contact this specific KDC Server" msgstr "" -#: ipa-client/ipa-getkeytab.c:782 +#: ipa-client/ipa-getkeytab.c:779 msgid "Server Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:784 ipa-client/ipa-rmkeytab.c:188 +#: ipa-client/ipa-getkeytab.c:781 ipa-client/ipa-rmkeytab.c:163 msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -#: ipa-client/ipa-getkeytab.c:785 ipa-client/ipa-rmkeytab.c:189 +#: ipa-client/ipa-getkeytab.c:782 ipa-client/ipa-rmkeytab.c:164 msgid "Kerberos Service Principal Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:787 ipa-client/ipa-join.c:973 -#: ipa-client/ipa-rmkeytab.c:191 +#: ipa-client/ipa-getkeytab.c:784 ipa-client/ipa-rmkeytab.c:166 msgid "File were to store the keytab information" msgstr "" -#: ipa-client/ipa-getkeytab.c:788 ipa-client/ipa-join.c:973 -#: ipa-client/ipa-rmkeytab.c:191 +#: ipa-client/ipa-getkeytab.c:785 ipa-client/ipa-rmkeytab.c:166 msgid "Keytab File Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:790 +#: ipa-client/ipa-getkeytab.c:787 msgid "Encryption types to request" msgstr "" -#: ipa-client/ipa-getkeytab.c:791 +#: ipa-client/ipa-getkeytab.c:788 msgid "Comma separated encryption types list" msgstr "" -#: ipa-client/ipa-getkeytab.c:793 +#: ipa-client/ipa-getkeytab.c:790 msgid "Show the list of permitted encryption types and exit" msgstr "" -#: ipa-client/ipa-getkeytab.c:794 +#: ipa-client/ipa-getkeytab.c:791 msgid "Permitted Encryption Types" msgstr "" -#: ipa-client/ipa-getkeytab.c:796 +#: ipa-client/ipa-getkeytab.c:793 msgid "Asks for a non-random password to use for the principal" msgstr "" -#: ipa-client/ipa-getkeytab.c:798 +#: ipa-client/ipa-getkeytab.c:795 msgid "LDAP DN" msgstr "" -#: ipa-client/ipa-getkeytab.c:798 +#: ipa-client/ipa-getkeytab.c:795 msgid "DN to bind as if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:800 ipa-client/ipa-join.c:975 +#: ipa-client/ipa-getkeytab.c:797 msgid "LDAP password" msgstr "" -#: ipa-client/ipa-getkeytab.c:800 ipa-client/ipa-join.c:975 +#: ipa-client/ipa-getkeytab.c:797 msgid "password to use if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:825 ipa-client/ipa-rmkeytab.c:207 -#, c-format -msgid "Kerberos context initialization failed\n" -msgstr "" - -#: ipa-client/ipa-getkeytab.c:841 +#: ipa-client/ipa-getkeytab.c:837 #, c-format msgid "Supported encryption types:\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:845 +#: ipa-client/ipa-getkeytab.c:841 #, c-format msgid "Warning: failed to convert type (#%d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:864 +#: ipa-client/ipa-getkeytab.c:860 #, c-format msgid "Bind password required when using a bind DN.\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:877 +#: ipa-client/ipa-getkeytab.c:873 #, c-format msgid "" "Warning: salt types are not honored with randomized passwords (see opt. -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:889 +#: ipa-client/ipa-getkeytab.c:885 #, c-format msgid "Invalid Service Principal Name\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:897 +#: ipa-client/ipa-getkeytab.c:893 #, c-format msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:905 +#: ipa-client/ipa-getkeytab.c:901 #, c-format msgid "" "Kerberos User Principal not found. Do you have a valid Credential Cache?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:913 +#: ipa-client/ipa-getkeytab.c:909 #, c-format msgid "Failed to open Keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:920 +#: ipa-client/ipa-getkeytab.c:916 #, c-format msgid "Failed to create key material\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:939 +#: ipa-client/ipa-getkeytab.c:935 #, c-format msgid "Failed to add key to the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:948 +#: ipa-client/ipa-getkeytab.c:944 #, c-format msgid "Failed to close the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:954 +#: ipa-client/ipa-getkeytab.c:950 #, c-format msgid "Keytab successfully retrieved and stored in: %s\n" msgstr "" -#: ipa-client/ipa-join.c:67 +#: ipa-client/ipa-join.c:65 #, c-format msgid "No permission to join this host to the IPA domain.\n" msgstr "" -#: ipa-client/ipa-join.c:104 ipa-client/ipa-join.c:116 +#: ipa-client/ipa-join.c:94 ipa-client/ipa-join.c:106 #, c-format msgid "No write permissions on keytab file '%s'\n" msgstr "" -#: ipa-client/ipa-join.c:121 +#: ipa-client/ipa-join.c:111 #, c-format msgid "access() on %s failed: errno = %d\n" msgstr "" +#: ipa-client/ipa-join.c:193 +#, c-format +msgid "Out of memory!" +msgstr "" + #: ipa-client/ipa-join.c:200 #, c-format -msgid "Unable to enable SSL in LDAP\n" +msgid "Unable to initialize connection to ldap server: %s" msgstr "" #: ipa-client/ipa-join.c:206 #, c-format +msgid "Unable to enable SSL in LDAP\n" +msgstr "" + +#: ipa-client/ipa-join.c:212 +#, c-format msgid "Unable to set LDAP version\n" msgstr "" -#: ipa-client/ipa-join.c:216 +#: ipa-client/ipa-join.c:232 #, c-format msgid "Bind failed: %s\n" msgstr "" -#: ipa-client/ipa-join.c:249 +#: ipa-client/ipa-join.c:265 #, c-format msgid "Search for %s on rootdse failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:259 ipa-client/ipa-join.c:311 +#: ipa-client/ipa-join.c:275 ipa-client/ipa-join.c:327 #, c-format msgid "No values for %s" msgstr "" -#: ipa-client/ipa-join.c:302 +#: ipa-client/ipa-join.c:318 #, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:368 +#: ipa-client/ipa-join.c:386 #, c-format msgid "Unable to determine root DN of %s\n" msgstr "" -#: ipa-client/ipa-join.c:377 +#: ipa-client/ipa-join.c:395 #, c-format msgid "Unable to determine certificate subject of %s\n" msgstr "" -#: ipa-client/ipa-join.c:385 +#: ipa-client/ipa-join.c:403 #, c-format msgid "Unable to make an LDAP connection to %s\n" msgstr "" -#: ipa-client/ipa-join.c:394 +#: ipa-client/ipa-join.c:428 #, c-format msgid "Searching with %s in %s\n" msgstr "" -#: ipa-client/ipa-join.c:400 +#: ipa-client/ipa-join.c:434 #, c-format msgid "ldap_search_ext_s: %s\n" msgstr "" -#: ipa-client/ipa-join.c:408 +#: ipa-client/ipa-join.c:442 #, c-format msgid "Unable to find host '%s'\n" msgstr "" -#: ipa-client/ipa-join.c:415 +#: ipa-client/ipa-join.c:449 #, c-format msgid "Unable to get binddn for host '%s'\n" msgstr "" -#: ipa-client/ipa-join.c:428 +#: ipa-client/ipa-join.c:462 #, c-format msgid "Host already has principal, trying bind anyway\n" msgstr "" -#: ipa-client/ipa-join.c:442 ipa-client/ipa-join.c:579 +#: ipa-client/ipa-join.c:476 ipa-client/ipa-join.c:629 #, c-format msgid "Host is already joined.\n" msgstr "" -#: ipa-client/ipa-join.c:446 +#: ipa-client/ipa-join.c:480 #, c-format msgid "Incorrect password.\n" msgstr "" -#: ipa-client/ipa-join.c:457 +#: ipa-client/ipa-join.c:491 #, c-format msgid "principal not found in host entry\n" msgstr "" -#: ipa-client/ipa-join.c:564 +#: ipa-client/ipa-join.c:614 #, c-format msgid "principal not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:646 ipa-client/ipa-join.c:823 +#: ipa-client/ipa-join.c:695 ipa-client/ipa-join.c:896 #, c-format msgid "Unable to determine IPA server from %s\n" msgstr "" -#: ipa-client/ipa-join.c:662 ipa-client/ipa-join.c:838 +#: ipa-client/ipa-join.c:711 ipa-client/ipa-join.c:911 #, c-format msgid "The hostname must be fully-qualified: %s\n" msgstr "" -#: ipa-client/ipa-join.c:671 ipa-client/ipa-join.c:848 +#: ipa-client/ipa-join.c:720 ipa-client/ipa-join.c:921 #, c-format msgid "Unable to join host: Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-join.c:679 +#: ipa-client/ipa-join.c:728 #, c-format msgid "Error resolving keytab: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:689 +#: ipa-client/ipa-join.c:737 +#, c-format +msgid "Error getting default Kerberos realm: %s.\n" +msgstr "" + +#: ipa-client/ipa-join.c:755 #, c-format msgid "Error parsing \"%s\": %s.\n" msgstr "" -#: ipa-client/ipa-join.c:707 +#: ipa-client/ipa-join.c:773 #, c-format msgid "Error obtaining initial credentials: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:718 +#: ipa-client/ipa-join.c:784 #, c-format msgid "Unable to generate Kerberos Credential Cache\n" msgstr "" -#: ipa-client/ipa-join.c:726 +#: ipa-client/ipa-join.c:792 #, c-format msgid "Error storing creds in credential cache: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:769 +#: ipa-client/ipa-join.c:842 #, c-format msgid "Unenrollment successful.\n" msgstr "" -#: ipa-client/ipa-join.c:772 +#: ipa-client/ipa-join.c:845 #, c-format msgid "Unenrollment failed.\n" msgstr "" -#: ipa-client/ipa-join.c:777 +#: ipa-client/ipa-join.c:850 #, c-format msgid "result not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:855 +#: ipa-client/ipa-join.c:928 #, c-format msgid "Unable to join host: Kerberos Credential Cache not found\n" msgstr "" -#: ipa-client/ipa-join.c:863 +#: ipa-client/ipa-join.c:936 #, c-format msgid "" "Unable to join host: Kerberos User Principal not found and host password not " "provided.\n" msgstr "" -#: ipa-client/ipa-join.c:877 +#: ipa-client/ipa-join.c:950 #, c-format msgid "fork() failed\n" msgstr "" -#: ipa-client/ipa-join.c:906 +#: ipa-client/ipa-join.c:979 #, c-format msgid "ipa-getkeytab not found\n" msgstr "" -#: ipa-client/ipa-join.c:909 +#: ipa-client/ipa-join.c:982 #, c-format msgid "ipa-getkeytab has bad permissions?\n" msgstr "" -#: ipa-client/ipa-join.c:912 +#: ipa-client/ipa-join.c:985 #, c-format msgid "executing ipa-getkeytab failed, errno %d\n" msgstr "" -#: ipa-client/ipa-join.c:924 +#: ipa-client/ipa-join.c:997 #, c-format msgid "child exited with %d\n" msgstr "" -#: ipa-client/ipa-join.c:930 +#: ipa-client/ipa-join.c:1003 #, c-format msgid "Certificate subject base is: %s\n" msgstr "" -#: ipa-client/ipa-join.c:963 -msgid "Print the raw XML-RPC output" -msgstr "" - -#: ipa-client/ipa-join.c:963 -msgid "XML-RPC debugging Output" +#: ipa-client/ipa-join.c:1038 +msgid "Print the raw XML-RPC output in GSSAPI mode" msgstr "" -#: ipa-client/ipa-join.c:967 -msgid "Unenroll this host" +#: ipa-client/ipa-join.c:1040 +msgid "Quiet mode. Only errors are displayed." msgstr "" -#: ipa-client/ipa-join.c:967 +#: ipa-client/ipa-join.c:1042 msgid "Unenroll this host from IPA server" msgstr "" -#: ipa-client/ipa-join.c:969 -msgid "Use this hostname instead of the node name" +#: ipa-client/ipa-join.c:1044 +msgid "Hostname of this server" msgstr "" -#: ipa-client/ipa-join.c:969 -msgid "Host Name" +#: ipa-client/ipa-join.c:1044 ipa-client/ipa-join.c:1046 +msgid "hostname" msgstr "" -#: ipa-client/ipa-join.c:971 +#: ipa-client/ipa-join.c:1046 msgid "IPA Server to use" msgstr "" -#: ipa-client/ipa-join.c:971 -msgid "IPA Server Name" +#: ipa-client/ipa-join.c:1048 +msgid "Specifies where to store keytab information." msgstr "" -#: ipa-client/ipa-rmkeytab.c:44 +#: ipa-client/ipa-join.c:1048 +msgid "filename" +msgstr "" + +#: ipa-client/ipa-join.c:1050 +msgid "LDAP password (if not using Kerberos)" +msgstr "" + +#: ipa-client/ipa-join.c:1050 +msgid "password" +msgstr "" + +#: ipa-client/ipa-rmkeytab.c:42 #, c-format msgid "Unable to parse principal name\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:46 +#: ipa-client/ipa-rmkeytab.c:44 #, c-format msgid "krb5_parse_name %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:56 +#: ipa-client/ipa-rmkeytab.c:54 #, c-format msgid "Removing principal %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:69 +#: ipa-client/ipa-rmkeytab.c:67 #, c-format msgid "Failed to open keytab\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:73 +#: ipa-client/ipa-rmkeytab.c:71 #, c-format msgid "principal not found\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:75 +#: ipa-client/ipa-rmkeytab.c:73 #, c-format msgid "krb5_kt_get_entry %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:83 +#: ipa-client/ipa-rmkeytab.c:81 #, c-format msgid "Unable to remove entry\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:85 +#: ipa-client/ipa-rmkeytab.c:83 #, c-format msgid "kvno %d\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:86 +#: ipa-client/ipa-rmkeytab.c:84 #, c-format msgid "krb5_kt_remove_entry %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:119 +#: ipa-client/ipa-rmkeytab.c:117 #, c-format msgid "Unable to parse principal\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:121 +#: ipa-client/ipa-rmkeytab.c:119 #, c-format msgid "krb5_unparse_name %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:186 +#: ipa-client/ipa-rmkeytab.c:161 msgid "Print debugging information" msgstr "" -#: ipa-client/ipa-rmkeytab.c:186 +#: ipa-client/ipa-rmkeytab.c:161 msgid "Debugging output" msgstr "" -#: ipa-client/ipa-rmkeytab.c:193 +#: ipa-client/ipa-rmkeytab.c:168 msgid "Remove all principals in this realm" msgstr "" -#: ipa-client/ipa-rmkeytab.c:193 +#: ipa-client/ipa-rmkeytab.c:168 msgid "Realm name" msgstr "" -#: ipa-client/ipa-rmkeytab.c:241 +#: ipa-client/ipa-rmkeytab.c:222 ipa-client/ipa-rmkeytab.c:229 #, c-format -msgid "Failed to open keytab '%s'\n" +msgid "Failed to open keytab '%s': %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:255 +#: ipa-client/ipa-rmkeytab.c:245 #, c-format msgid "Closing keytab failed\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:257 +#: ipa-client/ipa-rmkeytab.c:247 #, c-format msgid "krb5_kt_close %d: %s\n" msgstr "" |