diff --git a/po/ipa.pot b/po/ipa.pot index ad66af749..edec7392e 100644 --- a/po/ipa.pot +++ b/po/ipa.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: freeipa 4.11.0.dev202308211251+gitd98d5e475\n" +"Project-Id-Version: freeipa 4.12.0.dev202310031255+git1a2cd7f40\n" "Report-Msgid-Bugs-To: https://pagure.io/freeipa/new_issue\n" -"POT-Creation-Date: 2023-08-21 14:51+0200\n" +"POT-Creation-Date: 2023-10-03 14:56+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -38,6 +38,125 @@ msgstr "" msgid "read error\n" msgstr "" +#: client/ipa-rmkeytab.c:51 +#, c-format +msgid "Unable to parse principal name\n" +msgstr "" + +#: client/ipa-rmkeytab.c:53 +#, c-format +msgid "krb5_parse_name %1$d: %2$s\n" +msgstr "" + +#: client/ipa-rmkeytab.c:63 +#, c-format +msgid "Removing principal %s\n" +msgstr "" + +#: client/ipa-rmkeytab.c:76 +#, c-format +msgid "Failed to open keytab\n" +msgstr "" + +#: client/ipa-rmkeytab.c:80 +#, c-format +msgid "principal not found\n" +msgstr "" + +#: client/ipa-rmkeytab.c:82 +#, c-format +msgid "krb5_kt_get_entry %1$d: %2$s\n" +msgstr "" + +#: client/ipa-rmkeytab.c:90 +#, c-format +msgid "Unable to remove entry\n" +msgstr "" + +#: client/ipa-rmkeytab.c:92 +#, c-format +msgid "kvno %d\n" +msgstr "" + +#: client/ipa-rmkeytab.c:93 +#, c-format +msgid "krb5_kt_remove_entry %1$d: %2$s\n" +msgstr "" + +#: client/ipa-rmkeytab.c:124 client/ipa-rmkeytab.c:146 +#: client/ipa-rmkeytab.c:160 client/ipa-rmkeytab.c:263 +#, c-format +msgid "Failed to set cursor '%1$s'\n" +msgstr "" + +#: client/ipa-rmkeytab.c:133 +#, c-format +msgid "Unable to parse principal\n" +msgstr "" + +#: client/ipa-rmkeytab.c:135 +#, c-format +msgid "krb5_unparse_name %1$d: %2$s\n" +msgstr "" + +#: client/ipa-rmkeytab.c:169 +#, c-format +msgid "realm not found\n" +msgstr "" + +#: client/ipa-rmkeytab.c:195 client/ipa-getkeytab.c:942 +msgid "Print debugging information" +msgstr "" + +#: client/ipa-rmkeytab.c:195 +msgid "Debugging output" +msgstr "" + +#: client/ipa-rmkeytab.c:197 +msgid "" +"The principal to remove from the keytab (ex: ftp/ftp.example.com@EXAMPLE.COM)" +msgstr "" + +#: client/ipa-rmkeytab.c:198 client/ipa-getkeytab.c:948 +msgid "Kerberos Service Principal Name" +msgstr "" + +#: client/ipa-rmkeytab.c:200 +msgid "The keytab file to remove the principcal(s) from" +msgstr "" + +#: client/ipa-rmkeytab.c:200 client/ipa-getkeytab.c:952 +msgid "Keytab File Name" +msgstr "" + +#: client/ipa-rmkeytab.c:202 +msgid "Remove all principals in this realm" +msgstr "" + +#: client/ipa-rmkeytab.c:202 ipaclient/remote_plugins/2_114/trust.py:111 +msgid "Realm name" +msgstr "" + +#: client/ipa-rmkeytab.c:216 client/ipa-getkeytab.c:1001 +#, c-format +msgid "Kerberos context initialization failed\n" +msgstr "" + +#: client/ipa-rmkeytab.c:256 +#, c-format +msgid "Failed to open keytab '%1$s': %2$s\n" +msgstr "" + +#: client/ipa-rmkeytab.c:279 +#, c-format +msgid "Closing keytab failed\n" +msgstr "" + +#: client/ipa-rmkeytab.c:281 +#, c-format +msgid "krb5_kt_close %1$d: %2$s\n" +msgstr "" + #: client/ipa-getkeytab.c:254 #, c-format msgid "Kerberos context initialization failed: %1$s (%2$d)\n" @@ -186,10 +305,6 @@ msgstr "" msgid "Output only on errors" msgstr "" -#: client/ipa-getkeytab.c:942 client/ipa-rmkeytab.c:195 -msgid "Print debugging information" -msgstr "" - #: client/ipa-getkeytab.c:942 msgid "Output debug info" msgstr "" @@ -206,20 +321,12 @@ msgstr "" msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -#: client/ipa-getkeytab.c:948 client/ipa-rmkeytab.c:198 -msgid "Kerberos Service Principal Name" -msgstr "" - #: client/ipa-getkeytab.c:950 msgid "" "The keytab file to append the new key to (will be created if it does not " "exist)." msgstr "" -#: client/ipa-getkeytab.c:952 client/ipa-rmkeytab.c:200 -msgid "Keytab File Name" -msgstr "" - #: client/ipa-getkeytab.c:954 msgid "Encryption types to request" msgstr "" @@ -288,11 +395,6 @@ msgstr "" msgid "Retrieve current keys without changing them" msgstr "" -#: client/ipa-getkeytab.c:1001 client/ipa-rmkeytab.c:216 -#, c-format -msgid "Kerberos context initialization failed\n" -msgstr "" - #: client/ipa-getkeytab.c:1014 util/ipa_krb5.c:892 #, c-format msgid "No system preferred enctypes ?!\n" @@ -442,108 +544,6 @@ msgstr "" msgid "Keytab successfully retrieved and stored in: %s\n" msgstr "" -#: client/ipa-rmkeytab.c:51 -#, c-format -msgid "Unable to parse principal name\n" -msgstr "" - -#: client/ipa-rmkeytab.c:53 -#, c-format -msgid "krb5_parse_name %1$d: %2$s\n" -msgstr "" - -#: client/ipa-rmkeytab.c:63 -#, c-format -msgid "Removing principal %s\n" -msgstr "" - -#: client/ipa-rmkeytab.c:76 -#, c-format -msgid "Failed to open keytab\n" -msgstr "" - -#: client/ipa-rmkeytab.c:80 -#, c-format -msgid "principal not found\n" -msgstr "" - -#: client/ipa-rmkeytab.c:82 -#, c-format -msgid "krb5_kt_get_entry %1$d: %2$s\n" -msgstr "" - -#: client/ipa-rmkeytab.c:90 -#, c-format -msgid "Unable to remove entry\n" -msgstr "" - -#: client/ipa-rmkeytab.c:92 -#, c-format -msgid "kvno %d\n" -msgstr "" - -#: client/ipa-rmkeytab.c:93 -#, c-format -msgid "krb5_kt_remove_entry %1$d: %2$s\n" -msgstr "" - -#: client/ipa-rmkeytab.c:124 client/ipa-rmkeytab.c:146 -#: client/ipa-rmkeytab.c:160 client/ipa-rmkeytab.c:263 -#, c-format -msgid "Failed to set cursor '%1$s'\n" -msgstr "" - -#: client/ipa-rmkeytab.c:133 -#, c-format -msgid "Unable to parse principal\n" -msgstr "" - -#: client/ipa-rmkeytab.c:135 -#, c-format -msgid "krb5_unparse_name %1$d: %2$s\n" -msgstr "" - -#: client/ipa-rmkeytab.c:169 -#, c-format -msgid "realm not found\n" -msgstr "" - -#: client/ipa-rmkeytab.c:195 -msgid "Debugging output" -msgstr "" - -#: client/ipa-rmkeytab.c:197 -msgid "" -"The principal to remove from the keytab (ex: ftp/ftp.example.com@EXAMPLE.COM)" -msgstr "" - -#: client/ipa-rmkeytab.c:200 -msgid "The keytab file to remove the principcal(s) from" -msgstr "" - -#: client/ipa-rmkeytab.c:202 -msgid "Remove all principals in this realm" -msgstr "" - -#: client/ipa-rmkeytab.c:202 ipaclient/remote_plugins/2_114/trust.py:111 -msgid "Realm name" -msgstr "" - -#: client/ipa-rmkeytab.c:256 -#, c-format -msgid "Failed to open keytab '%1$s': %2$s\n" -msgstr "" - -#: client/ipa-rmkeytab.c:279 -#, c-format -msgid "Closing keytab failed\n" -msgstr "" - -#: client/ipa-rmkeytab.c:281 -#, c-format -msgid "krb5_kt_close %1$d: %2$s\n" -msgstr "" - #: client/ipa-join.c:67 client/ipa-join.c:422 client/ipa-join.c:442 #: client/ipa-join.c:540 client/ipa-join.c:1067 util/ipa_krb5.c:1024 #: util/ipa_krb5.c:1058 @@ -863,85 +863,6 @@ msgstr "" msgid "Write certificate (chain if --chain used) to file" msgstr "" -#: ipaclient/plugins/certmap.py:19 -msgid "Input file" -msgstr "" - -#: ipaclient/plugins/certmap.py:20 -msgid "File to load the certificate from" -msgstr "" - -#: ipaclient/plugins/certmap.py:41 ipaclient/plugins/cert.py:130 -msgid "cannot specify both raw certificate and file" -msgstr "" - -#: ipaclient/plugins/certprofile.py:25 -#, python-format -msgid "Profile configuration stored in file '%(file)s'" -msgstr "" - -#: ipaclient/plugins/host.py:41 ipaclient/plugins/service.py:43 -#: ipaclient/plugins/user.py:75 -#, python-format -msgid "Certificate(s) stored in file '%(file)s'" -msgstr "" - -#: ipaclient/plugins/location.py:23 -msgid "Servers details:" -msgstr "" - -#: ipaclient/plugins/migration.py:37 -msgid "" -"Migration mode is disabled.\n" -"Use 'ipa config-mod --enable-migration=TRUE' to enable it." -msgstr "" - -#: ipaclient/plugins/migration.py:41 -msgid "" -"Passwords have been migrated in pre-hashed format.\n" -"IPA is unable to generate Kerberos keys unless provided\n" -"with clear text passwords. All migrated users need to\n" -"login at https://your.domain/ipa/migration/ before they\n" -"can use their Kerberos accounts." -msgstr "" - -#: ipaclient/plugins/server.py:20 -#, python-format -msgid "Removing %(servers)s from replication topology, please wait..." -msgstr "" - -#: ipaclient/plugins/topology.py:25 -#, python-format -msgid "Replication topology of suffix \"%(suffix)s\" is in order." -msgstr "" - -#: ipaclient/plugins/topology.py:30 -#, python-format -msgid "Replication topology of suffix \"%(suffix)s\" contains errors." -msgstr "" - -#: ipaclient/plugins/topology.py:33 -msgid "Topology is disconnected" -msgstr "" - -#: ipaclient/plugins/topology.py:35 -#, python-format -msgid "Server %(srv)s can't contact servers: %(replicas)s" -msgstr "" - -#: ipaclient/plugins/topology.py:40 -msgid "Recommended maximum number of agreements per replica exceeded" -msgstr "" - -#: ipaclient/plugins/topology.py:43 -msgid "Maximum number of agreements per replica" -msgstr "" - -#: ipaclient/plugins/topology.py:47 -#, python-format -msgid "Server \"%(srv)s\" has %(n)d agreements with servers:" -msgstr "" - #: ipaclient/plugins/cert.py:107 msgid "Unrevoked" msgstr "" @@ -958,6 +879,23 @@ msgstr "" msgid "File to load the certificate from." msgstr "" +#: ipaclient/plugins/cert.py:130 ipaclient/plugins/certmap.py:41 +msgid "cannot specify both raw certificate and file" +msgstr "" + +#: ipaclient/plugins/certmap.py:19 +msgid "Input file" +msgstr "" + +#: ipaclient/plugins/certmap.py:20 +msgid "File to load the certificate from" +msgstr "" + +#: ipaclient/plugins/certprofile.py:25 +#, python-format +msgid "Profile configuration stored in file '%(file)s'" +msgstr "" + #: ipaclient/plugins/dns.py:137 ipaserver/plugins/dns.py:3557 msgid "Split DNS record to parts" msgstr "" @@ -1041,24 +979,110 @@ msgstr "" msgid "file to store DNS records in nsupdate format" msgstr "" -#: ipaclient/plugins/sudorule.py:30 +#: ipaclient/plugins/host.py:41 ipaclient/plugins/service.py:43 +#: ipaclient/plugins/user.py:75 #, python-format -msgid "Enabled Sudo Rule \"%s\"" +msgid "Certificate(s) stored in file '%(file)s'" msgstr "" -#: ipaclient/plugins/sudorule.py:36 -#, python-format -msgid "Disabled Sudo Rule \"%s\"" +#: ipaclient/plugins/location.py:23 +msgid "Servers details:" msgstr "" -#: ipaclient/plugins/sudorule.py:44 -#, python-format -msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" +#: ipaclient/plugins/migration.py:37 +msgid "" +"Migration mode is disabled.\n" +"Use 'ipa config-mod --enable-migration=TRUE' to enable it." msgstr "" -#: ipaclient/plugins/sudorule.py:57 +#: ipaclient/plugins/migration.py:41 +msgid "" +"Passwords have been migrated in pre-hashed format.\n" +"IPA is unable to generate Kerberos keys unless provided\n" +"with clear text passwords. All migrated users need to\n" +"login at https://your.domain/ipa/migration/ before they\n" +"can use their Kerberos accounts." +msgstr "" + +#: ipaclient/plugins/server.py:20 #, python-format -msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" +msgid "Removing %(servers)s from replication topology, please wait..." +msgstr "" + +#: ipaclient/plugins/topology.py:25 +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" is in order." +msgstr "" + +#: ipaclient/plugins/topology.py:30 +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" contains errors." +msgstr "" + +#: ipaclient/plugins/topology.py:33 +msgid "Topology is disconnected" +msgstr "" + +#: ipaclient/plugins/topology.py:35 +#, python-format +msgid "Server %(srv)s can't contact servers: %(replicas)s" +msgstr "" + +#: ipaclient/plugins/topology.py:40 +msgid "Recommended maximum number of agreements per replica exceeded" +msgstr "" + +#: ipaclient/plugins/topology.py:43 +msgid "Maximum number of agreements per replica" +msgstr "" + +#: ipaclient/plugins/topology.py:47 +#, python-format +msgid "Server \"%(srv)s\" has %(n)d agreements with servers:" +msgstr "" + +#: ipaclient/plugins/otptoken.py:67 +msgid "" +"Unable to display QR code using the configured output encoding. Please use " +"the token URI to configure your OTP device" +msgstr "" + +#: ipaclient/plugins/otptoken.py:83 +msgid "" +"QR code width is greater than that of the output tty. Please resize your " +"terminal." +msgstr "" + +#: ipaclient/plugins/otptoken.py:137 +msgid "Synchronize an OTP token." +msgstr "" + +#: ipaclient/plugins/otptoken.py:142 +msgid "User ID" +msgstr "" + +#: ipaclient/plugins/otptoken.py:143 ipaclient/remote_plugins/2_114/host.py:187 +#: ipaserver/plugins/migration.py:534 ipaserver/plugins/baseldap.py:50 +#: ipaserver/plugins/internal.py:194 ipaserver/plugins/internal.py:414 +#: ipaserver/plugins/internal.py:1742 ipaserver/plugins/baseuser.py:331 +msgid "Password" +msgstr "" + +#: ipaclient/plugins/otptoken.py:144 +msgid "First Code" +msgstr "" + +#: ipaclient/plugins/otptoken.py:145 +msgid "Second Code" +msgstr "" + +#: ipaclient/plugins/otptoken.py:149 ipaserver/plugins/internal.py:1752 +msgid "Token ID" +msgstr "" + +#: ipaclient/plugins/otptoken.py:185 +#, python-format +msgid "Unable to synchronize token: %s" msgstr "" #: ipaclient/plugins/automember.py:33 ipaserver/plugins/automember.py:342 @@ -1152,78 +1176,6 @@ msgstr "" msgid "Skipped %(key)s" msgstr "" -#: ipaclient/plugins/baseuser.py:22 -msgid "Register the passkey" -msgstr "" - -#: ipaclient/plugins/baseuser.py:27 -msgid "Require user verification during authentication with the passkey" -msgstr "" - -#: ipaclient/plugins/baseuser.py:33 -msgid "COSE type to use for registration" -msgstr "" - -#: ipaclient/plugins/baseuser.py:39 -msgid "Credential type" -msgstr "" - -#: ipaclient/plugins/baseuser.py:62 -#, python-format -msgid "cannot specify both %s and passkey mapping" -msgstr "" - -#: ipaclient/plugins/baseuser.py:70 -#, python-format -msgid "" -"Missing executable %s, use the command with LOGIN PASSKEY instead of LOGIN --" -"register" -msgstr "" - -#: ipaclient/plugins/otptoken.py:67 -msgid "" -"Unable to display QR code using the configured output encoding. Please use " -"the token URI to configure your OTP device" -msgstr "" - -#: ipaclient/plugins/otptoken.py:83 -msgid "" -"QR code width is greater than that of the output tty. Please resize your " -"terminal." -msgstr "" - -#: ipaclient/plugins/otptoken.py:137 -msgid "Synchronize an OTP token." -msgstr "" - -#: ipaclient/plugins/otptoken.py:142 -msgid "User ID" -msgstr "" - -#: ipaclient/plugins/otptoken.py:143 ipaclient/remote_plugins/2_114/host.py:187 -#: ipaserver/plugins/migration.py:534 ipaserver/plugins/baseldap.py:50 -#: ipaserver/plugins/baseuser.py:331 ipaserver/plugins/internal.py:194 -#: ipaserver/plugins/internal.py:414 ipaserver/plugins/internal.py:1742 -msgid "Password" -msgstr "" - -#: ipaclient/plugins/otptoken.py:144 -msgid "First Code" -msgstr "" - -#: ipaclient/plugins/otptoken.py:145 -msgid "Second Code" -msgstr "" - -#: ipaclient/plugins/otptoken.py:149 ipaserver/plugins/internal.py:1752 -msgid "Token ID" -msgstr "" - -#: ipaclient/plugins/otptoken.py:185 -#, python-format -msgid "Unable to synchronize token: %s" -msgstr "" - #: ipaclient/plugins/otptoken_yubikey.py:35 msgid "python-yubico is not installed." msgstr "" @@ -1248,14 +1200,14 @@ msgid "" msgstr "" #: ipaclient/plugins/otptoken_yubikey.py:47 ipaserver/plugins/dnsserver.py:39 -#: ipaserver/plugins/radiusproxy.py:43 ipaserver/plugins/serverrole.py:19 -#: ipaserver/plugins/automember.py:63 ipaserver/plugins/ca.py:36 -#: ipaserver/plugins/certmap.py:60 ipaserver/plugins/location.py:37 -#: ipaserver/plugins/otptoken.py:49 ipaserver/plugins/cert.py:99 -#: ipaserver/plugins/host.py:104 ipaserver/plugins/idp.py:31 -#: ipaserver/plugins/passkeyconfig.py:30 ipaserver/plugins/permission.py:98 -#: ipaserver/plugins/schema.py:28 ipaserver/plugins/server.py:40 -#: ipaserver/plugins/sudorule.py:76 ipaserver/plugins/vault.py:88 +#: ipaserver/plugins/location.py:37 ipaserver/plugins/radiusproxy.py:43 +#: ipaserver/plugins/serverrole.py:19 ipaserver/plugins/automember.py:63 +#: ipaserver/plugins/certmap.py:60 ipaserver/plugins/permission.py:98 +#: ipaserver/plugins/vault.py:88 ipaserver/plugins/otptoken.py:49 +#: ipaserver/plugins/server.py:40 ipaserver/plugins/ca.py:36 +#: ipaserver/plugins/cert.py:99 ipaserver/plugins/idp.py:31 +#: ipaserver/plugins/schema.py:28 ipaserver/plugins/sudorule.py:76 +#: ipaserver/plugins/host.py:104 ipaserver/plugins/passkeyconfig.py:30 msgid "" "\n" "EXAMPLES:\n" @@ -1280,21 +1232,24 @@ msgstr "" msgid "No free YubiKey slot!" msgstr "" -#: ipaclient/plugins/stageuser.py:14 ipaclient/plugins/user.py:87 -#: ipaserver/plugins/baseuser.py:1084 ipaserver/plugins/user.py:1405 -msgid "Add one or more passkey mappings to the user entry." +#: ipaclient/plugins/sudorule.py:30 +#, python-format +msgid "Enabled Sudo Rule \"%s\"" msgstr "" -#: ipaclient/plugins/user.py:41 -msgid "Delete a user, keeping the entry available for future use" +#: ipaclient/plugins/sudorule.py:36 +#, python-format +msgid "Disabled Sudo Rule \"%s\"" msgstr "" -#: ipaclient/plugins/user.py:46 -msgid "Delete a user" +#: ipaclient/plugins/sudorule.py:44 +#, python-format +msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" msgstr "" -#: ipaclient/plugins/user.py:55 -msgid "preserve and no-preserve cannot be both set" +#: ipaclient/plugins/sudorule.py:57 +#, python-format +msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" msgstr "" #: ipaclient/plugins/vault.py:68 ipaclient/plugins/vault.py:875 @@ -1463,6 +1418,51 @@ msgstr "" msgid "Missing vault private key" msgstr "" +#: ipaclient/plugins/baseuser.py:22 +msgid "Register the passkey" +msgstr "" + +#: ipaclient/plugins/baseuser.py:27 +msgid "Require user verification during authentication with the passkey" +msgstr "" + +#: ipaclient/plugins/baseuser.py:33 +msgid "COSE type to use for registration" +msgstr "" + +#: ipaclient/plugins/baseuser.py:39 +msgid "Credential type" +msgstr "" + +#: ipaclient/plugins/baseuser.py:62 +#, python-format +msgid "cannot specify both %s and passkey mapping" +msgstr "" + +#: ipaclient/plugins/baseuser.py:70 +#, python-format +msgid "" +"Missing executable %s, use the command with LOGIN PASSKEY instead of LOGIN --" +"register" +msgstr "" + +#: ipaclient/plugins/stageuser.py:14 ipaclient/plugins/user.py:87 +#: ipaserver/plugins/user.py:1405 ipaserver/plugins/baseuser.py:1091 +msgid "Add one or more passkey mappings to the user entry." +msgstr "" + +#: ipaclient/plugins/user.py:41 +msgid "Delete a user, keeping the entry available for future use" +msgstr "" + +#: ipaclient/plugins/user.py:46 +msgid "Delete a user" +msgstr "" + +#: ipaclient/plugins/user.py:55 +msgid "preserve and no-preserve cannot be both set" +msgstr "" + msgid "" "\n" "Directory Server Access Control Instructions (ACIs)\n" @@ -1603,8 +1603,8 @@ msgid "User group ACI grants access to" msgstr "" #: ipaserver/plugins/delegation.py:81 ipaserver/plugins/selfservice.py:84 -#: ipaserver/plugins/aci.py:463 ipaserver/plugins/baseldap.py:74 -#: ipaserver/plugins/permission.py:231 +#: ipaserver/plugins/aci.py:463 ipaserver/plugins/permission.py:231 +#: ipaserver/plugins/baseldap.py:74 msgid "Permissions" msgstr "" @@ -1619,8 +1619,8 @@ msgstr "" msgid "Attributes" msgstr "" -#: ipaserver/plugins/otptoken.py:165 ipaserver/plugins/permission.py:347 -#: ipaserver/plugins/schema.py:448 ipaserver/plugins/vault.py:598 +#: ipaserver/plugins/permission.py:347 ipaserver/plugins/vault.py:598 +#: ipaserver/plugins/otptoken.py:165 ipaserver/plugins/schema.py:448 msgid "Type" msgstr "" @@ -1749,6 +1749,291 @@ msgstr "" msgid "Location of the ACI" msgstr "" +msgid "" +"\n" +"Auto Membership Rule.\n" +"\n" +"Bring clarity to the membership of hosts and users by configuring inclusive\n" +"or exclusive regex patterns, you can automatically assign a new entries " +"into\n" +"a group or hostgroup based upon attribute information.\n" +"\n" +"A rule is directly associated with a group by name, so you cannot create\n" +"a rule without an accompanying group or hostgroup.\n" +"\n" +"A condition is a regular expression used by 389-ds to match a new incoming\n" +"entry with an automember rule. If it matches an inclusive rule then the\n" +"entry is added to the appropriate group or hostgroup.\n" +"\n" +"A default group or hostgroup could be specified for entries that do not\n" +"match any rule. In case of user entries this group will be a fallback group\n" +"because all users are by default members of group specified in IPA config.\n" +"\n" +"The automember-rebuild command can be used to retroactively run automember " +"rules\n" +"against existing entries, thus rebuilding their membership.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add the initial group or hostgroup:\n" +" ipa hostgroup-add --desc=\"Web Servers\" webservers\n" +" ipa group-add --desc=\"Developers\" devel\n" +"\n" +" Add the initial rule:\n" +" ipa automember-add --type=hostgroup webservers\n" +" ipa automember-add --type=group devel\n" +"\n" +" Add a condition to the rule:\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-" +"regex=^web[1-9]+\\.example\\.com webservers\n" +" ipa automember-add-condition --key=manager --type=group --inclusive-" +"regex=^uid=mscott devel\n" +"\n" +" Add an exclusive condition to the rule to prevent auto assignment:\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-" +"regex=^web5\\.example\\.com webservers\n" +"\n" +" Add a host:\n" +" ipa host-add web1.example.com\n" +"\n" +" Add a user:\n" +" ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" +"\n" +" Verify automembership:\n" +" ipa hostgroup-show webservers\n" +" Host-group: webservers\n" +" Description: Web Servers\n" +" Member hosts: web1.example.com\n" +"\n" +" ipa group-show devel\n" +" Group name: devel\n" +" Description: Developers\n" +" GID: 1004200000\n" +" Member users: tuser\n" +"\n" +" Remove a condition from the rule:\n" +" ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-" +"regex=^web[1-9]+\\.example\\.com webservers\n" +"\n" +" Modify the automember rule:\n" +" ipa automember-mod\n" +"\n" +" Set the default (fallback) target group:\n" +" ipa automember-default-group-set --default-group=webservers --" +"type=hostgroup\n" +" ipa automember-default-group-set --default-group=ipausers --type=group\n" +"\n" +" Remove the default (fallback) target group:\n" +" ipa automember-default-group-remove --type=hostgroup\n" +" ipa automember-default-group-remove --type=group\n" +"\n" +" Show the default (fallback) target group:\n" +" ipa automember-default-group-show --type=hostgroup\n" +" ipa automember-default-group-show --type=group\n" +"\n" +" Find all of the automember rules:\n" +" ipa automember-find\n" +"\n" +" Display a automember rule:\n" +" ipa automember-show --type=hostgroup webservers\n" +" ipa automember-show --type=group devel\n" +"\n" +" Delete an automember rule:\n" +" ipa automember-del --type=hostgroup webservers\n" +" ipa automember-del --type=group devel\n" +"\n" +" Rebuild membership for all users:\n" +" ipa automember-rebuild --type=group\n" +"\n" +" Rebuild membership for all hosts:\n" +" ipa automember-rebuild --type=hostgroup\n" +"\n" +" Rebuild membership for specified users:\n" +" ipa automember-rebuild --users=tuser1 --users=tuser2\n" +"\n" +" Rebuild membership for specified hosts:\n" +" ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example." +"com\n" +msgstr "" + +#: ipaserver/plugins/hbacsvc.py:108 ipaserver/plugins/hbacsvcgroup.py:120 +#: ipaserver/plugins/hostgroup.py:193 ipaserver/plugins/location.py:111 +#: ipaserver/plugins/netgroup.py:210 ipaserver/plugins/radiusproxy.py:117 +#: ipaserver/plugins/role.py:153 ipaserver/plugins/subid.py:143 +#: ipaserver/plugins/sudocmd.py:128 ipaserver/plugins/sudocmdgroup.py:130 +#: ipaserver/plugins/automember.py:257 ipaserver/plugins/privilege.py:159 +#: ipaserver/plugins/caacl.py:175 ipaserver/plugins/certmap.py:279 +#: ipaserver/plugins/hbacrule.py:253 ipaserver/plugins/selinuxusermap.py:265 +#: ipaserver/plugins/vault.py:592 ipaserver/plugins/otptoken.py:174 +#: ipaserver/plugins/idviews.py:143 ipaserver/plugins/idviews.py:784 +#: ipaserver/plugins/ca.py:91 ipaserver/plugins/group.py:349 +#: ipaserver/plugins/sudorule.py:247 ipaserver/plugins/automount.py:364 +#: ipaserver/plugins/host.py:492 +msgid "Description" +msgstr "" + +#: ipaserver/plugins/automember.py:258 +msgid "A description of this auto member rule" +msgstr "" + +#: ipaserver/plugins/automember.py:262 ipaserver/plugins/automember.py:585 +msgid "Default (fallback) Group" +msgstr "" + +#: ipaserver/plugins/automember.py:263 +msgid "Default group for entries to land" +msgstr "" + +msgid "Add an automember rule." +msgstr "" + +#: ipaserver/plugins/automember.py:249 ipaserver/plugins/automember.py:250 +msgid "Automember Rule" +msgstr "" + +#: ipaserver/plugins/baseldap.py:977 +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 "" + +#: ipaserver/plugins/baseldap.py:983 +msgid "" +"Add an attribute/value pair. Format is attr=value. The attribute\n" +"must be part of the schema." +msgstr "" + +#: ipaserver/plugins/automember.py:184 +msgid "Grouping Type" +msgstr "" + +#: ipaserver/plugins/automember.py:185 +msgid "Grouping to which the rule applies" +msgstr "" + +msgid "Add conditions to an automember rule." +msgstr "" + +#: ipaserver/plugins/automember.py:160 ipaserver/plugins/automember.py:161 +msgid "Inclusive Regex" +msgstr "" + +#: ipaserver/plugins/automember.py:167 ipaserver/plugins/automember.py:168 +msgid "Exclusive Regex" +msgstr "" + +#: ipaserver/plugins/automember.py:176 +msgid "Attribute Key" +msgstr "" + +#: ipaserver/plugins/automember.py:177 +msgid "" +"Attribute to filter via regex. For example fqdn for a host, or manager for a " +"user" +msgstr "" + +#: ipaserver/plugins/automember.py:357 +msgid "Conditions that could not be added" +msgstr "" + +#: ipaserver/plugins/automember.py:361 +msgid "Number of conditions added" +msgstr "" + +msgid "Remove default (fallback) group for all unmatched entries." +msgstr "" + +msgid "Set default (fallback) group for all unmatched entries." +msgstr "" + +#: ipaserver/plugins/automember.py:586 +msgid "Default (fallback) group for entries to land" +msgstr "" + +msgid "Display information about the default (fallback) automember groups." +msgstr "" + +msgid "Delete an automember rule." +msgstr "" + +#: ipalib/output.py:204 +msgid "List of deletions that failed" +msgstr "" + +msgid "Search for automember rules." +msgstr "" + +msgid "Modify an automember rule." +msgstr "" + +#: ipaserver/plugins/baseldap.py:989 +msgid "" +"Delete an attribute/value pair. The option will be evaluated\n" +"last, after all sets and adds." +msgstr "" + +#: ipaserver/plugins/baseldap.py:1402 ipaserver/plugins/baseldap.py:1477 +msgid "Rights" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1403 ipaserver/plugins/baseldap.py:1478 +msgid "" +"Display the access rights of this entry (requires --all). See ipa man page " +"for details." +msgstr "" + +#: ipaserver/plugins/automember.py:683 +msgid "Rebuild auto membership." +msgstr "" + +#: ipaserver/plugins/automember.py:693 +msgid "Rebuild membership for all members of a grouping" +msgstr "" + +#: ipaserver/plugins/automember.py:697 ipaserver/plugins/caacl.py:220 +#: ipaserver/plugins/hbacrule.py:260 ipaserver/plugins/selinuxusermap.py:272 +#: ipaserver/plugins/sudorule.py:291 ipaserver/plugins/internal.py:1205 +#: ipaserver/plugins/user.py:179 ipaserver/plugins/baseuser.py:250 +msgid "Users" +msgstr "" + +#: ipaserver/plugins/automember.py:698 +msgid "Rebuild membership for specified users" +msgstr "" + +#: ipaserver/plugins/automember.py:702 ipaserver/plugins/caacl.py:228 +#: ipaserver/plugins/hbacrule.py:268 ipaserver/plugins/selinuxusermap.py:280 +#: ipaserver/plugins/sudorule.py:304 ipaserver/plugins/host.py:480 +#: ipaserver/plugins/internal.py:1179 +msgid "Hosts" +msgstr "" + +#: ipaserver/plugins/automember.py:703 +msgid "Rebuild membership for specified hosts" +msgstr "" + +#: ipaserver/plugins/automember.py:708 +msgid "No wait" +msgstr "" + +#: ipaserver/plugins/automember.py:709 +msgid "Don't wait for rebuilding membership" +msgstr "" + +msgid "Remove conditions from an automember rule." +msgstr "" + +#: ipaserver/plugins/automember.py:441 +msgid "Conditions that could not be removed" +msgstr "" + +#: ipaserver/plugins/automember.py:445 +msgid "Number of conditions removed" +msgstr "" + +msgid "Display information about an automember rule." +msgstr "" + #: ipaserver/plugins/automount.py:41 msgid "" "\n" @@ -1876,7 +2161,7 @@ msgstr "" msgid "description" msgstr "" -#: ipaserver/plugins/host.py:502 ipaserver/plugins/server.py:132 +#: ipaserver/plugins/automount.py:252 ipaserver/plugins/host.py:502 msgid "Location" msgstr "" @@ -1892,38 +2177,10 @@ msgstr "" msgid "Automount map name." msgstr "" -#: ipaserver/plugins/hbacsvc.py:108 ipaserver/plugins/hbacsvcgroup.py:120 -#: ipaserver/plugins/netgroup.py:210 ipaserver/plugins/radiusproxy.py:117 -#: ipaserver/plugins/sudocmdgroup.py:130 ipaserver/plugins/automember.py:257 -#: ipaserver/plugins/ca.py:91 ipaserver/plugins/caacl.py:175 -#: ipaserver/plugins/certmap.py:279 ipaserver/plugins/hbacrule.py:253 -#: ipaserver/plugins/hostgroup.py:193 ipaserver/plugins/location.py:111 -#: ipaserver/plugins/otptoken.py:174 ipaserver/plugins/privilege.py:159 -#: ipaserver/plugins/role.py:153 ipaserver/plugins/selinuxusermap.py:265 -#: ipaserver/plugins/subid.py:143 ipaserver/plugins/sudocmd.py:128 -#: ipaserver/plugins/automount.py:364 ipaserver/plugins/group.py:349 -#: ipaserver/plugins/host.py:492 ipaserver/plugins/idviews.py:143 -#: ipaserver/plugins/idviews.py:784 ipaserver/plugins/sudorule.py:247 -#: ipaserver/plugins/vault.py:592 -msgid "Description" -msgstr "" - #: ipaserver/plugins/automount.py:623 msgid "Create a new automount key." msgstr "" -#: ipaserver/plugins/baseldap.py:977 -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 "" - -#: ipaserver/plugins/baseldap.py:983 -msgid "" -"Add an attribute/value pair. Format is attr=value. The attribute\n" -"must be part of the schema." -msgstr "" - #: ipaserver/plugins/automount.py:705 msgid "Delete an automount key." msgstr "" @@ -1932,10 +2189,6 @@ msgstr "" msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/output.py:204 -msgid "List of deletions that failed" -msgstr "" - #: ipaserver/plugins/automount.py:804 msgid "Search for an automount key." msgstr "" @@ -1960,22 +2213,6 @@ msgstr "" msgid "Modify an automount key." msgstr "" -#: ipaserver/plugins/baseldap.py:989 -msgid "" -"Delete an attribute/value pair. The option will be evaluated\n" -"last, after all sets and adds." -msgstr "" - -#: ipaserver/plugins/baseldap.py:1402 ipaserver/plugins/baseldap.py:1477 -msgid "Rights" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1403 ipaserver/plugins/baseldap.py:1478 -msgid "" -"Display the access rights of this entry (requires --all). See ipa man page " -"for details." -msgstr "" - #: ipaserver/plugins/automount.py:755 msgid "New mount information" msgstr "" @@ -2087,6 +2324,184 @@ msgstr "" msgid "Nested Methods to execute" msgstr "" +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" +"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" +"subject to values configured in the server.\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" +"SEARCHING:\n" +"\n" +"Certificates may be searched on by certificate subject, serial number,\n" +"revocation reason, validity dates and the issued date.\n" +"\n" +"When searching on dates the _from date does a >= search and the _to date\n" +"does a <= search. When combined these are done as an AND.\n" +"\n" +"Dates are treated as GMT to match the dates in the certificates.\n" +"\n" +"The date format is YYYY-mm-dd.\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" +" Search for certificates by hostname:\n" +" ipa cert-find --subject=ipaserver.example.com\n" +"\n" +" Search for revoked certificates by reason:\n" +" ipa cert-find --revocation-reason=5\n" +"\n" +" Search for certificates based on issuance date\n" +" ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\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" +msgstr "" + +msgid "Checks if any of the servers has the CA service enabled." +msgstr "" + +msgid "Search for existing certificates." +msgstr "" + +msgid "Match cn attribute in subject" +msgstr "" + +msgid "Reason" +msgstr "" + +msgid "Reason for revoking the certificate (0-10)" +msgstr "" + +msgid "minimum serial number" +msgstr "" + +msgid "maximum serial number" +msgstr "" + +msgid "match the common name exactly" +msgstr "" + +msgid "Valid not after from this date (YYYY-mm-dd)" +msgstr "" + +msgid "Valid not after to this date (YYYY-mm-dd)" +msgstr "" + +msgid "Valid not before from this date (YYYY-mm-dd)" +msgstr "" + +msgid "Valid not before to this date (YYYY-mm-dd)" +msgstr "" + +msgid "Issued on from this date (YYYY-mm-dd)" +msgstr "" + +msgid "Issued on to this date (YYYY-mm-dd)" +msgstr "" + +msgid "Revoked on from this date (YYYY-mm-dd)" +msgstr "" + +msgid "Revoked on to this date (YYYY-mm-dd)" +msgstr "" + +msgid "Maximum number of certs returned" +msgstr "" + +msgid "Take a revoked certificate off hold." +msgstr "" + +msgid "Serial number" +msgstr "" + +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "" + +msgid "Submit a certificate signing request." +msgstr "" + +msgid "CSR" +msgstr "" + +msgid "Principal" +msgstr "" + +msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" +msgstr "" + +msgid "automatically add the principal if it doesn't exist" +msgstr "" + +msgid "Dictionary mapping variable name to value" +msgstr "" + +msgid "Revoke a certificate." +msgstr "" + +msgid "Retrieve an existing certificate." +msgstr "" + +msgid "Output filename" +msgstr "" + +msgid "File to store the certificate in." +msgstr "" + +msgid "Check the status of a certificate signing request." +msgstr "" + +msgid "Request id" +msgstr "" + msgid "" "\n" "Server configuration\n" @@ -2738,8 +3153,8 @@ msgstr "" msgid "CERT Algorithm" msgstr "" -#: ipaserver/plugins/dns.py:1020 ipaserver/plugins/dns.py:1063 -#: ipaserver/plugins/dns.py:1412 +#: ipaserver/plugins/dns.py:1063 ipaserver/plugins/dns.py:1412 +#: ipaserver/plugins/otptoken.py:229 msgid "Algorithm" msgstr "" @@ -3309,8 +3724,8 @@ msgid "Add new DNS resource record." msgstr "" #: ipaserver/plugins/realmdomains.py:151 ipaserver/plugins/dns.py:2890 -#: ipaserver/plugins/dns.py:3578 ipaserver/plugins/host.py:703 -#: ipaserver/plugins/permission.py:1096 ipaserver/plugins/service.py:697 +#: ipaserver/plugins/dns.py:3578 ipaserver/plugins/permission.py:1096 +#: ipaserver/plugins/host.py:703 ipaserver/plugins/service.py:697 msgid "Force" msgstr "" @@ -3384,6 +3799,323 @@ msgstr "" msgid "Display information about a DNS zone (SOA record)." msgstr "" +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. You can use the --posix argument with the group-mod command\n" +"to convert a non-POSIX group into 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 multiple users to the \"localadmins\" group:\n" +" ipa group-add-member --users=test1 --users=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" +"\n" +"External group membership is designed to allow users from trusted domains\n" +"to be mapped to local POSIX groups in order to actually use IPA resources.\n" +"External members should be added to groups that specifically created as\n" +"external and non-POSIX. Such group later should be included into one of " +"POSIX\n" +"groups.\n" +"\n" +"An external group member is currently a Security Identifier (SID) as defined " +"by\n" +"the trusted domain. When adding external group members, it is possible to\n" +"specify them in either SID, or DOM\\name, or name@domain format. IPA will " +"attempt\n" +"to resolve passed name to SID with the use of Global Catalog of the trusted " +"domain.\n" +"\n" +"Example:\n" +"\n" +"1. Create group for the trusted domain admins' mapping and their local POSIX " +"group:\n" +"\n" +" ipa group-add --desc=' admins external map' ad_admins_external " +"--external\n" +" ipa group-add --desc=' admins' ad_admins\n" +"\n" +"2. Add security identifier of Domain Admins of the to the " +"ad_admins_external\n" +" group:\n" +"\n" +" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" +"\n" +"3. Allow members of ad_admins_external group to be associated with ad_admins " +"POSIX group:\n" +"\n" +" ipa group-add-member ad_admins --groups ad_admins_external\n" +"\n" +"4. List members of external members of ad_admins_external group to see their " +"SIDs:\n" +"\n" +" ipa group-show ad_admins_external\n" +msgstr "" + +#: ipaserver/plugins/group.py:343 +msgid "Group name" +msgstr "" + +#: ipaserver/plugins/sudocmdgroup.py:131 ipaserver/plugins/group.py:350 +msgid "Group description" +msgstr "" + +#: ipaserver/plugins/idviews.py:1140 ipaserver/plugins/group.py:354 +#: ipaserver/plugins/baseuser.py:353 +msgid "GID" +msgstr "" + +msgid "GID (use this option to set it manually)" +msgstr "" + +msgid "Member users" +msgstr "" + +msgid "Member groups" +msgstr "" + +msgid "Member of groups" +msgstr "" + +#: ipaserver/plugins/baseldap.py:80 +msgid "Roles" +msgstr "" + +msgid "Member of netgroups" +msgstr "" + +msgid "Member of Sudo rule" +msgstr "" + +msgid "Member of HBAC rule" +msgstr "" + +msgid "Indirect Member users" +msgstr "" + +msgid "Indirect Member groups" +msgstr "" + +msgid "Indirect Member of group" +msgstr "" + +msgid "Indirect Member of netgroup" +msgstr "" + +msgid "Indirect Member of role" +msgstr "" + +msgid "Indirect Member of Sudo rule" +msgstr "" + +msgid "Indirect Member of HBAC rule" +msgstr "" + +msgid "Create a new group." +msgstr "" + +msgid "Create as a non-POSIX group" +msgstr "" + +msgid "Allow adding external non-IPA members from trusted domains" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1227 ipaserver/plugins/cert.py:1341 +msgid "Suppress processing of membership attributes." +msgstr "" + +msgid "Add members to a group." +msgstr "" + +msgid "External member" +msgstr "" + +msgid "Members of a trusted domain in DOM\\name or name@domain form" +msgstr "" + +msgid "member user" +msgstr "" + +msgid "users to add" +msgstr "" + +msgid "member group" +msgstr "" + +msgid "groups to add" +msgstr "" + +#: ipaserver/plugins/role.py:255 ipaserver/plugins/privilege.py:226 +#: ipaserver/plugins/privilege.py:257 ipaserver/plugins/baseldap.py:1770 +#: ipaserver/plugins/baseldap.py:2257 +msgid "Members that could not be added" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1774 ipaserver/plugins/baseldap.py:2261 +msgid "Number of members added" +msgstr "" + +msgid "Delete group." +msgstr "" + +msgid "Detach a managed group from a user." +msgstr "" + +msgid "Search for groups." +msgstr "" + +msgid "search for private groups" +msgstr "" + +msgid "search for POSIX groups" +msgstr "" + +msgid "" +"search for groups with support of external non-IPA members from trusted " +"domains" +msgstr "" + +msgid "search for non-POSIX groups" +msgstr "" + +msgid "Results should contain primary key attribute only (\"group-name\")" +msgstr "" + +#: ipaserver/plugins/sudorule.py:442 ipaserver/plugins/user.py:155 +#: ipaserver/plugins/user.py:181 ipaserver/plugins/user.py:893 +msgid "user" +msgstr "" + +msgid "Search for groups with these member users." +msgstr "" + +msgid "Search for groups without these member users." +msgstr "" + +#: ipaserver/plugins/group.py:424 ipaserver/plugins/group.py:698 +#: ipaserver/plugins/user.py:169 +msgid "group" +msgstr "" + +msgid "Search for groups with these member groups." +msgstr "" + +msgid "Search for groups without these member groups." +msgstr "" + +msgid "Search for groups with these member of groups." +msgstr "" + +msgid "Search for groups without these member of groups." +msgstr "" + +msgid "netgroup" +msgstr "" + +msgid "Search for groups with these member of netgroups." +msgstr "" + +msgid "Search for groups without these member of netgroups." +msgstr "" + +#: ipaserver/plugins/serverrole.py:185 +msgid "role" +msgstr "" + +msgid "Search for groups with these member of roles." +msgstr "" + +msgid "Search for groups without these member of roles." +msgstr "" + +msgid "HBAC rule" +msgstr "" + +msgid "Search for groups with these member of HBAC rules." +msgstr "" + +msgid "Search for groups without these member of HBAC rules." +msgstr "" + +msgid "sudo rule" +msgstr "" + +msgid "Search for groups with these member of sudo rules." +msgstr "" + +msgid "Search for groups without these member of sudo rules." +msgstr "" + +msgid "Modify a group." +msgstr "" + +msgid "change to a POSIX group" +msgstr "" + +msgid "change to support external non-IPA members from trusted domains" +msgstr "" + +msgid "Rename the group object" +msgstr "" + +msgid "Remove members from a group." +msgstr "" + +msgid "users to remove" +msgstr "" + +msgid "groups to remove" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1868 ipaserver/plugins/baseldap.py:2356 +msgid "Members that could not be removed" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1872 ipaserver/plugins/baseldap.py:2360 +msgid "Number of members removed" +msgstr "" + +msgid "Display information about a named group." +msgstr "" + #: ipaserver/plugins/hbacrule.py:39 msgid "" "\n" @@ -3479,34 +4211,21 @@ msgid "Service category the rule applies to" msgstr "" #: ipaserver/plugins/certmap.py:310 ipaserver/plugins/hbacrule.py:256 -#: ipaserver/plugins/selinuxusermap.py:268 ipaserver/plugins/internal.py:1963 -#: ipaserver/plugins/sudorule.py:250 +#: ipaserver/plugins/selinuxusermap.py:268 ipaserver/plugins/sudorule.py:250 +#: ipaserver/plugins/internal.py:1963 msgid "Enabled" msgstr "" -#: ipaserver/plugins/automember.py:697 ipaserver/plugins/caacl.py:220 -#: ipaserver/plugins/hbacrule.py:260 ipaserver/plugins/selinuxusermap.py:272 -#: ipaserver/plugins/baseuser.py:250 ipaserver/plugins/internal.py:1205 -#: ipaserver/plugins/sudorule.py:291 ipaserver/plugins/user.py:179 -msgid "Users" -msgstr "" - #: ipaserver/plugins/hbacrule.py:264 ipaserver/plugins/selinuxusermap.py:276 -#: ipaserver/plugins/group.py:334 ipaserver/plugins/internal.py:884 -#: ipaserver/plugins/internal.py:1204 ipaserver/plugins/sudorule.py:295 +#: ipaserver/plugins/group.py:334 ipaserver/plugins/sudorule.py:295 +#: ipaserver/plugins/internal.py:884 ipaserver/plugins/internal.py:1204 msgid "User Groups" msgstr "" -#: ipaserver/plugins/automember.py:702 ipaserver/plugins/caacl.py:228 -#: ipaserver/plugins/hbacrule.py:268 ipaserver/plugins/selinuxusermap.py:280 -#: ipaserver/plugins/host.py:480 ipaserver/plugins/internal.py:1179 -#: ipaserver/plugins/sudorule.py:304 -msgid "Hosts" -msgstr "" - -#: ipaserver/plugins/hbacrule.py:272 ipaserver/plugins/hostgroup.py:178 -#: ipaserver/plugins/selinuxusermap.py:284 ipaserver/plugins/internal.py:1078 -#: ipaserver/plugins/internal.py:1178 ipaserver/plugins/sudorule.py:308 +#: ipaserver/plugins/hostgroup.py:178 ipaserver/plugins/caacl.py:232 +#: ipaserver/plugins/hbacrule.py:272 ipaserver/plugins/selinuxusermap.py:284 +#: ipaserver/plugins/sudorule.py:308 ipaserver/plugins/internal.py:1078 +#: ipaserver/plugins/internal.py:1178 msgid "Host Groups" msgstr "" @@ -3525,10 +4244,6 @@ msgstr "" msgid "Create a new HBAC rule." msgstr "" -#: ipaserver/plugins/baseldap.py:1227 ipaserver/plugins/cert.py:1341 -msgid "Suppress processing of membership attributes." -msgstr "" - #: ipaserver/plugins/hbacrule.py:534 msgid "Add target hosts and hostgroups to an HBAC rule." msgstr "" @@ -3545,16 +4260,6 @@ msgstr "" msgid "host groups to add" msgstr "" -#: ipaserver/plugins/privilege.py:226 ipaserver/plugins/privilege.py:257 -#: ipaserver/plugins/role.py:231 ipaserver/plugins/role.py:255 -#: ipaserver/plugins/baseldap.py:1770 ipaserver/plugins/baseldap.py:2257 -msgid "Members that could not be added" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1774 ipaserver/plugins/baseldap.py:2261 -msgid "Number of members added" -msgstr "" - #: ipaserver/plugins/hbacrule.py:591 msgid "Add services to an HBAC rule." msgstr "" @@ -3575,18 +4280,6 @@ msgstr "" msgid "Add users and groups to an HBAC rule." msgstr "" -msgid "member user" -msgstr "" - -msgid "users to add" -msgstr "" - -msgid "member group" -msgstr "" - -msgid "groups to add" -msgstr "" - #: ipaserver/plugins/hbacrule.py:314 msgid "Delete an HBAC rule." msgstr "" @@ -3617,14 +4310,6 @@ msgstr "" msgid "host groups to remove" msgstr "" -#: ipaserver/plugins/baseldap.py:1868 ipaserver/plugins/baseldap.py:2356 -msgid "Members that could not be removed" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1872 ipaserver/plugins/baseldap.py:2360 -msgid "Number of members removed" -msgstr "" - #: ipaserver/plugins/hbacrule.py:613 msgid "Remove service and service groups from an HBAC rule." msgstr "" @@ -3639,12 +4324,6 @@ msgstr "" msgid "Remove users and groups from an HBAC rule." msgstr "" -msgid "users to remove" -msgstr "" - -msgid "groups to remove" -msgstr "" - #: ipaserver/plugins/hbacrule.py:375 msgid "Display the properties of an HBAC rule." msgstr "" @@ -3772,6 +4451,255 @@ msgstr "" msgid "Display information about an HBAC service group." msgstr "" +msgid "" +"\n" +"Simulate use of Host-based access controls\n" +"\n" +"HBAC rules control who can access what services on what hosts.\n" +"You can use HBAC to control which users or groups can access a service,\n" +"or group of services, on a target host.\n" +"\n" +"Since applying HBAC rules implies use of a production environment,\n" +"this plugin aims to provide simulation of HBAC rules evaluation without\n" +"having access to the production environment.\n" +"\n" +" Test user coming to a service on a named host against\n" +" existing enabled rules.\n" +"\n" +" ipa hbactest --user= --host= --service=\n" +" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" +" [--sizelimit= ]\n" +"\n" +" --user, --host, and --service are mandatory, others are optional.\n" +"\n" +" If --rules is specified simulate enabling of the specified rules and test\n" +" the login of the user using only these rules.\n" +"\n" +" If --enabled is specified, all enabled HBAC rules will be added to " +"simulation\n" +"\n" +" If --disabled is specified, all disabled HBAC rules will be added to " +"simulation\n" +"\n" +" If --nodetail is specified, do not return information about rules matched/" +"not matched.\n" +"\n" +" If both --rules and --enabled are specified, apply simulation to --rules " +"_and_\n" +" all IPA enabled rules.\n" +"\n" +" If no --rules specified, simulation is run against all IPA enabled rules.\n" +" By default there is a IPA-wide limit to number of entries fetched, you can " +"change it\n" +" with --sizelimit option.\n" +"\n" +"EXAMPLES:\n" +"\n" +" 1. Use all enabled HBAC rules in IPA database to simulate:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Matched rules: allow_all\n" +"\n" +" 2. Disable detailed summary of how rules were applied:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +"\n" +" 3. Test explicitly specified HBAC rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --rules=myrule --rules=my-second-rule\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: myrule\n" +"\n" +" 4. Use all enabled HBAC rules in IPA database + explicitly specified " +"rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --rules=myrule --rules=my-second-rule --enabled\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Matched rules: allow_all\n" +"\n" +" 5. Test all disabled HBAC rules in IPA database:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: new-rule\n" +"\n" +" 6. Test all disabled HBAC rules in IPA database + explicitly specified " +"rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --rules=myrule --rules=my-second-rule --disabled\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +"\n" +" 7. Test all (enabled and disabled) HBAC rules in IPA database:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --enabled --disabled\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Not matched rules: new-rule\n" +" Matched rules: allow_all\n" +"\n" +"\n" +"HBACTEST AND TRUSTED DOMAINS\n" +"\n" +"When an external trusted domain is configured in IPA, HBAC rules are also " +"applied\n" +"on users accessing IPA resources from the trusted domain. Trusted domain " +"users and\n" +"groups (and their SIDs) can be then assigned to external groups which can " +"be\n" +"members of POSIX groups in IPA which can be used in HBAC rules and thus " +"allowing\n" +"access to resources protected by the HBAC system.\n" +"\n" +"hbactest plugin is capable of testing access for both local IPA users and " +"users\n" +"from the trusted domains, either by a fully qualified user name or by user " +"SID.\n" +"Such user names need to have a trusted domain specified as a short name\n" +"(DOMAIN\\Administrator) or with a user principal name (UPN), " +"Administrator@ad.test.\n" +"\n" +"Please note that hbactest executed with a trusted domain user as --user " +"parameter\n" +"can be only run by members of \"trust admins\" group.\n" +"\n" +"EXAMPLES:\n" +"\n" +" 1. Test if a user from a trusted domain specified by its shortname " +"matches any\n" +" rule:\n" +"\n" +" $ ipa hbactest --user 'DOMAIN\\Administrator' --host `hostname` --" +"service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 2. Test if a user from a trusted domain specified by its domain name " +"matches\n" +" any rule:\n" +"\n" +" $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --" +"service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 3. Test if a user from a trusted domain specified by its SID matches any " +"rule:\n" +"\n" +" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \\\n" +" --host `hostname` --service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 4. Test if other user from a trusted domain specified by its SID matches " +"any rule:\n" +"\n" +" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \\\n" +" --host `hostname` --service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Not matched rules: can_login\n" +"\n" +" 5. Test if other user from a trusted domain specified by its shortname " +"matches\n" +" any rule:\n" +"\n" +" $ ipa hbactest --user 'DOMAIN\\Otheruser' --host `hostname` --service " +"sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Not matched rules: can_login\n" +msgstr "" + +#: ipaserver/plugins/hbactest.py:256 +msgid "Simulate use of Host-based access controls" +msgstr "" + +#: ipaserver/plugins/hbactest.py:270 ipaserver/plugins/krbtpolicy.py:134 +msgid "User name" +msgstr "" + +#: ipaserver/plugins/hbactest.py:281 +msgid "Target host" +msgstr "" + +#: ipaserver/plugins/hbactest.py:289 +msgid "Rules to test. If not specified, --enabled is assumed" +msgstr "" + +#: ipaserver/plugins/hbactest.py:293 +msgid "Hide details which rules are matched, not matched, or invalid" +msgstr "" + +#: ipaserver/plugins/hbactest.py:297 +msgid "Include all enabled IPA rules into test [default]" +msgstr "" + +#: ipaserver/plugins/hbactest.py:301 +msgid "Include all disabled IPA rules into test" +msgstr "" + +#: ipaserver/plugins/hbactest.py:305 +msgid "Maximum number of rules to process when no --rules is specified" +msgstr "" + +#: ipaserver/plugins/hbactest.py:260 +msgid "Warning" +msgstr "" + +#: ipaserver/plugins/hbactest.py:261 +msgid "Matched rules" +msgstr "" + +#: ipaserver/plugins/hbactest.py:262 +msgid "Not matched rules" +msgstr "" + +#: ipaserver/plugins/hbactest.py:263 +msgid "Non-existent or invalid rules" +msgstr "" + +#: ipaserver/plugins/hbactest.py:264 +msgid "Result of simulation" +msgstr "" + msgid "" "\n" "Hosts/Machines\n" @@ -3873,22 +4801,22 @@ msgstr "" msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipaserver/plugins/host.py:527 +#: ipaserver/plugins/baseuser.py:343 msgid "Random password" msgstr "" -#: ipaserver/plugins/certmap.py:605 ipaserver/plugins/baseuser.py:462 -#: ipaserver/plugins/baseuser.py:949 ipaserver/plugins/cert.py:353 -#: ipaserver/plugins/host.py:532 ipaserver/plugins/idviews.py:1068 -#: ipaserver/plugins/internal.py:644 ipaserver/plugins/internal.py:728 -#: ipaserver/plugins/service.py:556 +#: ipaserver/plugins/certmap.py:605 ipaserver/plugins/idviews.py:1068 +#: ipaserver/plugins/ca.py:114 ipaserver/plugins/cert.py:353 +#: ipaserver/plugins/host.py:532 ipaserver/plugins/internal.py:644 +#: ipaserver/plugins/internal.py:728 ipaserver/plugins/service.py:556 +#: ipaserver/plugins/baseuser.py:462 ipaserver/plugins/baseuser.py:956 msgid "Certificate" msgstr "" msgid "Base-64 encoded server certificate" msgstr "" -#: ipaserver/plugins/host.py:574 ipaserver/plugins/service.py:530 +#: ipaserver/plugins/service.py:530 ipaserver/plugins/baseuser.py:303 msgid "Principal name" msgstr "" @@ -3898,11 +4826,11 @@ msgstr "" msgid "Hardware MAC address(es) on this host" msgstr "" -#: ipaserver/plugins/host.py:603 ipaserver/plugins/idviews.py:1062 +#: ipaserver/plugins/host.py:603 ipaserver/plugins/baseuser.py:402 msgid "SSH public key" msgstr "" -#: ipaserver/plugins/host.py:613 +#: ipaserver/plugins/baseuser.py:420 msgid "Class" msgstr "" @@ -3935,34 +4863,9 @@ msgstr "" msgid "Member of host-groups" msgstr "" -#: ipaserver/plugins/baseldap.py:80 -msgid "Roles" -msgstr "" - -msgid "Member of netgroups" -msgstr "" - -msgid "Member of Sudo rule" -msgstr "" - -msgid "Member of HBAC rule" -msgstr "" - -msgid "Indirect Member of netgroup" -msgstr "" - msgid "Indirect Member of host-group" msgstr "" -msgid "Indirect Member of role" -msgstr "" - -msgid "Indirect Member of Sudo rule" -msgstr "" - -msgid "Indirect Member of HBAC rule" -msgstr "" - #: ipaserver/plugins/service.py:128 msgid "Keytab" msgstr "" @@ -4062,55 +4965,37 @@ msgstr "" msgid "Search for hosts without these member of host groups." msgstr "" -msgid "netgroup" -msgstr "" - msgid "Search for hosts with these member of netgroups." msgstr "" msgid "Search for hosts without these member of netgroups." msgstr "" -#: ipaserver/plugins/serverrole.py:185 ipaserver/plugins/role.py:81 -msgid "role" -msgstr "" - msgid "Search for hosts with these member of roles." msgstr "" msgid "Search for hosts without these member of roles." msgstr "" -msgid "HBAC rule" -msgstr "" - msgid "Search for hosts with these member of HBAC rules." msgstr "" msgid "Search for hosts without these member of HBAC rules." msgstr "" -msgid "sudo rule" -msgstr "" - msgid "Search for hosts with these member of sudo rules." msgstr "" msgid "Search for hosts without these member of sudo rules." msgstr "" -#: ipaserver/plugins/sudorule.py:442 ipaserver/plugins/user.py:155 -#: ipaserver/plugins/user.py:181 ipaserver/plugins/user.py:893 -msgid "user" -msgstr "" - msgid "Search for hosts with these enrolled by users." msgstr "" msgid "Search for hosts without these enrolled by users." msgstr "" -#: ipaserver/plugins/host.py:292 ipaserver/plugins/sudorule.py:447 +#: ipaserver/plugins/sudorule.py:447 ipaserver/plugins/host.py:292 msgid "host" msgstr "" @@ -4269,6 +5154,242 @@ msgstr "" msgid "Display information about a hostgroup." msgstr "" +msgid "" +"\n" +"ID ranges\n" +"\n" +"Manage ID ranges used to map Posix IDs to SIDs and back.\n" +"\n" +"There are two type of ID ranges which are both handled by this utility:\n" +"\n" +" - the ID ranges of the local domain\n" +" - the ID ranges of trusted remote domains\n" +"\n" +"Both types have the following attributes in common:\n" +"\n" +" - base-id: the first ID of the Posix ID range\n" +" - range-size: the size of the range\n" +"\n" +"With those two attributes a range object can reserve the Posix IDs starting\n" +"with base-id up to but not including base-id+range-size exclusively.\n" +"\n" +"Additionally an ID range of the local domain may set\n" +" - rid-base: the first RID(*) of the corresponding RID range\n" +" - secondary-rid-base: first RID of the secondary RID range\n" +"\n" +"and an ID range of a trusted domain must set\n" +" - rid-base: the first RID of the corresponding RID range\n" +" - sid: domain SID of the trusted domain\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for a trusted domain\n" +"\n" +"Since there might be more than one trusted domain the domain SID must be " +"given\n" +"while creating the ID range.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" +"base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" +"\n" +"This ID range is then used by the IPA server and the SSSD IPA provider to\n" +"assign Posix UIDs to users from the trusted domain.\n" +"\n" +"If e.g. a range for a trusted domain is configured with the following " +"values:\n" +" base-id = 1200000\n" +" range-size = 200000\n" +" rid-base = 0\n" +"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " +"So\n" +"RID 1000 <-> Posix ID 1201000\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for the local domain\n" +"\n" +"To create an ID range for the local domain it is not necessary to specify a\n" +"domain SID. But since it is possible that a user and a group can have the " +"same\n" +"value as Posix ID a second RID interval is needed to handle conflicts.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" +"base=1000 --secondary-rid-base=1000000 local_range\n" +"\n" +"The data from the ID ranges of the local domain are used by the IPA server\n" +"internally to assign SIDs to IPA users and groups. The SID will then be " +"stored\n" +"in the user or group objects.\n" +"\n" +"If e.g. the ID range for the local domain is configured with the values " +"from\n" +"the example above then a new user with the UID 1200007 will get the RID " +"1007.\n" +"If this RID is already used by a group the RID will be 1000007. This can " +"only\n" +"happen if a user or a group object was created with a fixed ID because the\n" +"automatic assignment will not assign the same ID twice. Since there are " +"only\n" +"users and groups sharing the same ID namespace it is sufficient to have " +"only\n" +"one fallback range to handle conflicts.\n" +"\n" +"To find the Posix ID for a given RID from the local domain it has to be\n" +"checked first if the RID falls in the primary or secondary RID range and\n" +"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" +"and the base-id has to be added to get the Posix ID.\n" +"\n" +"Typically the creation of ID ranges happens behind the scenes and this CLI\n" +"must not be used at all. The ID range for the local domain will be created\n" +"during installation or upgrade from an older version. The ID range for a\n" +"trusted domain will be created together with the trust by 'ipa trust-" +"add ...'.\n" +"\n" +"USE CASES:\n" +"\n" +" Add an ID range from a transitively trusted domain\n" +"\n" +" If the trusted domain (A) trusts another domain (B) as well and this " +"trust\n" +" is transitive 'ipa trust-add domain-A' will only create a range for\n" +" domain A. The ID range for domain B must be added manually.\n" +"\n" +" Add an additional ID range for the local domain\n" +"\n" +" If the ID range of the local domain is exhausted, i.e. no new IDs can " +"be\n" +" assigned to Posix users or groups by the DNA plugin, a new range has to " +"be\n" +" created to allow new users and groups to be added. (Currently there is " +"no\n" +" connection between this range CLI and the DNA plugin, but a future " +"version\n" +" might be able to modify the configuration of the DNS plugin as well)\n" +"\n" +"In general it is not necessary to modify or delete ID ranges. If there is " +"no\n" +"other way to achieve a certain configuration than to modify or delete an ID\n" +"range it should be done with great care. Because UIDs are stored in the " +"file\n" +"system and are used for access control it might be possible that users are\n" +"allowed to access files of other users if an ID range got deleted and " +"reused\n" +"for a different domain.\n" +"\n" +"(*) The RID is typically the last integer of a user or group SID which " +"follows\n" +"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " +"from\n" +"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 is the RID of " +"the\n" +"user. RIDs are unique in a domain, 32bit values and are used for users and\n" +"groups.\n" +"\n" +"WARNING:\n" +"\n" +"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " +"the\n" +"local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +"on the local ranges set via this family of commands.\n" +"\n" +"Manual configuration change has to be done in the DNA plugin configuration " +"for\n" +"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" +"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " +"be\n" +"modified to match the new range.\n" +msgstr "" + +#: ipaserver/plugins/idrange.py:220 +msgid "Range name" +msgstr "" + +#: ipaserver/plugins/idrange.py:225 +msgid "First Posix ID of the range" +msgstr "" + +#: ipaserver/plugins/idrange.py:231 +msgid "Number of IDs in the range" +msgstr "" + +#: ipaserver/plugins/idrange.py:237 +msgid "First RID of the corresponding RID range" +msgstr "" + +#: ipaserver/plugins/idrange.py:241 +msgid "First RID of the secondary RID range" +msgstr "" + +#: ipaserver/plugins/idrange.py:246 ipaserver/plugins/idrange.py:657 +msgid "Domain SID of the trusted domain" +msgstr "" + +#: ipaserver/plugins/idrange.py:251 ipaserver/plugins/idrange.py:665 +msgid "Name of the trusted domain" +msgstr "" + +#: ipaserver/plugins/idrange.py:254 ipaserver/plugins/internal.py:1274 +msgid "Range type" +msgstr "" + +msgid "ID range type, one of ipa-ad-trust-posix, ipa-ad-trust, ipa-local" +msgstr "" + +msgid "" +"\n" +"Add new ID range.\n" +"\n" +" To add a new ID range you always have to specify\n" +"\n" +" --base-id\n" +" --range-size\n" +"\n" +" Additionally\n" +"\n" +" --rid-base\n" +" --secondary-rid-base\n" +"\n" +" may be given for a new ID range for the local domain while\n" +"\n" +" --rid-base\n" +" --dom-sid\n" +"\n" +" must be given to add a new range for a trusted AD domain.\n" +"\n" +" WARNING:\n" +"\n" +" DNA plugin in 389-ds will allocate IDs based on the ranges configured " +"for the\n" +" local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +" on the local ranges set via this family of commands.\n" +"\n" +" Manual configuration change has to be done in the DNA plugin " +"configuration for\n" +" the new local range. Specifically, The dnaNextRange attribute of " +"'cn=Posix\n" +" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has " +"to be\n" +" modified to match the new range.\n" +" " +msgstr "" + +#: ipaserver/plugins/idrange.py:558 +msgid "Delete an ID range." +msgstr "" + +#: ipaserver/plugins/idrange.py:606 +msgid "Search for ranges." +msgstr "" + +msgid "Modify ID range." +msgstr "" + +#: ipaserver/plugins/idrange.py:629 +msgid "Display information about a range." +msgstr "" + msgid "" "\n" "ID Views\n" @@ -4286,24 +5407,15 @@ msgstr "" msgid "Anchor to override" msgstr "" -#: ipaserver/plugins/idviews.py:1135 -msgid "Group name" -msgstr "" - -#: ipaserver/plugins/group.py:354 ipaserver/plugins/idviews.py:1045 -#: ipaserver/plugins/idviews.py:1140 -msgid "GID" -msgstr "" - -#: ipaserver/plugins/idviews.py:1046 ipaserver/plugins/idviews.py:1141 +#: ipaserver/plugins/idviews.py:1141 ipaserver/plugins/baseuser.py:354 msgid "Group ID Number" msgstr "" -#: ipaserver/plugins/idviews.py:1032 +#: ipaserver/plugins/baseuser.py:259 msgid "User login" msgstr "" -#: ipaserver/plugins/idviews.py:1037 +#: ipaserver/plugins/baseuser.py:348 msgid "UID" msgstr "" @@ -4311,15 +5423,15 @@ msgstr "" msgid "User ID Number" msgstr "" -#: ipaserver/plugins/baseuser.py:292 ipaserver/plugins/idviews.py:1042 +#: ipaserver/plugins/idviews.py:1042 ipaserver/plugins/baseuser.py:292 msgid "GECOS" msgstr "" -#: ipaserver/plugins/idviews.py:1051 +#: ipaserver/plugins/baseuser.py:289 msgid "Home directory" msgstr "" -#: ipaserver/plugins/idviews.py:1055 +#: ipaserver/plugins/baseuser.py:298 msgid "Login shell" msgstr "" @@ -4386,7 +5498,7 @@ msgid "" msgstr "" #: ipaserver/plugins/idviews.py:462 ipaserver/plugins/idviews.py:505 -#: ipaserver/plugins/sudorule.py:447 +#: ipaserver/plugins/sudorule.py:447 ipaserver/plugins/host.py:293 msgid "hosts" msgstr "" @@ -4567,10 +5679,6 @@ msgid "" " ipa krbtpolicy-mod admin --maxlife=3600\n" msgstr "" -#: ipaserver/plugins/passwd.py:94 ipaserver/plugins/krbtpolicy.py:134 -msgid "User name" -msgstr "" - #: ipaserver/plugins/krbtpolicy.py:135 msgid "Manage ticket policy for specific user" msgstr "" @@ -4872,9 +5980,6 @@ msgid "" "retrieve and print all attributes from the server. Affects command output." msgstr "" -msgid "Dictionary mapping variable name to value" -msgstr "" - msgid "Total number of variables env (>= count)" msgstr "" @@ -4991,11 +6096,6 @@ msgstr "" msgid "Search for netgroups without these member users." msgstr "" -#: ipaserver/plugins/group.py:424 ipaserver/plugins/group.py:698 -#: ipaserver/plugins/user.py:169 -msgid "group" -msgstr "" - msgid "Search for netgroups with these member groups." msgstr "" @@ -5103,6 +6203,186 @@ msgstr "" msgid "Show the current OTP configuration." msgstr "" +msgid "" +"\n" +"OTP Tokens\n" +"\n" +"Manage OTP tokens.\n" +"\n" +"IPA supports the use of OTP tokens for multi-factor authentication. This\n" +"code enables the management of OTP tokens.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new token:\n" +" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" +"\n" +" Examine the token:\n" +" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" +"\n" +" Change the vendor:\n" +" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red " +"Hat\"\n" +"\n" +" Delete a token:\n" +" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" +msgstr "" + +#: ipaserver/plugins/subid.py:136 ipaserver/plugins/otptoken.py:160 +msgid "Unique ID" +msgstr "" + +#: ipaserver/plugins/otptoken.py:166 +msgid "Type of the token" +msgstr "" + +#: ipaserver/plugins/otptoken.py:175 +msgid "Token description (informational only)" +msgstr "" + +#: ipaserver/plugins/subid.py:149 ipaserver/plugins/subid.py:467 +#: ipaserver/plugins/otptoken.py:179 ipaserver/plugins/internal.py:1400 +msgid "Owner" +msgstr "" + +#: ipaserver/plugins/otptoken.py:180 +msgid "Assigned user of the token (default: self)" +msgstr "" + +#: ipaserver/plugins/baseuser.py:395 +msgid "Manager" +msgstr "" + +#: ipaserver/plugins/otptoken.py:184 +msgid "Assigned manager of the token (default: self)" +msgstr "" + +#: ipaserver/plugins/otptoken.py:189 ipaserver/plugins/internal.py:1961 +msgid "Disabled" +msgstr "" + +#: ipaserver/plugins/otptoken.py:190 +msgid "Mark the token as disabled (default: false)" +msgstr "" + +#: ipaserver/plugins/otptoken.py:194 +msgid "Validity start" +msgstr "" + +#: ipaserver/plugins/otptoken.py:195 +msgid "First date/time the token can be used" +msgstr "" + +#: ipaserver/plugins/otptoken.py:199 +msgid "Validity end" +msgstr "" + +#: ipaserver/plugins/otptoken.py:200 +msgid "Last date/time the token can be used" +msgstr "" + +#: ipaserver/plugins/otptoken.py:204 +msgid "Vendor" +msgstr "" + +#: ipaserver/plugins/otptoken.py:205 +msgid "Token vendor name (informational only)" +msgstr "" + +#: ipaserver/plugins/otptoken.py:209 +msgid "Model" +msgstr "" + +#: ipaserver/plugins/otptoken.py:210 +msgid "Token model (informational only)" +msgstr "" + +#: ipaserver/plugins/otptoken.py:214 +msgid "Serial" +msgstr "" + +#: ipaserver/plugins/otptoken.py:215 +msgid "Token serial (informational only)" +msgstr "" + +#: ipaserver/plugins/otptoken.py:220 +msgid "Token secret (Base32; default: random)" +msgstr "" + +#: ipaserver/plugins/otptoken.py:230 +msgid "Token hash algorithm" +msgstr "" + +#: ipaserver/plugins/otptoken.py:238 +msgid "Digits" +msgstr "" + +#: ipaserver/plugins/otptoken.py:239 +msgid "Number of digits each token code will have" +msgstr "" + +#: ipaserver/plugins/otptoken.py:247 +msgid "Clock offset" +msgstr "" + +#: ipaserver/plugins/otptoken.py:248 +msgid "TOTP token / IPA server time difference" +msgstr "" + +#: ipaserver/plugins/otptoken.py:255 +msgid "Clock interval" +msgstr "" + +#: ipaserver/plugins/otptoken.py:256 +msgid "Length of TOTP token code validity" +msgstr "" + +#: ipaserver/plugins/otptoken.py:264 +msgid "Counter" +msgstr "" + +#: ipaserver/plugins/otptoken.py:265 +msgid "Initial counter for the HOTP token" +msgstr "" + +#: ipaserver/plugins/otptoken.py:280 +msgid "Add a new OTP token." +msgstr "" + +#: ipaserver/plugins/otptoken.py:284 +msgid "(deprecated)" +msgstr "" + +#: ipaserver/plugins/otptoken.py:285 +msgid "Do not display QR code" +msgstr "" + +#: ipaserver/plugins/otptoken.py:463 +msgid "Add users that can manage this token." +msgstr "" + +#: ipaserver/plugins/otptoken.py:366 +msgid "Delete an OTP token." +msgstr "" + +#: ipaserver/plugins/otptoken.py:421 +msgid "Search for OTP token." +msgstr "" + +msgid "Results should contain primary key attribute only (\"id\")" +msgstr "" + +#: ipaserver/plugins/otptoken.py:372 +msgid "Modify a OTP token." +msgstr "" + +msgid "Rename the OTP token object" +msgstr "" + +#: ipaserver/plugins/otptoken.py:450 +msgid "Display information about an OTP token." +msgstr "" + msgid "" "\n" "YubiKey Tokens\n" @@ -5586,7 +6866,7 @@ msgid "" " ipa pwpolicy-mod --minclasses=2 localadmins\n" msgstr "" -#: ipaserver/plugins/internal.py:1681 ipaserver/plugins/pwpolicy.py:307 +#: ipaserver/plugins/pwpolicy.py:307 ipaserver/plugins/internal.py:1681 msgid "Group" msgstr "" @@ -5688,9 +6968,9 @@ msgstr "" msgid "Display information about password policy." msgstr "" -#: ipaserver/plugins/baseuser.py:251 ipaserver/plugins/internal.py:1203 +#: ipaserver/plugins/pwpolicy.py:641 ipaserver/plugins/internal.py:1203 #: ipaserver/plugins/internal.py:1327 ipaserver/plugins/internal.py:1715 -#: ipaserver/plugins/pwpolicy.py:641 ipaserver/plugins/user.py:180 +#: ipaserver/plugins/user.py:180 ipaserver/plugins/baseuser.py:251 msgid "User" msgstr "" @@ -5819,8 +7099,9 @@ msgid "" " ipa realmdomains-mod --del-domain=olddomain.com\n" msgstr "" -#: ipaserver/plugins/realmdomains.py:115 ipaserver/plugins/internal.py:720 -#: ipaserver/plugins/internal.py:1562 ipaserver/plugins/trust.py:1249 +#: ipaserver/plugins/realmdomains.py:115 ipaserver/plugins/certmap.py:566 +#: ipaserver/plugins/trust.py:1249 ipaserver/plugins/internal.py:720 +#: ipaserver/plugins/internal.py:1562 msgid "Domain" msgstr "" @@ -5881,19 +7162,13 @@ msgid "" " add users, reset passwords or add a user to the default IPA user group.\n" msgstr "" -#: ipaserver/plugins/serverrole.py:191 ipaserver/plugins/role.py:148 +#: ipaserver/plugins/serverrole.py:64 ipaserver/plugins/serverrole.py:191 msgid "Role name" msgstr "" msgid "A description of this role-group" msgstr "" -msgid "Member users" -msgstr "" - -msgid "Member groups" -msgstr "" - msgid "Privileges" msgstr "" @@ -6184,9 +7459,6 @@ msgid "" "httpd.keytab\n" msgstr "" -msgid "Principal" -msgstr "" - #: ipaserver/plugins/service.py:531 msgid "Service principal" msgstr "" @@ -6944,10 +8216,6 @@ msgstr "" msgid "Sudo Command Group" msgstr "" -#: ipaserver/plugins/sudocmdgroup.py:131 ipaserver/plugins/group.py:350 -msgid "Group description" -msgstr "" - #: ipaserver/plugins/sudocmdgroup.py:134 ipaserver/plugins/internal.py:1428 msgid "Commands" msgstr "" @@ -6996,6 +8264,251 @@ msgstr "" msgid "Display Sudo Command Group." msgstr "" +msgid "" +"\n" +"Cross-realm trusts\n" +"\n" +"Manage trust relationship between IPA and Active Directory domains.\n" +"\n" +"In order to allow users from a remote domain to access resources in IPA\n" +"domain, trust relationship needs to be established. Currently IPA supports\n" +"only trusts between IPA and Active Directory domains under control of " +"Windows\n" +"Server 2008 or later, with functional level 2008 or later.\n" +"\n" +"Please note that DNS on both IPA and Active Directory domain sides should " +"be\n" +"configured properly to discover each other. Trust relationship relies on\n" +"ability to discover special resources in the other domain via DNS records.\n" +"\n" +"Examples:\n" +"\n" +"1. Establish cross-realm trust with Active Directory using AD administrator\n" +" credentials:\n" +"\n" +" ipa trust-add --type=ad --admin --" +"password\n" +"\n" +"2. List all existing trust relationships:\n" +"\n" +" ipa trust-find\n" +"\n" +"3. Show details of the specific trust relationship:\n" +"\n" +" ipa trust-show \n" +"\n" +"4. Delete existing trust relationship:\n" +"\n" +" ipa trust-del \n" +"\n" +"Once trust relationship is established, remote users will need to be mapped\n" +"to local POSIX groups in order to actually use IPA resources. The mapping " +"should\n" +"be done via use of external membership of non-POSIX group and then this " +"group\n" +"should be included into one of local POSIX groups.\n" +"\n" +"Example:\n" +"\n" +"1. Create group for the trusted domain admins' mapping and their local POSIX " +"group:\n" +"\n" +" ipa group-add --desc=' admins external map' ad_admins_external " +"--external\n" +" ipa group-add --desc=' admins' ad_admins\n" +"\n" +"2. Add security identifier of Domain Admins of the to the " +"ad_admins_external\n" +" group:\n" +"\n" +" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" +"\n" +"3. Allow members of ad_admins_external group to be associated with ad_admins " +"POSIX group:\n" +"\n" +" ipa group-add-member ad_admins --groups ad_admins_external\n" +"\n" +"4. List members of external members of ad_admins_external group to see their " +"SIDs:\n" +"\n" +" ipa group-show ad_admins_external\n" +"\n" +"\n" +"GLOBAL TRUST CONFIGURATION\n" +"\n" +"When IPA AD trust subpackage is installed and ipa-adtrust-install is run,\n" +"a local domain configuration (SID, GUID, NetBIOS name) is generated. These\n" +"identifiers are then used when communicating with a trusted domain of the\n" +"particular type.\n" +"\n" +"1. Show global trust configuration for Active Directory type of trusts:\n" +"\n" +" ipa trustconfig-show --type ad\n" +"\n" +"2. Modify global configuration for all trusts of Active Directory type and " +"set\n" +" a different fallback primary group (fallback primary group GID is used " +"as\n" +" a primary user GID if user authenticating to IPA domain does not have any " +"other\n" +" primary GID already set):\n" +"\n" +" ipa trustconfig-mod --type ad --fallback-primary-group \"alternative AD " +"group\"\n" +"\n" +"3. Change primary fallback group back to default hidden group (any group " +"with\n" +" posixGroup object class is allowed):\n" +"\n" +" ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB " +"Group\"\n" +msgstr "" + +#: ipaserver/plugins/trust.py:1589 ipaserver/plugins/internal.py:1565 +msgid "Domain NetBIOS name" +msgstr "" + +#: ipaserver/plugins/trust.py:1592 ipaserver/plugins/internal.py:1566 +msgid "Domain Security Identifier" +msgstr "" + +msgid "SID blacklist incoming" +msgstr "" + +msgid "SID blacklist outgoing" +msgstr "" + +msgid "Security Identifier" +msgstr "" + +msgid "NetBIOS name" +msgstr "" + +msgid "Domain GUID" +msgstr "" + +msgid "Fallback primary group" +msgstr "" + +#: ipaserver/plugins/certmap.py:298 ipaserver/plugins/trust.py:1584 +msgid "Domain name" +msgstr "" + +msgid "Trusted domain partner" +msgstr "" + +msgid "Determine whether ipa-adtrust-install has been run on this system" +msgstr "" + +msgid "" +"Determine whether Schema Compatibility plugin is configured to serve trusted " +"domain users and groups" +msgstr "" + +msgid "Determine whether ipa-adtrust-install has been run with sidgen task" +msgstr "" + +msgid "" +"\n" +"Add new trust to use.\n" +"\n" +"This command establishes trust relationship to another domain\n" +"which becomes 'trusted'. As result, users of the trusted domain\n" +"may access resources of this domain.\n" +"\n" +"Only trusts to Active Directory domains are supported right now.\n" +"\n" +"The command can be safely run multiple times against the same domain,\n" +"this will cause change to trust relationship credentials on both\n" +"sides.\n" +" " +msgstr "" + +msgid "Trust type (ad for Active Directory, default)" +msgstr "" + +#: ipaserver/plugins/trust.py:1802 +msgid "Active Directory domain administrator" +msgstr "" + +#: ipaserver/plugins/trust.py:1806 +msgid "Active Directory domain administrator's password" +msgstr "" + +#: ipaserver/plugins/trust.py:1811 +msgid "Domain controller for the Active Directory domain (optional)" +msgstr "" + +msgid "Shared secret for the trust" +msgstr "" + +msgid "First Posix ID of the range reserved for the trusted domain" +msgstr "" + +msgid "Size of the ID range reserved for the trusted domain" +msgstr "" + +msgid "" +"Type of trusted domain ID range, one of ipa-ad-trust-posix, ipa-ad-trust" +msgstr "" + +msgid "Delete a trust." +msgstr "" + +msgid "Refresh list of the domains associated with the trust" +msgstr "" + +msgid "Search for trusts." +msgstr "" + +msgid "Results should contain primary key attribute only (\"realm\")" +msgstr "" + +msgid "" +"\n" +"Modify a trust (for future use).\n" +"\n" +" Currently only the default option to modify the LDAP attributes is\n" +" available. More specific options will be added in coming releases.\n" +" " +msgstr "" + +msgid "Resolve security identifiers of users and groups in trusted domains" +msgstr "" + +msgid "Security Identifiers (SIDs)" +msgstr "" + +msgid "Display information about a trust." +msgstr "" + +msgid "Modify global trust configuration." +msgstr "" + +msgid "Show global trust configuration." +msgstr "" + +msgid "Allow access from the trusted domain" +msgstr "" + +msgid "Remove information about the domain associated with the trust." +msgstr "" + +msgid "Disable use of IPA resources by the domain of the trust" +msgstr "" + +msgid "Allow use of IPA resources by the domain of the trust" +msgstr "" + +msgid "Search domains of the trust" +msgstr "" + +msgid "Results should contain primary key attribute only (\"domain\")" +msgstr "" + +msgid "Modify trustdomain of the trust" +msgstr "" + msgid "" "\n" "Users\n" @@ -7047,7 +8560,7 @@ msgstr "" msgid "Last name" msgstr "" -#: ipaserver/plugins/schema.py:152 +#: ipaserver/plugins/baseuser.py:273 msgid "Full name" msgstr "" @@ -7106,10 +8619,6 @@ msgstr "" msgid "Job Title" msgstr "" -#: ipaserver/plugins/baseuser.py:395 -msgid "Manager" -msgstr "" - msgid "Car License" msgstr "" @@ -7154,12 +8663,6 @@ msgstr "" msgid "Preferred Language" msgstr "" -msgid "Member of groups" -msgstr "" - -msgid "Indirect Member of group" -msgstr "" - msgid "Kerberos keys available" msgstr "" @@ -7270,1263 +8773,6 @@ msgid "" " " msgstr "" -msgid "" -"\n" -"Auto Membership Rule.\n" -"\n" -"Bring clarity to the membership of hosts and users by configuring inclusive\n" -"or exclusive regex patterns, you can automatically assign a new entries " -"into\n" -"a group or hostgroup based upon attribute information.\n" -"\n" -"A rule is directly associated with a group by name, so you cannot create\n" -"a rule without an accompanying group or hostgroup.\n" -"\n" -"A condition is a regular expression used by 389-ds to match a new incoming\n" -"entry with an automember rule. If it matches an inclusive rule then the\n" -"entry is added to the appropriate group or hostgroup.\n" -"\n" -"A default group or hostgroup could be specified for entries that do not\n" -"match any rule. In case of user entries this group will be a fallback group\n" -"because all users are by default members of group specified in IPA config.\n" -"\n" -"The automember-rebuild command can be used to retroactively run automember " -"rules\n" -"against existing entries, thus rebuilding their membership.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add the initial group or hostgroup:\n" -" ipa hostgroup-add --desc=\"Web Servers\" webservers\n" -" ipa group-add --desc=\"Developers\" devel\n" -"\n" -" Add the initial rule:\n" -" ipa automember-add --type=hostgroup webservers\n" -" ipa automember-add --type=group devel\n" -"\n" -" Add a condition to the rule:\n" -" ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-" -"regex=^web[1-9]+\\.example\\.com webservers\n" -" ipa automember-add-condition --key=manager --type=group --inclusive-" -"regex=^uid=mscott devel\n" -"\n" -" Add an exclusive condition to the rule to prevent auto assignment:\n" -" ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-" -"regex=^web5\\.example\\.com webservers\n" -"\n" -" Add a host:\n" -" ipa host-add web1.example.com\n" -"\n" -" Add a user:\n" -" ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" -"\n" -" Verify automembership:\n" -" ipa hostgroup-show webservers\n" -" Host-group: webservers\n" -" Description: Web Servers\n" -" Member hosts: web1.example.com\n" -"\n" -" ipa group-show devel\n" -" Group name: devel\n" -" Description: Developers\n" -" GID: 1004200000\n" -" Member users: tuser\n" -"\n" -" Remove a condition from the rule:\n" -" ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-" -"regex=^web[1-9]+\\.example\\.com webservers\n" -"\n" -" Modify the automember rule:\n" -" ipa automember-mod\n" -"\n" -" Set the default (fallback) target group:\n" -" ipa automember-default-group-set --default-group=webservers --" -"type=hostgroup\n" -" ipa automember-default-group-set --default-group=ipausers --type=group\n" -"\n" -" Remove the default (fallback) target group:\n" -" ipa automember-default-group-remove --type=hostgroup\n" -" ipa automember-default-group-remove --type=group\n" -"\n" -" Show the default (fallback) target group:\n" -" ipa automember-default-group-show --type=hostgroup\n" -" ipa automember-default-group-show --type=group\n" -"\n" -" Find all of the automember rules:\n" -" ipa automember-find\n" -"\n" -" Display a automember rule:\n" -" ipa automember-show --type=hostgroup webservers\n" -" ipa automember-show --type=group devel\n" -"\n" -" Delete an automember rule:\n" -" ipa automember-del --type=hostgroup webservers\n" -" ipa automember-del --type=group devel\n" -"\n" -" Rebuild membership for all users:\n" -" ipa automember-rebuild --type=group\n" -"\n" -" Rebuild membership for all hosts:\n" -" ipa automember-rebuild --type=hostgroup\n" -"\n" -" Rebuild membership for specified users:\n" -" ipa automember-rebuild --users=tuser1 --users=tuser2\n" -"\n" -" Rebuild membership for specified hosts:\n" -" ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example." -"com\n" -msgstr "" - -#: ipaserver/plugins/automember.py:258 -msgid "A description of this auto member rule" -msgstr "" - -#: ipaserver/plugins/automember.py:262 ipaserver/plugins/automember.py:585 -msgid "Default (fallback) Group" -msgstr "" - -#: ipaserver/plugins/automember.py:263 -msgid "Default group for entries to land" -msgstr "" - -msgid "Add an automember rule." -msgstr "" - -#: ipaserver/plugins/automember.py:249 ipaserver/plugins/automember.py:250 -msgid "Automember Rule" -msgstr "" - -#: ipaserver/plugins/automember.py:184 -msgid "Grouping Type" -msgstr "" - -#: ipaserver/plugins/automember.py:185 -msgid "Grouping to which the rule applies" -msgstr "" - -msgid "Add conditions to an automember rule." -msgstr "" - -#: ipaserver/plugins/automember.py:160 ipaserver/plugins/automember.py:161 -msgid "Inclusive Regex" -msgstr "" - -#: ipaserver/plugins/automember.py:167 ipaserver/plugins/automember.py:168 -msgid "Exclusive Regex" -msgstr "" - -#: ipaserver/plugins/automember.py:176 -msgid "Attribute Key" -msgstr "" - -#: ipaserver/plugins/automember.py:177 -msgid "" -"Attribute to filter via regex. For example fqdn for a host, or manager for a " -"user" -msgstr "" - -#: ipaserver/plugins/automember.py:357 -msgid "Conditions that could not be added" -msgstr "" - -#: ipaserver/plugins/automember.py:361 -msgid "Number of conditions added" -msgstr "" - -msgid "Remove default (fallback) group for all unmatched entries." -msgstr "" - -msgid "Set default (fallback) group for all unmatched entries." -msgstr "" - -#: ipaserver/plugins/automember.py:586 -msgid "Default (fallback) group for entries to land" -msgstr "" - -msgid "Display information about the default (fallback) automember groups." -msgstr "" - -msgid "Delete an automember rule." -msgstr "" - -msgid "Search for automember rules." -msgstr "" - -msgid "Modify an automember rule." -msgstr "" - -#: ipaserver/plugins/automember.py:683 -msgid "Rebuild auto membership." -msgstr "" - -#: ipaserver/plugins/automember.py:693 -msgid "Rebuild membership for all members of a grouping" -msgstr "" - -#: ipaserver/plugins/automember.py:698 -msgid "Rebuild membership for specified users" -msgstr "" - -#: ipaserver/plugins/automember.py:703 -msgid "Rebuild membership for specified hosts" -msgstr "" - -#: ipaserver/plugins/automember.py:708 -msgid "No wait" -msgstr "" - -#: ipaserver/plugins/automember.py:709 -msgid "Don't wait for rebuilding membership" -msgstr "" - -msgid "Remove conditions from an automember rule." -msgstr "" - -#: ipaserver/plugins/automember.py:441 -msgid "Conditions that could not be removed" -msgstr "" - -#: ipaserver/plugins/automember.py:445 -msgid "Number of conditions removed" -msgstr "" - -msgid "Display information about an automember rule." -msgstr "" - -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" -"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" -"subject to values configured in the server.\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" -"SEARCHING:\n" -"\n" -"Certificates may be searched on by certificate subject, serial number,\n" -"revocation reason, validity dates and the issued date.\n" -"\n" -"When searching on dates the _from date does a >= search and the _to date\n" -"does a <= search. When combined these are done as an AND.\n" -"\n" -"Dates are treated as GMT to match the dates in the certificates.\n" -"\n" -"The date format is YYYY-mm-dd.\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" -" Search for certificates by hostname:\n" -" ipa cert-find --subject=ipaserver.example.com\n" -"\n" -" Search for revoked certificates by reason:\n" -" ipa cert-find --revocation-reason=5\n" -"\n" -" Search for certificates based on issuance date\n" -" ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\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" -msgstr "" - -msgid "Checks if any of the servers has the CA service enabled." -msgstr "" - -msgid "Search for existing certificates." -msgstr "" - -msgid "Match cn attribute in subject" -msgstr "" - -msgid "Reason" -msgstr "" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "" - -msgid "minimum serial number" -msgstr "" - -msgid "maximum serial number" -msgstr "" - -msgid "match the common name exactly" -msgstr "" - -msgid "Valid not after from this date (YYYY-mm-dd)" -msgstr "" - -msgid "Valid not after to this date (YYYY-mm-dd)" -msgstr "" - -msgid "Valid not before from this date (YYYY-mm-dd)" -msgstr "" - -msgid "Valid not before to this date (YYYY-mm-dd)" -msgstr "" - -msgid "Issued on from this date (YYYY-mm-dd)" -msgstr "" - -msgid "Issued on to this date (YYYY-mm-dd)" -msgstr "" - -msgid "Revoked on from this date (YYYY-mm-dd)" -msgstr "" - -msgid "Revoked on to this date (YYYY-mm-dd)" -msgstr "" - -msgid "Maximum number of certs returned" -msgstr "" - -msgid "Take a revoked certificate off hold." -msgstr "" - -msgid "Serial number" -msgstr "" - -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "" - -msgid "Submit a certificate signing request." -msgstr "" - -msgid "CSR" -msgstr "" - -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "" - -msgid "automatically add the principal if it doesn't exist" -msgstr "" - -msgid "Revoke a certificate." -msgstr "" - -msgid "Retrieve an existing certificate." -msgstr "" - -msgid "Output filename" -msgstr "" - -msgid "File to store the certificate in." -msgstr "" - -msgid "Check the status of a certificate signing request." -msgstr "" - -msgid "Request id" -msgstr "" - -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. You can use the --posix argument with the group-mod command\n" -"to convert a non-POSIX group into 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 multiple users to the \"localadmins\" group:\n" -" ipa group-add-member --users=test1 --users=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" -"\n" -"External group membership is designed to allow users from trusted domains\n" -"to be mapped to local POSIX groups in order to actually use IPA resources.\n" -"External members should be added to groups that specifically created as\n" -"external and non-POSIX. Such group later should be included into one of " -"POSIX\n" -"groups.\n" -"\n" -"An external group member is currently a Security Identifier (SID) as defined " -"by\n" -"the trusted domain. When adding external group members, it is possible to\n" -"specify them in either SID, or DOM\\name, or name@domain format. IPA will " -"attempt\n" -"to resolve passed name to SID with the use of Global Catalog of the trusted " -"domain.\n" -"\n" -"Example:\n" -"\n" -"1. Create group for the trusted domain admins' mapping and their local POSIX " -"group:\n" -"\n" -" ipa group-add --desc=' admins external map' ad_admins_external " -"--external\n" -" ipa group-add --desc=' admins' ad_admins\n" -"\n" -"2. Add security identifier of Domain Admins of the to the " -"ad_admins_external\n" -" group:\n" -"\n" -" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" -"\n" -"3. Allow members of ad_admins_external group to be associated with ad_admins " -"POSIX group:\n" -"\n" -" ipa group-add-member ad_admins --groups ad_admins_external\n" -"\n" -"4. List members of external members of ad_admins_external group to see their " -"SIDs:\n" -"\n" -" ipa group-show ad_admins_external\n" -msgstr "" - -msgid "GID (use this option to set it manually)" -msgstr "" - -msgid "Indirect Member users" -msgstr "" - -msgid "Indirect Member groups" -msgstr "" - -msgid "Create a new group." -msgstr "" - -msgid "Create as a non-POSIX group" -msgstr "" - -msgid "Allow adding external non-IPA members from trusted domains" -msgstr "" - -msgid "Add members to a group." -msgstr "" - -msgid "External member" -msgstr "" - -msgid "Members of a trusted domain in DOM\\name or name@domain form" -msgstr "" - -msgid "Delete group." -msgstr "" - -msgid "Detach a managed group from a user." -msgstr "" - -msgid "Search for groups." -msgstr "" - -msgid "search for private groups" -msgstr "" - -msgid "search for POSIX groups" -msgstr "" - -msgid "" -"search for groups with support of external non-IPA members from trusted " -"domains" -msgstr "" - -msgid "search for non-POSIX groups" -msgstr "" - -msgid "Results should contain primary key attribute only (\"group-name\")" -msgstr "" - -msgid "Search for groups with these member users." -msgstr "" - -msgid "Search for groups without these member users." -msgstr "" - -msgid "Search for groups with these member groups." -msgstr "" - -msgid "Search for groups without these member groups." -msgstr "" - -msgid "Search for groups with these member of groups." -msgstr "" - -msgid "Search for groups without these member of groups." -msgstr "" - -msgid "Search for groups with these member of netgroups." -msgstr "" - -msgid "Search for groups without these member of netgroups." -msgstr "" - -msgid "Search for groups with these member of roles." -msgstr "" - -msgid "Search for groups without these member of roles." -msgstr "" - -msgid "Search for groups with these member of HBAC rules." -msgstr "" - -msgid "Search for groups without these member of HBAC rules." -msgstr "" - -msgid "Search for groups with these member of sudo rules." -msgstr "" - -msgid "Search for groups without these member of sudo rules." -msgstr "" - -msgid "Modify a group." -msgstr "" - -msgid "change to a POSIX group" -msgstr "" - -msgid "change to support external non-IPA members from trusted domains" -msgstr "" - -msgid "Rename the group object" -msgstr "" - -msgid "Remove members from a group." -msgstr "" - -msgid "Display information about a named group." -msgstr "" - -msgid "" -"\n" -"Simulate use of Host-based access controls\n" -"\n" -"HBAC rules control who can access what services on what hosts.\n" -"You can use HBAC to control which users or groups can access a service,\n" -"or group of services, on a target host.\n" -"\n" -"Since applying HBAC rules implies use of a production environment,\n" -"this plugin aims to provide simulation of HBAC rules evaluation without\n" -"having access to the production environment.\n" -"\n" -" Test user coming to a service on a named host against\n" -" existing enabled rules.\n" -"\n" -" ipa hbactest --user= --host= --service=\n" -" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" -" [--sizelimit= ]\n" -"\n" -" --user, --host, and --service are mandatory, others are optional.\n" -"\n" -" If --rules is specified simulate enabling of the specified rules and test\n" -" the login of the user using only these rules.\n" -"\n" -" If --enabled is specified, all enabled HBAC rules will be added to " -"simulation\n" -"\n" -" If --disabled is specified, all disabled HBAC rules will be added to " -"simulation\n" -"\n" -" If --nodetail is specified, do not return information about rules matched/" -"not matched.\n" -"\n" -" If both --rules and --enabled are specified, apply simulation to --rules " -"_and_\n" -" all IPA enabled rules.\n" -"\n" -" If no --rules specified, simulation is run against all IPA enabled rules.\n" -" By default there is a IPA-wide limit to number of entries fetched, you can " -"change it\n" -" with --sizelimit option.\n" -"\n" -"EXAMPLES:\n" -"\n" -" 1. Use all enabled HBAC rules in IPA database to simulate:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Matched rules: allow_all\n" -"\n" -" 2. Disable detailed summary of how rules were applied:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -"\n" -" 3. Test explicitly specified HBAC rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --rules=myrule --rules=my-second-rule\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: myrule\n" -"\n" -" 4. Use all enabled HBAC rules in IPA database + explicitly specified " -"rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --rules=myrule --rules=my-second-rule --enabled\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Matched rules: allow_all\n" -"\n" -" 5. Test all disabled HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: new-rule\n" -"\n" -" 6. Test all disabled HBAC rules in IPA database + explicitly specified " -"rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --rules=myrule --rules=my-second-rule --disabled\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -"\n" -" 7. Test all (enabled and disabled) HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --enabled --disabled\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Not matched rules: new-rule\n" -" Matched rules: allow_all\n" -"\n" -"\n" -"HBACTEST AND TRUSTED DOMAINS\n" -"\n" -"When an external trusted domain is configured in IPA, HBAC rules are also " -"applied\n" -"on users accessing IPA resources from the trusted domain. Trusted domain " -"users and\n" -"groups (and their SIDs) can be then assigned to external groups which can " -"be\n" -"members of POSIX groups in IPA which can be used in HBAC rules and thus " -"allowing\n" -"access to resources protected by the HBAC system.\n" -"\n" -"hbactest plugin is capable of testing access for both local IPA users and " -"users\n" -"from the trusted domains, either by a fully qualified user name or by user " -"SID.\n" -"Such user names need to have a trusted domain specified as a short name\n" -"(DOMAIN\\Administrator) or with a user principal name (UPN), " -"Administrator@ad.test.\n" -"\n" -"Please note that hbactest executed with a trusted domain user as --user " -"parameter\n" -"can be only run by members of \"trust admins\" group.\n" -"\n" -"EXAMPLES:\n" -"\n" -" 1. Test if a user from a trusted domain specified by its shortname " -"matches any\n" -" rule:\n" -"\n" -" $ ipa hbactest --user 'DOMAIN\\Administrator' --host `hostname` --" -"service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" -"\n" -" 2. Test if a user from a trusted domain specified by its domain name " -"matches\n" -" any rule:\n" -"\n" -" $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --" -"service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" -"\n" -" 3. Test if a user from a trusted domain specified by its SID matches any " -"rule:\n" -"\n" -" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \\\n" -" --host `hostname` --service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" -"\n" -" 4. Test if other user from a trusted domain specified by its SID matches " -"any rule:\n" -"\n" -" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \\\n" -" --host `hostname` --service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Not matched rules: can_login\n" -"\n" -" 5. Test if other user from a trusted domain specified by its shortname " -"matches\n" -" any rule:\n" -"\n" -" $ ipa hbactest --user 'DOMAIN\\Otheruser' --host `hostname` --service " -"sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Not matched rules: can_login\n" -msgstr "" - -#: ipaserver/plugins/hbactest.py:256 -msgid "Simulate use of Host-based access controls" -msgstr "" - -#: ipaserver/plugins/hbactest.py:281 -msgid "Target host" -msgstr "" - -#: ipaserver/plugins/hbactest.py:289 -msgid "Rules to test. If not specified, --enabled is assumed" -msgstr "" - -#: ipaserver/plugins/hbactest.py:293 -msgid "Hide details which rules are matched, not matched, or invalid" -msgstr "" - -#: ipaserver/plugins/hbactest.py:297 -msgid "Include all enabled IPA rules into test [default]" -msgstr "" - -#: ipaserver/plugins/hbactest.py:301 -msgid "Include all disabled IPA rules into test" -msgstr "" - -#: ipaserver/plugins/hbactest.py:305 -msgid "Maximum number of rules to process when no --rules is specified" -msgstr "" - -#: ipaserver/plugins/hbactest.py:260 -msgid "Warning" -msgstr "" - -#: ipaserver/plugins/hbactest.py:261 -msgid "Matched rules" -msgstr "" - -#: ipaserver/plugins/hbactest.py:262 -msgid "Not matched rules" -msgstr "" - -#: ipaserver/plugins/hbactest.py:263 -msgid "Non-existent or invalid rules" -msgstr "" - -#: ipaserver/plugins/hbactest.py:264 -msgid "Result of simulation" -msgstr "" - -msgid "" -"\n" -"ID ranges\n" -"\n" -"Manage ID ranges used to map Posix IDs to SIDs and back.\n" -"\n" -"There are two type of ID ranges which are both handled by this utility:\n" -"\n" -" - the ID ranges of the local domain\n" -" - the ID ranges of trusted remote domains\n" -"\n" -"Both types have the following attributes in common:\n" -"\n" -" - base-id: the first ID of the Posix ID range\n" -" - range-size: the size of the range\n" -"\n" -"With those two attributes a range object can reserve the Posix IDs starting\n" -"with base-id up to but not including base-id+range-size exclusively.\n" -"\n" -"Additionally an ID range of the local domain may set\n" -" - rid-base: the first RID(*) of the corresponding RID range\n" -" - secondary-rid-base: first RID of the secondary RID range\n" -"\n" -"and an ID range of a trusted domain must set\n" -" - rid-base: the first RID of the corresponding RID range\n" -" - sid: domain SID of the trusted domain\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for a trusted domain\n" -"\n" -"Since there might be more than one trusted domain the domain SID must be " -"given\n" -"while creating the ID range.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" -"base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" -"\n" -"This ID range is then used by the IPA server and the SSSD IPA provider to\n" -"assign Posix UIDs to users from the trusted domain.\n" -"\n" -"If e.g. a range for a trusted domain is configured with the following " -"values:\n" -" base-id = 1200000\n" -" range-size = 200000\n" -" rid-base = 0\n" -"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " -"So\n" -"RID 1000 <-> Posix ID 1201000\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for the local domain\n" -"\n" -"To create an ID range for the local domain it is not necessary to specify a\n" -"domain SID. But since it is possible that a user and a group can have the " -"same\n" -"value as Posix ID a second RID interval is needed to handle conflicts.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" -"base=1000 --secondary-rid-base=1000000 local_range\n" -"\n" -"The data from the ID ranges of the local domain are used by the IPA server\n" -"internally to assign SIDs to IPA users and groups. The SID will then be " -"stored\n" -"in the user or group objects.\n" -"\n" -"If e.g. the ID range for the local domain is configured with the values " -"from\n" -"the example above then a new user with the UID 1200007 will get the RID " -"1007.\n" -"If this RID is already used by a group the RID will be 1000007. This can " -"only\n" -"happen if a user or a group object was created with a fixed ID because the\n" -"automatic assignment will not assign the same ID twice. Since there are " -"only\n" -"users and groups sharing the same ID namespace it is sufficient to have " -"only\n" -"one fallback range to handle conflicts.\n" -"\n" -"To find the Posix ID for a given RID from the local domain it has to be\n" -"checked first if the RID falls in the primary or secondary RID range and\n" -"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" -"and the base-id has to be added to get the Posix ID.\n" -"\n" -"Typically the creation of ID ranges happens behind the scenes and this CLI\n" -"must not be used at all. The ID range for the local domain will be created\n" -"during installation or upgrade from an older version. The ID range for a\n" -"trusted domain will be created together with the trust by 'ipa trust-" -"add ...'.\n" -"\n" -"USE CASES:\n" -"\n" -" Add an ID range from a transitively trusted domain\n" -"\n" -" If the trusted domain (A) trusts another domain (B) as well and this " -"trust\n" -" is transitive 'ipa trust-add domain-A' will only create a range for\n" -" domain A. The ID range for domain B must be added manually.\n" -"\n" -" Add an additional ID range for the local domain\n" -"\n" -" If the ID range of the local domain is exhausted, i.e. no new IDs can " -"be\n" -" assigned to Posix users or groups by the DNA plugin, a new range has to " -"be\n" -" created to allow new users and groups to be added. (Currently there is " -"no\n" -" connection between this range CLI and the DNA plugin, but a future " -"version\n" -" might be able to modify the configuration of the DNS plugin as well)\n" -"\n" -"In general it is not necessary to modify or delete ID ranges. If there is " -"no\n" -"other way to achieve a certain configuration than to modify or delete an ID\n" -"range it should be done with great care. Because UIDs are stored in the " -"file\n" -"system and are used for access control it might be possible that users are\n" -"allowed to access files of other users if an ID range got deleted and " -"reused\n" -"for a different domain.\n" -"\n" -"(*) The RID is typically the last integer of a user or group SID which " -"follows\n" -"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " -"from\n" -"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 is the RID of " -"the\n" -"user. RIDs are unique in a domain, 32bit values and are used for users and\n" -"groups.\n" -"\n" -"WARNING:\n" -"\n" -"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " -"the\n" -"local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -"on the local ranges set via this family of commands.\n" -"\n" -"Manual configuration change has to be done in the DNA plugin configuration " -"for\n" -"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " -"be\n" -"modified to match the new range.\n" -msgstr "" - -#: ipaserver/plugins/idrange.py:220 -msgid "Range name" -msgstr "" - -#: ipaserver/plugins/idrange.py:225 -msgid "First Posix ID of the range" -msgstr "" - -#: ipaserver/plugins/idrange.py:231 -msgid "Number of IDs in the range" -msgstr "" - -#: ipaserver/plugins/idrange.py:237 -msgid "First RID of the corresponding RID range" -msgstr "" - -#: ipaserver/plugins/idrange.py:241 -msgid "First RID of the secondary RID range" -msgstr "" - -#: ipaserver/plugins/idrange.py:246 ipaserver/plugins/idrange.py:657 -msgid "Domain SID of the trusted domain" -msgstr "" - -#: ipaserver/plugins/idrange.py:251 ipaserver/plugins/idrange.py:665 -msgid "Name of the trusted domain" -msgstr "" - -#: ipaserver/plugins/idrange.py:254 ipaserver/plugins/internal.py:1274 -#: ipaserver/plugins/trust.py:714 -msgid "Range type" -msgstr "" - -msgid "ID range type, one of ipa-ad-trust-posix, ipa-ad-trust, ipa-local" -msgstr "" - -msgid "" -"\n" -"Add new ID range.\n" -"\n" -" To add a new ID range you always have to specify\n" -"\n" -" --base-id\n" -" --range-size\n" -"\n" -" Additionally\n" -"\n" -" --rid-base\n" -" --secondary-rid-base\n" -"\n" -" may be given for a new ID range for the local domain while\n" -"\n" -" --rid-base\n" -" --dom-sid\n" -"\n" -" must be given to add a new range for a trusted AD domain.\n" -"\n" -" WARNING:\n" -"\n" -" DNA plugin in 389-ds will allocate IDs based on the ranges configured " -"for the\n" -" local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -" on the local ranges set via this family of commands.\n" -"\n" -" Manual configuration change has to be done in the DNA plugin " -"configuration for\n" -" the new local range. Specifically, The dnaNextRange attribute of " -"'cn=Posix\n" -" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has " -"to be\n" -" modified to match the new range.\n" -" " -msgstr "" - -#: ipaserver/plugins/idrange.py:558 -msgid "Delete an ID range." -msgstr "" - -#: ipaserver/plugins/idrange.py:606 -msgid "Search for ranges." -msgstr "" - -msgid "Modify ID range." -msgstr "" - -#: ipaserver/plugins/idrange.py:629 -msgid "Display information about a range." -msgstr "" - -msgid "" -"\n" -"OTP Tokens\n" -"\n" -"Manage OTP tokens.\n" -"\n" -"IPA supports the use of OTP tokens for multi-factor authentication. This\n" -"code enables the management of OTP tokens.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new token:\n" -" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" -"\n" -" Examine the token:\n" -" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" -"\n" -" Change the vendor:\n" -" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red " -"Hat\"\n" -"\n" -" Delete a token:\n" -" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:160 ipaserver/plugins/subid.py:136 -msgid "Unique ID" -msgstr "" - -#: ipaserver/plugins/otptoken.py:166 -msgid "Type of the token" -msgstr "" - -#: ipaserver/plugins/otptoken.py:175 -msgid "Token description (informational only)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:179 ipaserver/plugins/subid.py:149 -#: ipaserver/plugins/subid.py:467 ipaserver/plugins/internal.py:1400 -msgid "Owner" -msgstr "" - -#: ipaserver/plugins/otptoken.py:180 -msgid "Assigned user of the token (default: self)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:184 -msgid "Assigned manager of the token (default: self)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:189 ipaserver/plugins/internal.py:1961 -msgid "Disabled" -msgstr "" - -#: ipaserver/plugins/otptoken.py:190 -msgid "Mark the token as disabled (default: false)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:194 -msgid "Validity start" -msgstr "" - -#: ipaserver/plugins/otptoken.py:195 -msgid "First date/time the token can be used" -msgstr "" - -#: ipaserver/plugins/otptoken.py:199 -msgid "Validity end" -msgstr "" - -#: ipaserver/plugins/otptoken.py:200 -msgid "Last date/time the token can be used" -msgstr "" - -#: ipaserver/plugins/otptoken.py:204 -msgid "Vendor" -msgstr "" - -#: ipaserver/plugins/otptoken.py:205 -msgid "Token vendor name (informational only)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:209 -msgid "Model" -msgstr "" - -#: ipaserver/plugins/otptoken.py:210 -msgid "Token model (informational only)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:214 -msgid "Serial" -msgstr "" - -#: ipaserver/plugins/otptoken.py:215 -msgid "Token serial (informational only)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:220 -msgid "Token secret (Base32; default: random)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:230 -msgid "Token hash algorithm" -msgstr "" - -#: ipaserver/plugins/otptoken.py:238 -msgid "Digits" -msgstr "" - -#: ipaserver/plugins/otptoken.py:239 -msgid "Number of digits each token code will have" -msgstr "" - -#: ipaserver/plugins/otptoken.py:247 -msgid "Clock offset" -msgstr "" - -#: ipaserver/plugins/otptoken.py:248 -msgid "TOTP token / IPA server time difference" -msgstr "" - -#: ipaserver/plugins/otptoken.py:255 -msgid "Clock interval" -msgstr "" - -#: ipaserver/plugins/otptoken.py:256 -msgid "Length of TOTP token code validity" -msgstr "" - -#: ipaserver/plugins/otptoken.py:264 -msgid "Counter" -msgstr "" - -#: ipaserver/plugins/otptoken.py:265 -msgid "Initial counter for the HOTP token" -msgstr "" - -#: ipaserver/plugins/otptoken.py:280 -msgid "Add a new OTP token." -msgstr "" - -#: ipaserver/plugins/otptoken.py:284 -msgid "(deprecated)" -msgstr "" - -#: ipaserver/plugins/otptoken.py:285 -msgid "Do not display QR code" -msgstr "" - -#: ipaserver/plugins/otptoken.py:463 -msgid "Add users that can manage this token." -msgstr "" - -#: ipaserver/plugins/otptoken.py:366 -msgid "Delete an OTP token." -msgstr "" - -#: ipaserver/plugins/otptoken.py:421 -msgid "Search for OTP token." -msgstr "" - -msgid "Results should contain primary key attribute only (\"id\")" -msgstr "" - -#: ipaserver/plugins/otptoken.py:372 -msgid "Modify a OTP token." -msgstr "" - -msgid "Rename the OTP token object" -msgstr "" - -#: ipaserver/plugins/otptoken.py:450 -msgid "Display information about an OTP token." -msgstr "" - msgid "" "\n" "Sudo Rules\n" @@ -8786,253 +9032,6 @@ msgstr "" msgid "Display Sudo Rule." msgstr "" -msgid "" -"\n" -"Cross-realm trusts\n" -"\n" -"Manage trust relationship between IPA and Active Directory domains.\n" -"\n" -"In order to allow users from a remote domain to access resources in IPA\n" -"domain, trust relationship needs to be established. Currently IPA supports\n" -"only trusts between IPA and Active Directory domains under control of " -"Windows\n" -"Server 2008 or later, with functional level 2008 or later.\n" -"\n" -"Please note that DNS on both IPA and Active Directory domain sides should " -"be\n" -"configured properly to discover each other. Trust relationship relies on\n" -"ability to discover special resources in the other domain via DNS records.\n" -"\n" -"Examples:\n" -"\n" -"1. Establish cross-realm trust with Active Directory using AD administrator\n" -" credentials:\n" -"\n" -" ipa trust-add --type=ad --admin --" -"password\n" -"\n" -"2. List all existing trust relationships:\n" -"\n" -" ipa trust-find\n" -"\n" -"3. Show details of the specific trust relationship:\n" -"\n" -" ipa trust-show \n" -"\n" -"4. Delete existing trust relationship:\n" -"\n" -" ipa trust-del \n" -"\n" -"Once trust relationship is established, remote users will need to be mapped\n" -"to local POSIX groups in order to actually use IPA resources. The mapping " -"should\n" -"be done via use of external membership of non-POSIX group and then this " -"group\n" -"should be included into one of local POSIX groups.\n" -"\n" -"Example:\n" -"\n" -"1. Create group for the trusted domain admins' mapping and their local POSIX " -"group:\n" -"\n" -" ipa group-add --desc=' admins external map' ad_admins_external " -"--external\n" -" ipa group-add --desc=' admins' ad_admins\n" -"\n" -"2. Add security identifier of Domain Admins of the to the " -"ad_admins_external\n" -" group:\n" -"\n" -" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" -"\n" -"3. Allow members of ad_admins_external group to be associated with ad_admins " -"POSIX group:\n" -"\n" -" ipa group-add-member ad_admins --groups ad_admins_external\n" -"\n" -"4. List members of external members of ad_admins_external group to see their " -"SIDs:\n" -"\n" -" ipa group-show ad_admins_external\n" -"\n" -"\n" -"GLOBAL TRUST CONFIGURATION\n" -"\n" -"When IPA AD trust subpackage is installed and ipa-adtrust-install is run,\n" -"a local domain configuration (SID, GUID, NetBIOS name) is generated. These\n" -"identifiers are then used when communicating with a trusted domain of the\n" -"particular type.\n" -"\n" -"1. Show global trust configuration for Active Directory type of trusts:\n" -"\n" -" ipa trustconfig-show --type ad\n" -"\n" -"2. Modify global configuration for all trusts of Active Directory type and " -"set\n" -" a different fallback primary group (fallback primary group GID is used " -"as\n" -" a primary user GID if user authenticating to IPA domain does not have any " -"other\n" -" primary GID already set):\n" -"\n" -" ipa trustconfig-mod --type ad --fallback-primary-group \"alternative AD " -"group\"\n" -"\n" -"3. Change primary fallback group back to default hidden group (any group " -"with\n" -" posixGroup object class is allowed):\n" -"\n" -" ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB " -"Group\"\n" -msgstr "" - -#: ipaserver/plugins/internal.py:1565 ipaserver/plugins/trust.py:544 -#: ipaserver/plugins/trust.py:1589 -msgid "Domain NetBIOS name" -msgstr "" - -#: ipaserver/plugins/internal.py:1566 ipaserver/plugins/trust.py:548 -#: ipaserver/plugins/trust.py:1592 -msgid "Domain Security Identifier" -msgstr "" - -msgid "SID blacklist incoming" -msgstr "" - -msgid "SID blacklist outgoing" -msgstr "" - -msgid "Security Identifier" -msgstr "" - -msgid "NetBIOS name" -msgstr "" - -msgid "Domain GUID" -msgstr "" - -msgid "Fallback primary group" -msgstr "" - -#: ipaserver/plugins/certmap.py:298 ipaserver/plugins/trust.py:1584 -msgid "Domain name" -msgstr "" - -msgid "Trusted domain partner" -msgstr "" - -msgid "Determine whether ipa-adtrust-install has been run on this system" -msgstr "" - -msgid "" -"Determine whether Schema Compatibility plugin is configured to serve trusted " -"domain users and groups" -msgstr "" - -msgid "Determine whether ipa-adtrust-install has been run with sidgen task" -msgstr "" - -msgid "" -"\n" -"Add new trust to use.\n" -"\n" -"This command establishes trust relationship to another domain\n" -"which becomes 'trusted'. As result, users of the trusted domain\n" -"may access resources of this domain.\n" -"\n" -"Only trusts to Active Directory domains are supported right now.\n" -"\n" -"The command can be safely run multiple times against the same domain,\n" -"this will cause change to trust relationship credentials on both\n" -"sides.\n" -" " -msgstr "" - -msgid "Trust type (ad for Active Directory, default)" -msgstr "" - -#: ipaserver/plugins/trust.py:1802 -msgid "Active Directory domain administrator" -msgstr "" - -#: ipaserver/plugins/trust.py:1806 -msgid "Active Directory domain administrator's password" -msgstr "" - -#: ipaserver/plugins/trust.py:1811 -msgid "Domain controller for the Active Directory domain (optional)" -msgstr "" - -msgid "Shared secret for the trust" -msgstr "" - -msgid "First Posix ID of the range reserved for the trusted domain" -msgstr "" - -msgid "Size of the ID range reserved for the trusted domain" -msgstr "" - -msgid "" -"Type of trusted domain ID range, one of ipa-ad-trust-posix, ipa-ad-trust" -msgstr "" - -msgid "Delete a trust." -msgstr "" - -msgid "Refresh list of the domains associated with the trust" -msgstr "" - -msgid "Search for trusts." -msgstr "" - -msgid "Results should contain primary key attribute only (\"realm\")" -msgstr "" - -msgid "" -"\n" -"Modify a trust (for future use).\n" -"\n" -" Currently only the default option to modify the LDAP attributes is\n" -" available. More specific options will be added in coming releases.\n" -" " -msgstr "" - -msgid "Resolve security identifiers of users and groups in trusted domains" -msgstr "" - -msgid "Security Identifiers (SIDs)" -msgstr "" - -msgid "Display information about a trust." -msgstr "" - -msgid "Modify global trust configuration." -msgstr "" - -msgid "Show global trust configuration." -msgstr "" - -msgid "Allow access from the trusted domain" -msgstr "" - -msgid "Remove information about the domain associated with the trust." -msgstr "" - -msgid "Disable use of IPA resources by the domain of the trust" -msgstr "" - -msgid "Allow use of IPA resources by the domain of the trust" -msgstr "" - -msgid "Search domains of the trust" -msgstr "" - -msgid "Results should contain primary key attribute only (\"domain\")" -msgstr "" - -msgid "Modify trustdomain of the trust" -msgstr "" - #: ipaserver/plugins/pkinit.py:72 ipaserver/plugins/serverrole.py:124 #: ipaserver/plugins/baseldap.py:1980 ipaserver/plugins/cert.py:1570 msgid "Time limit of search in seconds (0 is unlimited)" @@ -9154,6 +9153,124 @@ msgstr "" msgid "Display the properties of a CA ACL." msgstr "" +msgid "Principal for this certificate (e.g. HTTP/test.example.com)" +msgstr "" + +#: ipaserver/plugins/certprofile.py:122 ipaserver/plugins/cert.py:575 +msgid "Profile ID" +msgstr "" + +msgid "Certificate Profile to use" +msgstr "" + +msgid "" +"\n" +"Manage Certificate Profiles\n" +"\n" +"Certificate Profiles are used by Certificate Authority (CA) in the signing " +"of\n" +"certificates to determine if a Certificate Signing Request (CSR) is " +"acceptable,\n" +"and if so what features and extensions will be present on the certificate.\n" +"\n" +"The Certificate Profile format is the property-list format understood by " +"the\n" +"Dogtag or Red Hat Certificate System CA.\n" +"\n" +"PROFILE ID SYNTAX:\n" +"\n" +"A Profile ID is a string without spaces or punctuation starting with a " +"letter\n" +"and followed by a sequence of letters, digits or underscore (\"_\").\n" +"\n" +"EXAMPLES:\n" +"\n" +" Import a profile that will not store issued certificates:\n" +" ipa certprofile-import ShortLivedUserCert --file UserCert.profile " +"--desc \"User Certificates\" --store=false\n" +"\n" +" Delete a certificate profile:\n" +" ipa certprofile-del ShortLivedUserCert\n" +"\n" +" Show information about a profile:\n" +" ipa certprofile-show ShortLivedUserCert\n" +"\n" +" Save profile configuration to a file:\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" +" Search for profiles that do not store certificates:\n" +" ipa certprofile-find --store=false\n" +"\n" +"PROFILE CONFIGURATION FORMAT:\n" +"\n" +"The profile configuration format is the raw property-list format\n" +"used by Dogtag Certificate System. The XML format is not supported.\n" +"\n" +"The following restrictions apply to profiles managed by IPA:\n" +"\n" +"- When importing a profile the \"profileId\" field, if present, must\n" +" match the ID given on the command line.\n" +"\n" +"- The \"classId\" field must be set to \"caEnrollImpl\"\n" +"\n" +"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" +"\n" +"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" +" class must be used.\n" +msgstr "" + +#: ipaserver/plugins/certprofile.py:123 +msgid "Profile ID for referring to this profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:132 +msgid "Profile description" +msgstr "" + +#: ipaserver/plugins/certprofile.py:133 +msgid "Brief description of this profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:138 +msgid "Store issued certificates" +msgstr "" + +#: ipaserver/plugins/certprofile.py:139 +msgid "Whether to store certs issued using this profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:281 +msgid "Delete a Certificate Profile." +msgstr "" + +#: ipaserver/plugins/certprofile.py:188 +msgid "Search for Certificate Profiles." +msgstr "" + +#: ipaserver/plugins/certprofile.py:221 +msgid "Import a Certificate Profile." +msgstr "" + +#: ipaserver/plugins/certprofile.py:226 +msgid "Filename of a raw profile. The XML format is not supported." +msgstr "" + +#: ipaserver/plugins/certprofile.py:304 +msgid "Modify Certificate Profile configuration." +msgstr "" + +#: ipaserver/plugins/certprofile.py:310 +msgid "File containing profile configuration" +msgstr "" + +#: ipaserver/plugins/certprofile.py:200 +msgid "Display the properties of a Certificate Profile." +msgstr "" + +#: ipaserver/plugins/certprofile.py:204 +msgid "Write profile configuration to file" +msgstr "" + msgid "Maximum amount of time (seconds) for a search (-1 or 0 is unlimited)" msgstr "" @@ -9189,6 +9306,218 @@ msgstr "" msgid "Remove certificates from host entry" msgstr "" +msgid "" +"\n" +"ID ranges\n" +"\n" +"Manage ID ranges used to map Posix IDs to SIDs and back.\n" +"\n" +"There are two type of ID ranges which are both handled by this utility:\n" +"\n" +" - the ID ranges of the local domain\n" +" - the ID ranges of trusted remote domains\n" +"\n" +"Both types have the following attributes in common:\n" +"\n" +" - base-id: the first ID of the Posix ID range\n" +" - range-size: the size of the range\n" +"\n" +"With those two attributes a range object can reserve the Posix IDs starting\n" +"with base-id up to but not including base-id+range-size exclusively.\n" +"\n" +"Additionally an ID range of the local domain may set\n" +" - rid-base: the first RID(*) of the corresponding RID range\n" +" - secondary-rid-base: first RID of the secondary RID range\n" +"\n" +"and an ID range of a trusted domain must set\n" +" - rid-base: the first RID of the corresponding RID range\n" +" - sid: domain SID of the trusted domain\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for a trusted domain\n" +"\n" +"Since there might be more than one trusted domain the domain SID must be " +"given\n" +"while creating the ID range.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" +"base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" +"\n" +"This ID range is then used by the IPA server and the SSSD IPA provider to\n" +"assign Posix UIDs to users from the trusted domain.\n" +"\n" +"If e.g. a range for a trusted domain is configured with the following " +"values:\n" +" base-id = 1200000\n" +" range-size = 200000\n" +" rid-base = 0\n" +"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " +"So\n" +"RID 1000 <-> Posix ID 1201000\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for the local domain\n" +"\n" +"To create an ID range for the local domain it is not necessary to specify a\n" +"domain SID. But since it is possible that a user and a group can have the " +"same\n" +"value as Posix ID a second RID interval is needed to handle conflicts.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" +"base=1000 --secondary-rid-base=1000000 local_range\n" +"\n" +"The data from the ID ranges of the local domain are used by the IPA server\n" +"internally to assign SIDs to IPA users and groups. The SID will then be " +"stored\n" +"in the user or group objects.\n" +"\n" +"If e.g. the ID range for the local domain is configured with the values " +"from\n" +"the example above then a new user with the UID 1200007 will get the RID " +"1007.\n" +"If this RID is already used by a group the RID will be 1000007. This can " +"only\n" +"happen if a user or a group object was created with a fixed ID because the\n" +"automatic assignment will not assign the same ID twice. Since there are " +"only\n" +"users and groups sharing the same ID namespace it is sufficient to have " +"only\n" +"one fallback range to handle conflicts.\n" +"\n" +"To find the Posix ID for a given RID from the local domain it has to be\n" +"checked first if the RID falls in the primary or secondary RID range and\n" +"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" +"and the base-id has to be added to get the Posix ID.\n" +"\n" +"Typically the creation of ID ranges happens behind the scenes and this CLI\n" +"must not be used at all. The ID range for the local domain will be created\n" +"during installation or upgrade from an older version. The ID range for a\n" +"trusted domain will be created together with the trust by 'ipa trust-" +"add ...'.\n" +"\n" +"USE CASES:\n" +"\n" +" Add an ID range from a transitively trusted domain\n" +"\n" +" If the trusted domain (A) trusts another domain (B) as well and this " +"trust\n" +" is transitive 'ipa trust-add domain-A' will only create a range for\n" +" domain A. The ID range for domain B must be added manually.\n" +"\n" +" Add an additional ID range for the local domain\n" +"\n" +" If the ID range of the local domain is exhausted, i.e. no new IDs can " +"be\n" +" assigned to Posix users or groups by the DNA plugin, a new range has to " +"be\n" +" created to allow new users and groups to be added. (Currently there is " +"no\n" +" connection between this range CLI and the DNA plugin, but a future " +"version\n" +" might be able to modify the configuration of the DNS plugin as well)\n" +"\n" +"In general it is not necessary to modify or delete ID ranges. If there is " +"no\n" +"other way to achieve a certain configuration than to modify or delete an ID\n" +"range it should be done with great care. Because UIDs are stored in the " +"file\n" +"system and are used for access control it might be possible that users are\n" +"allowed to access files of other users if an ID range got deleted and " +"reused\n" +"for a different domain.\n" +"\n" +"(*) The RID is typically the last integer of a user or group SID which " +"follows\n" +"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " +"from\n" +"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 is the RID of " +"the\n" +"user. RIDs are unique in a domain, 32bit values and are used for users and\n" +"groups.\n" +"\n" +"=======\n" +"WARNING:\n" +"\n" +"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " +"the\n" +"local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +"on the local ranges set via this family of commands.\n" +"\n" +"Manual configuration change has to be done in the DNA plugin configuration " +"for\n" +"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" +"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " +"be\n" +"modified to match the new range.\n" +"=======\n" +msgstr "" + +msgid "" +"\n" +"Add new ID range.\n" +"\n" +" To add a new ID range you always have to specify\n" +"\n" +" --base-id\n" +" --range-size\n" +"\n" +" Additionally\n" +"\n" +" --rid-base\n" +" --secondary-rid-base\n" +"\n" +" may be given for a new ID range for the local domain while\n" +"\n" +" --rid-base\n" +" --dom-sid\n" +"\n" +" must be given to add a new range for a trusted AD domain.\n" +"\n" +"=======\n" +"WARNING:\n" +"\n" +"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " +"the\n" +"local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +"on the local ranges set via this family of commands.\n" +"\n" +"Manual configuration change has to be done in the DNA plugin configuration " +"for\n" +"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" +"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " +"be\n" +"modified to match the new range.\n" +"=======\n" +" " +msgstr "" + +msgid "" +"\n" +"Modify ID range.\n" +"\n" +"=======\n" +"WARNING:\n" +"\n" +"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " +"the\n" +"local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +"on the local ranges set via this family of commands.\n" +"\n" +"Manual configuration change has to be done in the DNA plugin configuration " +"for\n" +"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" +"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " +"be\n" +"modified to match the new range.\n" +"=======\n" +" " +msgstr "" + #: ipaserver/plugins/idviews.py:81 msgid "Fallback to AD DC LDAP" msgstr "" @@ -9223,6 +9552,10 @@ msgid "" "to onelevel" msgstr "" +#: ipaserver/plugins/otptoken.py:469 +msgid "Remove users that can manage this token." +msgstr "" + #: ipaserver/plugins/permission.py:322 msgid "Target DN subtree" msgstr "" @@ -9715,6 +10048,14 @@ msgid "" " " msgstr "" +#: ipaserver/plugins/trust.py:721 +msgid "Two-way trust" +msgstr "" + +msgid "" +"Establish bi-directional trust. By default trust is inbound one-way only." +msgstr "" + #: ipaserver/plugins/user.py:1217 msgid "Preserved user" msgstr "" @@ -10021,348 +10362,6 @@ msgstr "" msgid "Display information about a vault container." msgstr "" -msgid "Principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "" - -#: ipaserver/plugins/certprofile.py:122 ipaserver/plugins/cert.py:575 -msgid "Profile ID" -msgstr "" - -msgid "Certificate Profile to use" -msgstr "" - -msgid "" -"\n" -"Manage Certificate Profiles\n" -"\n" -"Certificate Profiles are used by Certificate Authority (CA) in the signing " -"of\n" -"certificates to determine if a Certificate Signing Request (CSR) is " -"acceptable,\n" -"and if so what features and extensions will be present on the certificate.\n" -"\n" -"The Certificate Profile format is the property-list format understood by " -"the\n" -"Dogtag or Red Hat Certificate System CA.\n" -"\n" -"PROFILE ID SYNTAX:\n" -"\n" -"A Profile ID is a string without spaces or punctuation starting with a " -"letter\n" -"and followed by a sequence of letters, digits or underscore (\"_\").\n" -"\n" -"EXAMPLES:\n" -"\n" -" Import a profile that will not store issued certificates:\n" -" ipa certprofile-import ShortLivedUserCert --file UserCert.profile " -"--desc \"User Certificates\" --store=false\n" -"\n" -" Delete a certificate profile:\n" -" ipa certprofile-del ShortLivedUserCert\n" -"\n" -" Show information about a profile:\n" -" ipa certprofile-show ShortLivedUserCert\n" -"\n" -" Save profile configuration to a file:\n" -" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" -"\n" -" Search for profiles that do not store certificates:\n" -" ipa certprofile-find --store=false\n" -"\n" -"PROFILE CONFIGURATION FORMAT:\n" -"\n" -"The profile configuration format is the raw property-list format\n" -"used by Dogtag Certificate System. The XML format is not supported.\n" -"\n" -"The following restrictions apply to profiles managed by IPA:\n" -"\n" -"- When importing a profile the \"profileId\" field, if present, must\n" -" match the ID given on the command line.\n" -"\n" -"- The \"classId\" field must be set to \"caEnrollImpl\"\n" -"\n" -"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" -"\n" -"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" -" class must be used.\n" -msgstr "" - -#: ipaserver/plugins/certprofile.py:123 -msgid "Profile ID for referring to this profile" -msgstr "" - -#: ipaserver/plugins/certprofile.py:132 -msgid "Profile description" -msgstr "" - -#: ipaserver/plugins/certprofile.py:133 -msgid "Brief description of this profile" -msgstr "" - -#: ipaserver/plugins/certprofile.py:138 -msgid "Store issued certificates" -msgstr "" - -#: ipaserver/plugins/certprofile.py:139 -msgid "Whether to store certs issued using this profile" -msgstr "" - -#: ipaserver/plugins/certprofile.py:281 -msgid "Delete a Certificate Profile." -msgstr "" - -#: ipaserver/plugins/certprofile.py:188 -msgid "Search for Certificate Profiles." -msgstr "" - -#: ipaserver/plugins/certprofile.py:221 -msgid "Import a Certificate Profile." -msgstr "" - -#: ipaserver/plugins/certprofile.py:226 -msgid "Filename of a raw profile. The XML format is not supported." -msgstr "" - -#: ipaserver/plugins/certprofile.py:304 -msgid "Modify Certificate Profile configuration." -msgstr "" - -#: ipaserver/plugins/certprofile.py:310 -msgid "File containing profile configuration" -msgstr "" - -#: ipaserver/plugins/certprofile.py:200 -msgid "Display the properties of a Certificate Profile." -msgstr "" - -#: ipaserver/plugins/certprofile.py:204 -msgid "Write profile configuration to file" -msgstr "" - -msgid "" -"\n" -"ID ranges\n" -"\n" -"Manage ID ranges used to map Posix IDs to SIDs and back.\n" -"\n" -"There are two type of ID ranges which are both handled by this utility:\n" -"\n" -" - the ID ranges of the local domain\n" -" - the ID ranges of trusted remote domains\n" -"\n" -"Both types have the following attributes in common:\n" -"\n" -" - base-id: the first ID of the Posix ID range\n" -" - range-size: the size of the range\n" -"\n" -"With those two attributes a range object can reserve the Posix IDs starting\n" -"with base-id up to but not including base-id+range-size exclusively.\n" -"\n" -"Additionally an ID range of the local domain may set\n" -" - rid-base: the first RID(*) of the corresponding RID range\n" -" - secondary-rid-base: first RID of the secondary RID range\n" -"\n" -"and an ID range of a trusted domain must set\n" -" - rid-base: the first RID of the corresponding RID range\n" -" - sid: domain SID of the trusted domain\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for a trusted domain\n" -"\n" -"Since there might be more than one trusted domain the domain SID must be " -"given\n" -"while creating the ID range.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" -"base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" -"\n" -"This ID range is then used by the IPA server and the SSSD IPA provider to\n" -"assign Posix UIDs to users from the trusted domain.\n" -"\n" -"If e.g. a range for a trusted domain is configured with the following " -"values:\n" -" base-id = 1200000\n" -" range-size = 200000\n" -" rid-base = 0\n" -"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " -"So\n" -"RID 1000 <-> Posix ID 1201000\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for the local domain\n" -"\n" -"To create an ID range for the local domain it is not necessary to specify a\n" -"domain SID. But since it is possible that a user and a group can have the " -"same\n" -"value as Posix ID a second RID interval is needed to handle conflicts.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" -"base=1000 --secondary-rid-base=1000000 local_range\n" -"\n" -"The data from the ID ranges of the local domain are used by the IPA server\n" -"internally to assign SIDs to IPA users and groups. The SID will then be " -"stored\n" -"in the user or group objects.\n" -"\n" -"If e.g. the ID range for the local domain is configured with the values " -"from\n" -"the example above then a new user with the UID 1200007 will get the RID " -"1007.\n" -"If this RID is already used by a group the RID will be 1000007. This can " -"only\n" -"happen if a user or a group object was created with a fixed ID because the\n" -"automatic assignment will not assign the same ID twice. Since there are " -"only\n" -"users and groups sharing the same ID namespace it is sufficient to have " -"only\n" -"one fallback range to handle conflicts.\n" -"\n" -"To find the Posix ID for a given RID from the local domain it has to be\n" -"checked first if the RID falls in the primary or secondary RID range and\n" -"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" -"and the base-id has to be added to get the Posix ID.\n" -"\n" -"Typically the creation of ID ranges happens behind the scenes and this CLI\n" -"must not be used at all. The ID range for the local domain will be created\n" -"during installation or upgrade from an older version. The ID range for a\n" -"trusted domain will be created together with the trust by 'ipa trust-" -"add ...'.\n" -"\n" -"USE CASES:\n" -"\n" -" Add an ID range from a transitively trusted domain\n" -"\n" -" If the trusted domain (A) trusts another domain (B) as well and this " -"trust\n" -" is transitive 'ipa trust-add domain-A' will only create a range for\n" -" domain A. The ID range for domain B must be added manually.\n" -"\n" -" Add an additional ID range for the local domain\n" -"\n" -" If the ID range of the local domain is exhausted, i.e. no new IDs can " -"be\n" -" assigned to Posix users or groups by the DNA plugin, a new range has to " -"be\n" -" created to allow new users and groups to be added. (Currently there is " -"no\n" -" connection between this range CLI and the DNA plugin, but a future " -"version\n" -" might be able to modify the configuration of the DNS plugin as well)\n" -"\n" -"In general it is not necessary to modify or delete ID ranges. If there is " -"no\n" -"other way to achieve a certain configuration than to modify or delete an ID\n" -"range it should be done with great care. Because UIDs are stored in the " -"file\n" -"system and are used for access control it might be possible that users are\n" -"allowed to access files of other users if an ID range got deleted and " -"reused\n" -"for a different domain.\n" -"\n" -"(*) The RID is typically the last integer of a user or group SID which " -"follows\n" -"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " -"from\n" -"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 is the RID of " -"the\n" -"user. RIDs are unique in a domain, 32bit values and are used for users and\n" -"groups.\n" -"\n" -"=======\n" -"WARNING:\n" -"\n" -"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " -"the\n" -"local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -"on the local ranges set via this family of commands.\n" -"\n" -"Manual configuration change has to be done in the DNA plugin configuration " -"for\n" -"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " -"be\n" -"modified to match the new range.\n" -"=======\n" -msgstr "" - -msgid "" -"\n" -"Add new ID range.\n" -"\n" -" To add a new ID range you always have to specify\n" -"\n" -" --base-id\n" -" --range-size\n" -"\n" -" Additionally\n" -"\n" -" --rid-base\n" -" --secondary-rid-base\n" -"\n" -" may be given for a new ID range for the local domain while\n" -"\n" -" --rid-base\n" -" --dom-sid\n" -"\n" -" must be given to add a new range for a trusted AD domain.\n" -"\n" -"=======\n" -"WARNING:\n" -"\n" -"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " -"the\n" -"local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -"on the local ranges set via this family of commands.\n" -"\n" -"Manual configuration change has to be done in the DNA plugin configuration " -"for\n" -"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " -"be\n" -"modified to match the new range.\n" -"=======\n" -" " -msgstr "" - -msgid "" -"\n" -"Modify ID range.\n" -"\n" -"=======\n" -"WARNING:\n" -"\n" -"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " -"the\n" -"local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -"on the local ranges set via this family of commands.\n" -"\n" -"Manual configuration change has to be done in the DNA plugin configuration " -"for\n" -"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " -"be\n" -"modified to match the new range.\n" -"=======\n" -" " -msgstr "" - -#: ipaserver/plugins/otptoken.py:469 -msgid "Remove users that can manage this token." -msgstr "" - -#: ipaserver/dcerpc_common.py:22 -msgid "Two-way trust" -msgstr "" - -msgid "" -"Establish bi-directional trust. By default trust is inbound one-way only." -msgstr "" - msgid "Resolve a host name in DNS. (Deprecated)" msgstr "" @@ -10672,11 +10671,11 @@ msgstr "" msgid "Check connection to remote IPA server." msgstr "" -#: ipaserver/plugins/trust.py:1852 +#: ipaserver/plugins/server.py:916 msgid "Remote server name" msgstr "" -#: ipaserver/plugins/trust.py:1853 +#: ipaserver/plugins/server.py:917 msgid "Remote IPA server hostname" msgstr "" @@ -12055,6 +12054,192 @@ msgid "" " ipa hostgroup-del baltimore\n" msgstr "" +msgid "" +"\n" +"ID ranges\n" +"\n" +"Manage ID ranges used to map Posix IDs to SIDs and back.\n" +"\n" +"There are two type of ID ranges which are both handled by this utility:\n" +"\n" +" - the ID ranges of the local domain\n" +" - the ID ranges of trusted remote domains\n" +"\n" +"Both types have the following attributes in common:\n" +"\n" +" - base-id: the first ID of the Posix ID range\n" +" - range-size: the size of the range\n" +"\n" +"With those two attributes a range object can reserve the Posix IDs starting\n" +"with base-id up to but not including base-id+range-size exclusively.\n" +"\n" +"Additionally an ID range of the local domain may set\n" +" - rid-base: the first RID(*) of the corresponding RID range\n" +" - secondary-rid-base: first RID of the secondary RID range\n" +"\n" +"and an ID range of a trusted domain must set\n" +" - rid-base: the first RID of the corresponding RID range\n" +" - dom_sid: domain SID of the trusted domain\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for a trusted domain\n" +"\n" +"Since there might be more than one trusted domain the domain SID must be " +"given\n" +"while creating the ID range.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" +"base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" +"\n" +"This ID range is then used by the IPA server and the SSSD IPA provider to\n" +"assign Posix UIDs to users from the trusted domain.\n" +"\n" +"If e.g. a range for a trusted domain is configured with the following " +"values:\n" +" base-id = 1200000\n" +" range-size = 200000\n" +" rid-base = 0\n" +"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " +"So\n" +"RID 1000 <-> Posix ID 1201000\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for the local domain\n" +"\n" +"To create an ID range for the local domain it is not necessary to specify a\n" +"domain SID. But since it is possible that a user and a group can have the " +"same\n" +"value as Posix ID a second RID interval is needed to handle conflicts.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" +"base=1000 --secondary-rid-base=1000000 local_range\n" +"\n" +"The data from the ID ranges of the local domain are used by the IPA server\n" +"internally to assign SIDs to IPA users and groups. The SID will then be " +"stored\n" +"in the user or group objects.\n" +"\n" +"If e.g. the ID range for the local domain is configured with the values " +"from\n" +"the example above then a new user with the UID 1200007 will get the RID " +"1007.\n" +"If this RID is already used by a group the RID will be 1000007. This can " +"only\n" +"happen if a user or a group object was created with a fixed ID because the\n" +"automatic assignment will not assign the same ID twice. Since there are " +"only\n" +"users and groups sharing the same ID namespace it is sufficient to have " +"only\n" +"one fallback range to handle conflicts.\n" +"\n" +"To find the Posix ID for a given RID from the local domain it has to be\n" +"checked first if the RID falls in the primary or secondary RID range and\n" +"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" +"and the base-id has to be added to get the Posix ID.\n" +"\n" +"Typically the creation of ID ranges happens behind the scenes and this CLI\n" +"must not be used at all. The ID range for the local domain will be created\n" +"during installation or upgrade from an older version. The ID range for a\n" +"trusted domain will be created together with the trust by 'ipa trust-" +"add ...'.\n" +"\n" +"USE CASES:\n" +"\n" +" Add an ID range from a transitively trusted domain\n" +"\n" +" If the trusted domain (A) trusts another domain (B) as well and this " +"trust\n" +" is transitive 'ipa trust-add domain-A' will only create a range for\n" +" domain A. The ID range for domain B must be added manually.\n" +"\n" +" Add an additional ID range for the local domain\n" +"\n" +" If the ID range of the local domain is exhausted, i.e. no new IDs can " +"be\n" +" assigned to Posix users or groups by the DNA plugin, a new range has to " +"be\n" +" created to allow new users and groups to be added. (Currently there is " +"no\n" +" connection between this range CLI and the DNA plugin, but a future " +"version\n" +" might be able to modify the configuration of the DNS plugin as well)\n" +"\n" +"In general it is not necessary to modify or delete ID ranges. If there is " +"no\n" +"other way to achieve a certain configuration than to modify or delete an ID\n" +"range it should be done with great care. Because UIDs are stored in the " +"file\n" +"system and are used for access control it might be possible that users are\n" +"allowed to access files of other users if an ID range got deleted and " +"reused\n" +"for a different domain.\n" +"\n" +"(*) The RID is typically the last integer of a user or group SID which " +"follows\n" +"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " +"from\n" +"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 is the RID of " +"the\n" +"user. RIDs are unique in a domain, 32bit values and are used for users and\n" +"groups.\n" +"\n" +"WARNING:\n" +"\n" +"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " +"the\n" +"local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +"on the local ranges set via this family of commands.\n" +"\n" +"Manual configuration change has to be done in the DNA plugin configuration " +"for\n" +"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" +"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " +"be\n" +"modified to match the new range.\n" +msgstr "" + +msgid "" +"\n" +"Add new ID range.\n" +"\n" +" To add a new ID range you always have to specify\n" +"\n" +" --base-id\n" +" --range-size\n" +"\n" +" Additionally\n" +"\n" +" --rid-base\n" +" --secondary-rid-base\n" +"\n" +" may be given for a new ID range for the local domain while\n" +"\n" +" --rid-bas\n" +" --dom-sid\n" +"\n" +" must be given to add a new range for a trusted AD domain.\n" +"\n" +" WARNING:\n" +"\n" +" DNA plugin in 389-ds will allocate IDs based on the ranges configured " +"for the\n" +" local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +" on the local ranges set via this family of commands.\n" +"\n" +" Manual configuration change has to be done in the DNA plugin " +"configuration for\n" +" the new local range. Specifically, The dnaNextRange attribute of " +"'cn=Posix\n" +" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has " +"to be\n" +" modified to match the new range.\n" +" " +msgstr "" + msgid "" "Comma-separated list of objectclasses used to search for user entries in DS" msgstr "" @@ -12367,192 +12552,6 @@ msgstr "" msgid "GECOS field" msgstr "" -msgid "" -"\n" -"ID ranges\n" -"\n" -"Manage ID ranges used to map Posix IDs to SIDs and back.\n" -"\n" -"There are two type of ID ranges which are both handled by this utility:\n" -"\n" -" - the ID ranges of the local domain\n" -" - the ID ranges of trusted remote domains\n" -"\n" -"Both types have the following attributes in common:\n" -"\n" -" - base-id: the first ID of the Posix ID range\n" -" - range-size: the size of the range\n" -"\n" -"With those two attributes a range object can reserve the Posix IDs starting\n" -"with base-id up to but not including base-id+range-size exclusively.\n" -"\n" -"Additionally an ID range of the local domain may set\n" -" - rid-base: the first RID(*) of the corresponding RID range\n" -" - secondary-rid-base: first RID of the secondary RID range\n" -"\n" -"and an ID range of a trusted domain must set\n" -" - rid-base: the first RID of the corresponding RID range\n" -" - dom_sid: domain SID of the trusted domain\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for a trusted domain\n" -"\n" -"Since there might be more than one trusted domain the domain SID must be " -"given\n" -"while creating the ID range.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" -"base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" -"\n" -"This ID range is then used by the IPA server and the SSSD IPA provider to\n" -"assign Posix UIDs to users from the trusted domain.\n" -"\n" -"If e.g. a range for a trusted domain is configured with the following " -"values:\n" -" base-id = 1200000\n" -" range-size = 200000\n" -" rid-base = 0\n" -"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " -"So\n" -"RID 1000 <-> Posix ID 1201000\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for the local domain\n" -"\n" -"To create an ID range for the local domain it is not necessary to specify a\n" -"domain SID. But since it is possible that a user and a group can have the " -"same\n" -"value as Posix ID a second RID interval is needed to handle conflicts.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-" -"base=1000 --secondary-rid-base=1000000 local_range\n" -"\n" -"The data from the ID ranges of the local domain are used by the IPA server\n" -"internally to assign SIDs to IPA users and groups. The SID will then be " -"stored\n" -"in the user or group objects.\n" -"\n" -"If e.g. the ID range for the local domain is configured with the values " -"from\n" -"the example above then a new user with the UID 1200007 will get the RID " -"1007.\n" -"If this RID is already used by a group the RID will be 1000007. This can " -"only\n" -"happen if a user or a group object was created with a fixed ID because the\n" -"automatic assignment will not assign the same ID twice. Since there are " -"only\n" -"users and groups sharing the same ID namespace it is sufficient to have " -"only\n" -"one fallback range to handle conflicts.\n" -"\n" -"To find the Posix ID for a given RID from the local domain it has to be\n" -"checked first if the RID falls in the primary or secondary RID range and\n" -"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" -"and the base-id has to be added to get the Posix ID.\n" -"\n" -"Typically the creation of ID ranges happens behind the scenes and this CLI\n" -"must not be used at all. The ID range for the local domain will be created\n" -"during installation or upgrade from an older version. The ID range for a\n" -"trusted domain will be created together with the trust by 'ipa trust-" -"add ...'.\n" -"\n" -"USE CASES:\n" -"\n" -" Add an ID range from a transitively trusted domain\n" -"\n" -" If the trusted domain (A) trusts another domain (B) as well and this " -"trust\n" -" is transitive 'ipa trust-add domain-A' will only create a range for\n" -" domain A. The ID range for domain B must be added manually.\n" -"\n" -" Add an additional ID range for the local domain\n" -"\n" -" If the ID range of the local domain is exhausted, i.e. no new IDs can " -"be\n" -" assigned to Posix users or groups by the DNA plugin, a new range has to " -"be\n" -" created to allow new users and groups to be added. (Currently there is " -"no\n" -" connection between this range CLI and the DNA plugin, but a future " -"version\n" -" might be able to modify the configuration of the DNS plugin as well)\n" -"\n" -"In general it is not necessary to modify or delete ID ranges. If there is " -"no\n" -"other way to achieve a certain configuration than to modify or delete an ID\n" -"range it should be done with great care. Because UIDs are stored in the " -"file\n" -"system and are used for access control it might be possible that users are\n" -"allowed to access files of other users if an ID range got deleted and " -"reused\n" -"for a different domain.\n" -"\n" -"(*) The RID is typically the last integer of a user or group SID which " -"follows\n" -"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " -"from\n" -"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 is the RID of " -"the\n" -"user. RIDs are unique in a domain, 32bit values and are used for users and\n" -"groups.\n" -"\n" -"WARNING:\n" -"\n" -"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " -"the\n" -"local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -"on the local ranges set via this family of commands.\n" -"\n" -"Manual configuration change has to be done in the DNA plugin configuration " -"for\n" -"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " -"be\n" -"modified to match the new range.\n" -msgstr "" - -msgid "" -"\n" -"Add new ID range.\n" -"\n" -" To add a new ID range you always have to specify\n" -"\n" -" --base-id\n" -" --range-size\n" -"\n" -" Additionally\n" -"\n" -" --rid-base\n" -" --secondary-rid-base\n" -"\n" -" may be given for a new ID range for the local domain while\n" -"\n" -" --rid-bas\n" -" --dom-sid\n" -"\n" -" must be given to add a new range for a trusted AD domain.\n" -"\n" -" WARNING:\n" -"\n" -" DNA plugin in 389-ds will allocate IDs based on the ranges configured " -"for the\n" -" local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -" on the local ranges set via this family of commands.\n" -"\n" -" Manual configuration change has to be done in the DNA plugin " -"configuration for\n" -" the new local range. Specifically, The dnaNextRange attribute of " -"'cn=Posix\n" -" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has " -"to be\n" -" modified to match the new range.\n" -" " -msgstr "" - msgid "" "\n" "Sudo Rules\n" @@ -12658,72 +12657,6 @@ msgstr "" msgid "Failed targets" msgstr "" -#: ipalib/output.py:110 -msgid "A dictionary representing an LDAP entry" -msgstr "" - -#: ipalib/output.py:118 -msgid "A list of LDAP entries" -msgstr "" - -#: ipalib/output.py:170 -msgid "All commands should at least have a result" -msgstr "" - -#: ipalib/cli.py:630 -#, python-format -msgid "Enter %(label)s again to verify: " -msgstr "" - -#: ipalib/cli.py:639 -msgid "Passwords do not match!" -msgstr "" - -#: ipalib/cli.py:662 -msgid "No matching entries found" -msgstr "" - -#: ipalib/cli.py:737 -msgid "Topic or Command" -msgstr "" - -#: ipalib/cli.py:738 -msgid "The topic or command name." -msgstr "" - -#: ipalib/cli.py:910 -msgid "Topic commands:" -msgstr "" - -#: ipalib/cli.py:916 -msgid "To get command help, use:" -msgstr "" - -#: ipalib/cli.py:917 -msgid " ipa --help" -msgstr "" - -#: ipalib/cli.py:928 -msgid "Command name" -msgstr "" - -#: ipalib/cli.py:1151 -msgid "Positional arguments" -msgstr "" - -#: ipalib/cli.py:1297 -#, python-format -msgid "Same as --%s" -msgstr "" - -#: ipalib/cli.py:1300 -msgid "Deprecated options" -msgstr "" - -#: ipalib/cli.py:1429 -msgid "No file to read" -msgstr "" - #: ipalib/errors.py:296 #, python-format msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" @@ -13189,17 +13122,70 @@ msgid_plural "%(count)d plugins loaded" msgstr[0] "" msgstr[1] "" -#: ipalib/frontend.py:425 -msgid "Results are truncated, try a more specific search" +#: ipalib/output.py:110 +msgid "A dictionary representing an LDAP entry" msgstr "" -#: ipalib/frontend.py:584 ipatests/test_xmlrpc/test_ping_plugin.py:52 +#: ipalib/output.py:118 +msgid "A list of LDAP entries" +msgstr "" + +#: ipalib/output.py:170 +msgid "All commands should at least have a result" +msgstr "" + +#: ipalib/cli.py:630 #, python-format -msgid "Unknown option: %(option)s" +msgid "Enter %(label)s again to verify: " msgstr "" -#: ipalib/frontend.py:981 ipaserver/plugins/batch.py:83 -msgid "Client version. Used to determine if server will accept request." +#: ipalib/cli.py:639 +msgid "Passwords do not match!" +msgstr "" + +#: ipalib/cli.py:662 +msgid "No matching entries found" +msgstr "" + +#: ipalib/cli.py:737 +msgid "Topic or Command" +msgstr "" + +#: ipalib/cli.py:738 +msgid "The topic or command name." +msgstr "" + +#: ipalib/cli.py:910 +msgid "Topic commands:" +msgstr "" + +#: ipalib/cli.py:916 +msgid "To get command help, use:" +msgstr "" + +#: ipalib/cli.py:917 +msgid " ipa --help" +msgstr "" + +#: ipalib/cli.py:928 +msgid "Command name" +msgstr "" + +#: ipalib/cli.py:1151 +msgid "Positional arguments" +msgstr "" + +#: ipalib/cli.py:1297 +#, python-format +msgid "Same as --%s" +msgstr "" + +#: ipalib/cli.py:1300 +msgid "Deprecated options" +msgstr "" + +#: ipalib/cli.py:1429 +msgid "No file to read" msgstr "" #: ipalib/messages.py:84 @@ -13393,6 +13379,162 @@ msgstr "" msgid "The permission has %(right)s rights but no attributes are set." msgstr "" +#: ipalib/frontend.py:425 +msgid "Results are truncated, try a more specific search" +msgstr "" + +#: ipalib/frontend.py:584 ipatests/test_xmlrpc/test_ping_plugin.py:52 +#, python-format +msgid "Unknown option: %(option)s" +msgstr "" + +#: ipalib/frontend.py:981 ipaserver/plugins/batch.py:83 +msgid "Client version. Used to determine if server will accept request." +msgstr "" + +#: ipalib/plugable.py:534 +#, python-format +msgid "%(filename)s: file not found" +msgstr "" + +#: ipalib/plugable.py:607 +#, python-brace-format +msgid "Unable to parse option {item}" +msgstr "" + +#: ipalib/util.py:214 +msgid "Filename is empty" +msgstr "" + +#: ipalib/util.py:218 +#, python-format +msgid "Permission denied: %(file)s" +msgstr "" + +#: ipalib/util.py:413 ipalib/util.py:945 +msgid "empty DNS label" +msgstr "" + +#: ipalib/util.py:416 +msgid "DNS label cannot be longer that 63 characters" +msgstr "" + +#: ipalib/util.py:421 +#, python-format +msgid "" +"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " +"with %(chars2)s" +msgstr "" + +#: ipalib/util.py:437 +msgid "single label {}s are not supported" +msgstr "" + +#: ipalib/util.py:447 +msgid "too many '@' characters" +msgstr "" + +#: ipalib/util.py:476 +msgid "cannot be longer that {} characters" +msgstr "" + +#: ipalib/util.py:483 +msgid "hostname contains empty label (consecutive dots)" +msgstr "" + +#: ipalib/util.py:487 +msgid "not fully qualified" +msgstr "" + +#: ipalib/util.py:500 ipalib/util.py:509 +msgid "invalid SSH public key" +msgstr "" + +#: ipalib/util.py:512 +msgid "options are not allowed" +msgstr "" + +#: ipalib/util.py:748 +msgid "invalid hostmask" +msgstr "" + +#: ipalib/util.py:762 +#, python-format +msgid "query '%(owner)s %(rtype)s': %(error)s" +msgstr "" + +#: ipalib/util.py:766 +#, python-format +msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" +msgstr "" + +#: ipalib/util.py:770 +#, python-format +msgid "" +"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " +"data)" +msgstr "" + +#: ipalib/util.py:775 +#, python-format +msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" +msgstr "" + +#: ipalib/util.py:943 +msgid "invalid escape code in domain name" +msgstr "" + +#: ipalib/util.py:947 +msgid "domain name cannot be longer than 255 characters" +msgstr "" + +#: ipalib/util.py:949 +msgid "DNS label cannot be longer than 63 characters" +msgstr "" + +#: ipalib/util.py:951 +msgid "invalid domain name" +msgstr "" + +#: ipalib/util.py:964 +#, python-format +msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" +msgstr "" + +#: ipalib/util.py:1113 +#, python-format +msgid "invalid domain-name: %s" +msgstr "" + +#: ipalib/util.py:1125 +#, python-format +msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" +msgstr "" + +#: ipalib/util.py:1131 +msgid "invalid IP address format" +msgstr "" + +#: ipalib/util.py:1149 +#, python-format +msgid "%(port)s is not a valid port" +msgstr "" + +#: ipalib/util.py:1182 +msgid "" +"at least one value equal to the canonical principal name must be present" +msgstr "" + +#: ipalib/util.py:1290 +msgid "realm or UPN suffix overlaps with trusted domain namespace" +msgstr "" + +#: ipalib/util.py:1320 +msgid "" +"realm or UPN suffix outside of supported realm domains or trusted domains " +"namespace" +msgstr "" + #: ipalib/parameters.py:415 msgid "incorrect type" msgstr "" @@ -13572,157 +13714,14 @@ msgstr "" msgid "invalid serial number 0" msgstr "" -#: ipalib/plugable.py:534 -#, python-format -msgid "%(filename)s: file not found" -msgstr "" - -#: ipalib/plugable.py:607 -#, python-brace-format -msgid "Unable to parse option {item}" -msgstr "" - -#: ipalib/rpc.py:1109 +#: ipalib/rpc.py:1110 msgid "any of the configured servers" msgstr "" -#: ipalib/rpc.py:1192 +#: ipalib/rpc.py:1193 msgid "Exceeded number of tries to forward a request." msgstr "" -#: ipalib/util.py:214 -msgid "Filename is empty" -msgstr "" - -#: ipalib/util.py:218 -#, python-format -msgid "Permission denied: %(file)s" -msgstr "" - -#: ipalib/util.py:413 ipalib/util.py:945 -msgid "empty DNS label" -msgstr "" - -#: ipalib/util.py:416 -msgid "DNS label cannot be longer that 63 characters" -msgstr "" - -#: ipalib/util.py:421 -#, python-format -msgid "" -"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " -"with %(chars2)s" -msgstr "" - -#: ipalib/util.py:437 -msgid "single label {}s are not supported" -msgstr "" - -#: ipalib/util.py:447 -msgid "too many '@' characters" -msgstr "" - -#: ipalib/util.py:476 -msgid "cannot be longer that {} characters" -msgstr "" - -#: ipalib/util.py:483 -msgid "hostname contains empty label (consecutive dots)" -msgstr "" - -#: ipalib/util.py:487 -msgid "not fully qualified" -msgstr "" - -#: ipalib/util.py:500 ipalib/util.py:509 -msgid "invalid SSH public key" -msgstr "" - -#: ipalib/util.py:512 -msgid "options are not allowed" -msgstr "" - -#: ipalib/util.py:748 -msgid "invalid hostmask" -msgstr "" - -#: ipalib/util.py:762 -#, python-format -msgid "query '%(owner)s %(rtype)s': %(error)s" -msgstr "" - -#: ipalib/util.py:766 -#, python-format -msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" -msgstr "" - -#: ipalib/util.py:770 -#, python-format -msgid "" -"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " -"data)" -msgstr "" - -#: ipalib/util.py:775 -#, python-format -msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" -msgstr "" - -#: ipalib/util.py:943 -msgid "invalid escape code in domain name" -msgstr "" - -#: ipalib/util.py:947 -msgid "domain name cannot be longer than 255 characters" -msgstr "" - -#: ipalib/util.py:949 -msgid "DNS label cannot be longer than 63 characters" -msgstr "" - -#: ipalib/util.py:951 -msgid "invalid domain name" -msgstr "" - -#: ipalib/util.py:964 -#, python-format -msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" -msgstr "" - -#: ipalib/util.py:1113 -#, python-format -msgid "invalid domain-name: %s" -msgstr "" - -#: ipalib/util.py:1125 -#, python-format -msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" -msgstr "" - -#: ipalib/util.py:1131 -msgid "invalid IP address format" -msgstr "" - -#: ipalib/util.py:1149 -#, python-format -msgid "%(port)s is not a valid port" -msgstr "" - -#: ipalib/util.py:1182 -msgid "" -"at least one value equal to the canonical principal name must be present" -msgstr "" - -#: ipalib/util.py:1290 -msgid "realm or UPN suffix overlaps with trusted domain namespace" -msgstr "" - -#: ipalib/util.py:1320 -msgid "" -"realm or UPN suffix outside of supported realm domains or trusted domains " -"namespace" -msgstr "" - #: ipapython/dogtag.py:113 #, python-format msgid "Retrieving CA cert chain failed: %s" @@ -13743,23 +13742,188 @@ msgstr "" msgid "Retrieving CA status failed with status %d" msgstr "" -#: ipapython/ipaldap.py:1190 +#: ipapython/ipaldap.py:1198 #, python-format msgid "objectclass %s not found" msgstr "" +#: ipaserver/dcerpc_common.py:20 +msgid "Trusting forest" +msgstr "" + +#: ipaserver/dcerpc_common.py:21 +msgid "Trusted forest" +msgstr "" + +#: ipaserver/dcerpc_common.py:26 +msgid "Established and verified" +msgstr "" + +#: ipaserver/dcerpc_common.py:27 +msgid "Waiting for confirmation by remote side" +msgstr "" + +#: ipaserver/dcerpc_common.py:30 +msgid "Unknown" +msgstr "" + +#: ipaserver/dcerpc_common.py:36 +msgid "Non-Active Directory domain" +msgstr "" + +#: ipaserver/dcerpc_common.py:37 ipaserver/plugins/internal.py:1275 +msgid "Active Directory domain" +msgstr "" + +#: ipaserver/dcerpc_common.py:38 +msgid "RFC4120-compliant Kerberos realm" +msgstr "" + +#: ipaserver/dcerpc_common.py:39 +msgid "" +"Non-transitive external trust to a domain in another Active Directory forest" +msgstr "" + +#: ipaserver/dcerpc_common.py:41 +msgid "Non-transitive external trust to an RFC4120-compliant Kerberos realm" +msgstr "" + +#: ipaserver/install/replication.py:1787 ipaserver/install/replication.py:1806 +#, python-format +msgid "Replication agreement for %(hostname)s not found" +msgstr "" + +#: ipaserver/install/ipa_acme_manage.py:104 ipaserver/plugins/dogtag.py:610 +msgid "Failed to authenticate to CA REST API" +msgstr "" + #: ipaserver/install/certs.py:494 #, python-format msgid "Unable to communicate with CMS (status %d)" msgstr "" -#: ipaserver/install/ipa_acme_manage.py:104 ipaserver/plugins/dogtag.py:1211 -msgid "Failed to authenticate to CA REST API" +#: ipaserver/plugins/certprofile.py:21 +msgid "" +"\n" +"Manage Certificate Profiles\n" +"\n" +"Certificate Profiles are used by Certificate Authority (CA) in the signing " +"of\n" +"certificates to determine if a Certificate Signing Request (CSR) is " +"acceptable,\n" +"and if so what features and extensions will be present on the certificate.\n" +"\n" +"The Certificate Profile format is the property-list format understood by " +"the\n" +"Dogtag or Red Hat Certificate System CA.\n" +"\n" +"PROFILE ID SYNTAX:\n" +"\n" +"A Profile ID is a string without spaces or punctuation starting with a " +"letter\n" +"and followed by a sequence of letters, digits or underscore (\"_\").\n" +"\n" +"EXAMPLES:\n" +"\n" +" Import a profile that will not store issued certificates:\n" +" ipa certprofile-import ShortLivedUserCert \\\n" +" --file UserCert.profile --desc \"User Certificates\" \\\n" +" --store=false\n" +"\n" +" Delete a certificate profile:\n" +" ipa certprofile-del ShortLivedUserCert\n" +"\n" +" Show information about a profile:\n" +" ipa certprofile-show ShortLivedUserCert\n" +"\n" +" Save profile configuration to a file:\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" +" Search for profiles that do not store certificates:\n" +" ipa certprofile-find --store=false\n" +"\n" +"PROFILE CONFIGURATION FORMAT:\n" +"\n" +"The profile configuration format is the raw property-list format\n" +"used by Dogtag Certificate System. The XML format is not supported.\n" +"\n" +"The following restrictions apply to profiles managed by IPA:\n" +"\n" +"- When importing a profile the \"profileId\" field, if present, must\n" +" match the ID given on the command line.\n" +"\n" +"- The \"classId\" field must be set to \"caEnrollImpl\"\n" +"\n" +"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" +"\n" +"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" +" class must be used.\n" +"\n" msgstr "" -#: ipaserver/install/replication.py:1787 ipaserver/install/replication.py:1806 +#: ipaserver/plugins/certprofile.py:86 ipaserver/plugins/cert.py:283 +msgid "CA is not configured" +msgstr "" + +#: ipaserver/plugins/certprofile.py:95 +msgid "invalid Profile ID" +msgstr "" + +#: ipaserver/plugins/certprofile.py:106 ipaserver/plugins/certprofile.py:116 +msgid "Certificate Profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:107 ipaserver/plugins/certprofile.py:115 +msgid "Certificate Profiles" +msgstr "" + +#: ipaserver/plugins/certprofile.py:126 +msgid "Profile configuration" +msgstr "" + +#: ipaserver/plugins/certprofile.py:190 #, python-format -msgid "Replication agreement for %(hostname)s not found" +msgid "%(count)d profile matched" +msgid_plural "%(count)d profiles matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/certprofile.py:222 +#, python-format +msgid "Imported profile \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/certprofile.py:247 +#, python-format +msgid "Profile data specifies profileId multiple times: %(values)s" +msgstr "" + +#: ipaserver/plugins/certprofile.py:255 +#, python-format +msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" +msgstr "" + +#: ipaserver/plugins/certprofile.py:282 +#, python-format +msgid "Deleted profile \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/certprofile.py:289 +#, python-format +msgid "Predefined profile '%(profile_id)s' cannot be deleted" +msgstr "" + +#: ipaserver/plugins/certprofile.py:305 +#, python-format +msgid "Modified Certificate Profile \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/certprofile.py:322 +msgid "Certificate profiles cannot be renamed" +msgstr "" + +#: ipaserver/plugins/certprofile.py:327 +msgid "Insufficient privilege to modify a certificate profile." msgstr "" #: ipaserver/plugins/delegation.py:67 @@ -13928,6 +14092,26 @@ msgstr "" msgid "Deleted DNS server \"%(value)s\"" msgstr "" +#: ipaserver/plugins/domainlevel.py:69 +#, python-brace-format +msgid "" +"Domain Level cannot be raised to {0}, existing replication conflicts have to " +"be resolved." +msgstr "" + +#: ipaserver/plugins/domainlevel.py:112 +msgid "Server does not support domain level functionality" +msgstr "" + +#: ipaserver/plugins/domainlevel.py:147 +msgid "Domain Level cannot be lowered." +msgstr "" + +#: ipaserver/plugins/domainlevel.py:155 +#, python-brace-format +msgid "Domain Level cannot be raised to {0}, server {1} does not support it." +msgstr "" + #: ipaserver/plugins/hbac.py:7 msgid "Host-based access control commands" msgstr "" @@ -14029,6 +14213,240 @@ msgid_plural "%(count)d HBAC service groups matched" msgstr[0] "" msgstr[1] "" +#: ipaserver/plugins/hostgroup.py:35 +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 (using Bash brace expansion):\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" +" Add a member manager:\n" +" ipa hostgroup-add-member-manager --users=user1 baltimore\n" +"\n" +" Remove a member manager\n" +" ipa hostgroup-remove-member-manager --users=user1 baltimore\n" +"\n" +" Delete a hostgroup:\n" +" ipa hostgroup-del baltimore\n" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:107 +msgid "host groups" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:179 +msgid "Host Group" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:223 +#, python-format +msgid "Added hostgroup \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:239 +#, python-format +msgid "" +"netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " +"common namespace" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:262 +#, python-format +msgid "Deleted hostgroup \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:266 ipaserver/plugins/hostgroup.py:284 +#: ipaserver/plugins/hostgroup.py:349 +msgid "hostgroup" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:268 ipaserver/plugins/hostgroup.py:286 +msgid "privileged hostgroup" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:278 +#, python-format +msgid "Modified hostgroup \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:303 +#, python-format +msgid "%(count)d hostgroup matched" +msgid_plural "%(count)d hostgroups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/hostgroup.py:362 +msgid "Add users that can manage members of this hostgroup." +msgstr "" + +#: ipaserver/plugins/hostgroup.py:372 +msgid "Remove users that can manage members of this hostgroup." +msgstr "" + +#: ipaserver/plugins/join.py:125 +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " +"'%s'." +msgstr "" + +#: ipaserver/plugins/location.py:33 +msgid "" +"\n" +"IPA locations\n" +msgstr "" + +#: ipaserver/plugins/location.py:35 +msgid "" +"\n" +"Manipulate DNS locations\n" +msgstr "" + +#: ipaserver/plugins/location.py:39 +msgid "" +"\n" +" Find all locations:\n" +" ipa location-find\n" +msgstr "" + +#: ipaserver/plugins/location.py:42 +msgid "" +"\n" +" Show specific location:\n" +" ipa location-show location\n" +msgstr "" + +#: ipaserver/plugins/location.py:45 +msgid "" +"\n" +" Add location:\n" +" ipa location-add location --description 'My location'\n" +msgstr "" + +#: ipaserver/plugins/location.py:48 +msgid "" +"\n" +" Delete location:\n" +" ipa location-del location\n" +msgstr "" + +#: ipaserver/plugins/location.py:62 +msgid "location" +msgstr "" + +#: ipaserver/plugins/location.py:63 +msgid "locations" +msgstr "" + +#: ipaserver/plugins/location.py:69 +msgid "IPA Locations" +msgstr "" + +#: ipaserver/plugins/location.py:70 +msgid "IPA Location" +msgstr "" + +#: ipaserver/plugins/location.py:103 +msgid "Location name" +msgstr "" + +#: ipaserver/plugins/location.py:104 +msgid "IPA location name" +msgstr "" + +#: ipaserver/plugins/location.py:112 +msgid "IPA Location description" +msgstr "" + +#: ipaserver/plugins/location.py:116 +msgid "Servers" +msgstr "" + +#: ipaserver/plugins/location.py:117 +msgid "Servers that belongs to the IPA location" +msgstr "" + +#: ipaserver/plugins/location.py:122 +msgid "Advertised by servers" +msgstr "" + +#: ipaserver/plugins/location.py:123 +msgid "List of servers which advertise the given location" +msgstr "" + +#: ipaserver/plugins/location.py:138 +msgid "Add a new IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:140 +#, python-format +msgid "Added IPA location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/location.py:145 +msgid "Delete an IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:147 +#, python-format +msgid "Deleted IPA location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/location.py:157 ipaserver/plugins/server.py:71 +#: ipaserver/plugins/internal.py:1976 +msgid "IPA Server" +msgstr "" + +#: ipaserver/plugins/location.py:170 +msgid "Modify information about an IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:172 +#, python-format +msgid "Modified IPA location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/location.py:177 +msgid "Search for IPA locations." +msgstr "" + +#: ipaserver/plugins/location.py:180 +#, python-format +msgid "%(count)d IPA location matched" +msgid_plural "%(count)d IPA locations matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/location.py:187 +msgid "Display information about an IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:193 +msgid "Servers in location" +msgstr "" + #: ipaserver/plugins/netgroup.py:103 msgid "netgroups" msgstr "" @@ -14092,6 +14510,43 @@ msgstr "" msgid "OTP Configuration" msgstr "" +#: ipaserver/plugins/passwd.py:40 +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" +"If the user authentication method is set to password+OTP, the user should\n" +"pass the --otp option when resetting the password.\n" +"\n" +"EXAMPLES:\n" +"\n" +" To reset your own password:\n" +" ipa passwd\n" +"\n" +" To reset your own password when password+OTP is set as authentication " +"method:\n" +" ipa passwd --otp\n" +"\n" +" To change another user's password:\n" +" ipa passwd tuser1\n" +msgstr "" + +#: ipaserver/plugins/passwd.py:114 +msgid "The OTP if the user has a token configured" +msgstr "" + +#: ipaserver/plugins/passwd.py:120 +#, python-format +msgid "Changed password for \"%(value)s\"" +msgstr "" + #: ipaserver/plugins/pkinit.py:13 msgid "" "\n" @@ -14242,6 +14697,134 @@ msgid_plural "%(count)d RADIUS proxy servers matched" msgstr[0] "" msgstr[1] "" +#: ipaserver/plugins/realmdomains.py:34 +msgid "" +"\n" +"Realm domains\n" +"\n" +"Manage the list of domains associated with IPA realm.\n" +"\n" +"This list is useful for Domain Controllers from other realms which have\n" +"established trust with this IPA realm. They need the information to know\n" +"which request should be forwarded to KDC of this IPA realm.\n" +"\n" +"Automatic management: a domain is automatically added to the realm domains\n" +"list when a new DNS Zone managed by IPA is created. Same applies for " +"deletion.\n" +"\n" +"Externally managed DNS: domains which are not managed in IPA server DNS\n" +"need to be manually added to the list using ipa realmdomains-mod command.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Display the current list of realm domains:\n" +" ipa realmdomains-show\n" +"\n" +" Replace the list of realm domains:\n" +" ipa realmdomains-mod --domain=example.com\n" +" ipa realmdomains-mod --domain={example1.com,example2.com,example3.com}\n" +"\n" +" Add a domain to the list of realm domains:\n" +" ipa realmdomains-mod --add-domain=newdomain.com\n" +"\n" +" Delete a domain from the list of realm domains:\n" +" ipa realmdomains-mod --del-domain=olddomain.com\n" +msgstr "" + +#: ipaserver/plugins/realmdomains.py:85 +msgid "Realm domains" +msgstr "" + +#: ipaserver/plugins/realmdomains.py:107 ipaserver/plugins/realmdomains.py:108 +#: ipaserver/plugins/internal.py:1288 +msgid "Realm Domains" +msgstr "" + +#: ipaserver/plugins/realmdomains.py:134 +msgid "" +"\n" +" Modify realm domains\n" +"\n" +" DNS check: When manually adding a domain to the list, a DNS check is\n" +" performed by default. It ensures that the domain is associated with\n" +" the IPA realm, by checking whether the domain has a _kerberos TXT " +"record\n" +" containing the IPA realm name. This check can be skipped by specifying\n" +" --force option.\n" +"\n" +" Removal: when a realm domain which has a matching DNS zone managed by\n" +" IPA is being removed, a corresponding _kerberos TXT record in the zone " +"is\n" +" removed automatically as well. Other records in the zone or the zone\n" +" itself are not affected.\n" +" " +msgstr "" + +#: ipaserver/plugins/realmdomains.py:177 +#, python-format +msgid "" +"DNS zone for each realmdomain must contain SOA or NS records. No records " +"found for: %s" +msgstr "" + +#: ipaserver/plugins/realmdomains.py:203 +#, python-format +msgid "The following domains do not belong to this realm: %(domains)s" +msgstr "" + +#: ipaserver/plugins/realmdomains.py:218 +#, python-format +msgid "" +"The realm of the following domains could not be detected: %(domains)s. If " +"these are domains that belong to the this realm, please create a _kerberos " +"TXT record containing \"%(realm)s\" in each of them." +msgstr "" + +#: ipaserver/plugins/realmdomains.py:241 +msgid "" +"The --domain option cannot be used together with --add-domain or --del-" +"domain. Use --domain to specify the whole realm domain list explicitly, to " +"add/remove individual domains, use --add-domain/del-domain." +msgstr "" + +#: ipaserver/plugins/realmdomains.py:252 +msgid "IPA server domain cannot be omitted" +msgstr "" + +#: ipaserver/plugins/realmdomains.py:274 +msgid "IPA server domain cannot be deleted" +msgstr "" + +#: ipaserver/plugins/role.py:82 ipaserver/plugins/serverrole.py:186 +msgid "roles" +msgstr "" + +#: ipaserver/plugins/role.py:143 +msgid "Role" +msgstr "" + +#: ipaserver/plugins/role.py:164 +#, python-format +msgid "Added role \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/role.py:172 +#, python-format +msgid "Deleted role \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/role.py:180 +#, python-format +msgid "Modified role \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/role.py:189 +#, python-format +msgid "%(count)d role matched" +msgid_plural "%(count)d roles matched" +msgstr[0] "" +msgstr[1] "" + #: ipaserver/plugins/selfservice.py:68 msgid "self service permission" msgstr "" @@ -14374,18 +14957,405 @@ msgstr[1] "" msgid "Include IPA master entries" msgstr "" -#: ipaserver/plugins/serverrole.py:186 ipaserver/plugins/role.py:82 -msgid "roles" -msgstr "" - #: ipaserver/plugins/serverrole.py:192 msgid "IPA role name" msgstr "" +#: ipaserver/plugins/servicedelegation.py:26 +msgid "" +"\n" +"Service Constrained Delegation\n" +"\n" +"Manage rules to allow constrained delegation of credentials so\n" +"that a service can impersonate a user when communicating with another\n" +"service without requiring the user to actually forward their TGT.\n" +"This makes for a much better method of delegating credentials as it\n" +"prevents exposure of the short term secret of the user.\n" +"\n" +"The naming convention is to append the word \"target\" or \"targets\" to\n" +"a matching rule name. This is not mandatory but helps conceptually\n" +"to associate rules and targets.\n" +"\n" +"A rule consists of two things:\n" +" - A list of targets the rule applies to\n" +" - A list of memberPrincipals that are allowed to delegate for\n" +" those targets\n" +"\n" +"A target consists of a list of principals that can be delegated.\n" +"\n" +"In English, a rule says that this principal can delegate as this\n" +"list of principals, as defined by these targets.\n" +"\n" +"In both a rule and a target Kerberos principals may be specified\n" +"by their name or an alias and the realm can be omitted. Additionally,\n" +"hosts can be specified by their names. If Kerberos principal specified\n" +"has a single component and does not end with '$' sign, it will be treated\n" +"as a host name. Kerberos principal names ending with '$' are typically\n" +"used as aliases for Active Directory-related services.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new constrained delegation rule:\n" +" ipa servicedelegationrule-add ftp-delegation\n" +"\n" +" Add a new constrained delegation target:\n" +" ipa servicedelegationtarget-add ftp-delegation-target\n" +"\n" +" Add a principal to the rule:\n" +" ipa servicedelegationrule-add-member --principals=ftp/ipa.example." +"com ftp-delegation\n" +"\n" +" Add a host principal of the host 'ipa.example.com' to the rule:\n" +" ipa servicedelegationrule-add-member --principals=ipa.example.com " +"ftp-delegation\n" +"\n" +" Add our target to the rule:\n" +" ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-" +"delegation-target ftp-delegation\n" +"\n" +" Add a principal to the target:\n" +" ipa servicedelegationtarget-add-member --principals=ldap/ipa.example." +"com ftp-delegation-target\n" +"\n" +" Display information about a named delegation rule and target:\n" +" ipa servicedelegationrule_show ftp-delegation\n" +" ipa servicedelegationtarget_show ftp-delegation-target\n" +"\n" +" Remove a constrained delegation:\n" +" ipa servicedelegationrule-del ftp-delegation-target\n" +" ipa servicedelegationtarget-del ftp-delegation\n" +"\n" +"In this example the ftp service can get a TGT for the ldap service on\n" +"the bound user's behalf.\n" +"\n" +"It is strongly discouraged to modify the delegations that ship with\n" +"IPA, ipa-http-delegation and its targets ipa-cifs-delegation-targets and\n" +"ipa-ldap-delegation-targets. Incorrect changes can remove the ability\n" +"to delegate, causing the framework to stop functioning.\n" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:172 +msgid "Allowed to Impersonate" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:177 +msgid "Member principals" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:189 +#, python-format +msgid "Malformed principal: %(error)s" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:199 +msgid "Add target to a named service delegation." +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:213 +#: ipaserver/plugins/servicedelegation.py:303 +#: ipaserver/plugins/baseldap.py:1720 +#, python-format +msgid "member %s" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:287 +msgid "Remove member from a named service delegation." +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:378 +#: ipaserver/plugins/servicedelegation.py:411 +msgid "service delegation rule" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:379 +msgid "service delegation rules" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:390 +msgid "Service delegation rules" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:391 +msgid "Service delegation rule" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:398 +#, python-format +msgid "Added service delegation rule \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:405 +#, python-format +msgid "Deleted service delegation \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:413 +msgid "privileged service delegation rule" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:423 +#, python-format +msgid "%(count)d service delegation rule matched" +msgid_plural "%(count)d service delegation rules matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/servicedelegation.py:471 +#: ipaserver/plugins/servicedelegation.py:500 +msgid "service delegation target" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:472 +msgid "service delegation targets" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:479 +msgid "Service delegation targets" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:480 +msgid "Service delegation target" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:487 +#, python-format +msgid "Added service delegation target \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:494 +#, python-format +msgid "Deleted service delegation target \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:502 +msgid "privileged service delegation target" +msgstr "" + +#: ipaserver/plugins/servicedelegation.py:512 +#, python-format +msgid "%(count)d service delegation target matched" +msgid_plural "%(count)d service delegation targets matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/session.py:12 +msgid "" +"\n" +"Session Support for IPA\n" +msgstr "" + +#: ipaserver/plugins/subid.py:29 +msgid "" +"\n" +"Subordinate ids\n" +"\n" +"Manage subordinate user and group ids for users\n" +"\n" +"EXAMPLES:\n" +"\n" +" Auto-assign a subordinate id range to current user\n" +" ipa subid-generate\n" +"\n" +" Auto-assign a subordinate id range to user alice:\n" +" ipa subid-generate --owner=alice\n" +"\n" +" Find subordinate ids for user alice:\n" +" ipa subid-find --owner=alice\n" +"\n" +" Match entry by any subordinate uid in range:\n" +" ipa subid-match --subuid=2147483649\n" +msgstr "" + +#: ipaserver/plugins/subid.py:59 ipaserver/plugins/subid.py:62 +msgid "Subordinate id" +msgstr "" + +#: ipaserver/plugins/subid.py:60 ipaserver/plugins/subid.py:61 +msgid "Subordinate ids" +msgstr "" + +#: ipaserver/plugins/subid.py:144 +msgid "Subordinate id description" +msgstr "" + +#: ipaserver/plugins/subid.py:150 ipaserver/plugins/subid.py:468 +msgid "Owning user of subordinate id entry" +msgstr "" + +#: ipaserver/plugins/subid.py:155 ipaserver/plugins/internal.py:1404 +msgid "SubUID range start" +msgstr "" + +#: ipaserver/plugins/subid.py:157 +msgid "Start value for subordinate user ID (subuid) range" +msgstr "" + +#: ipaserver/plugins/subid.py:164 ipaserver/plugins/internal.py:1403 +msgid "SubUID range size" +msgstr "" + +#: ipaserver/plugins/subid.py:166 +msgid "Subordinate user ID count" +msgstr "" + +#: ipaserver/plugins/subid.py:173 ipaserver/plugins/internal.py:1402 +msgid "SubGID range start" +msgstr "" + +#: ipaserver/plugins/subid.py:175 +msgid "Start value for subordinate group ID (subgid) range" +msgstr "" + +#: ipaserver/plugins/subid.py:182 ipaserver/plugins/internal.py:1401 +msgid "SubGID range size" +msgstr "" + +#: ipaserver/plugins/subid.py:184 +msgid "Subordinate group ID count" +msgstr "" + +#: ipaserver/plugins/subid.py:213 +#, python-format +msgid "" +"%(oname)s with with name \"%(pkey)s\" or for user \"%(uid)s\" already exists." +msgstr "" + +#: ipaserver/plugins/subid.py:246 +#, python-format +msgid "'%(dn)s is not a valid user" +msgstr "" + +#: ipaserver/plugins/subid.py:278 +msgid "subgidnumber must be equal to subuidnumber" +msgstr "" + +#: ipaserver/plugins/subid.py:351 +msgid "Add a new subordinate id." +msgstr "" + +#: ipaserver/plugins/subid.py:352 +#, python-format +msgid "Added subordinate id \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/subid.py:384 +msgid "Delete a subordinate id." +msgstr "" + +#: ipaserver/plugins/subid.py:385 +#, python-format +msgid "Deleted subordinate id \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/subid.py:393 +msgid "Modify a subordinate id." +msgstr "" + +#: ipaserver/plugins/subid.py:394 +#, python-format +msgid "Modified subordinate id \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/subid.py:405 +msgid "Search for subordinate id." +msgstr "" + +#: ipaserver/plugins/subid.py:407 +#, python-format +msgid "%(count)d subordinate id matched" +msgid_plural "%(count)d subordinate ids matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/subid.py:440 +msgid "Display information about a subordinate id." +msgstr "" + +#: ipaserver/plugins/subid.py:458 +msgid "Generate and auto-assign subuid and subgid range to user entry" +msgstr "" + +#: ipaserver/plugins/subid.py:493 +msgid "Match users by any subordinate uid in their range" +msgstr "" + +#: ipaserver/plugins/subid.py:500 +msgid "SubUID match" +msgstr "" + +#: ipaserver/plugins/subid.py:501 +msgid "Match value for subordinate user ID" +msgstr "" + +#: ipaserver/plugins/subid.py:542 +msgid "Subordinate id statistics" +msgstr "" + +#: ipaserver/plugins/subid.py:586 +#, python-format +msgid "%(remaining)i remaining subordinate id ranges" +msgstr "" + #: ipaserver/plugins/sudo.py:7 msgid "commands for controlling sudo configuration" msgstr "" +#: ipaserver/plugins/sudocmd.py:33 +msgid "" +"\n" +"Sudo Commands\n" +"\n" +"Commands used as building blocks for sudo\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a new command\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 "" + +#: ipaserver/plugins/sudocmd.py:55 +#, python-format +msgid "must not contain trailing dot: %s" +msgstr "" + +#: ipaserver/plugins/sudocmd.py:64 +msgid "sudo command" +msgstr "" + +#: ipaserver/plugins/sudocmd.py:65 +msgid "sudo commands" +msgstr "" + +#: ipaserver/plugins/sudocmd.py:117 +msgid "Sudo Commands" +msgstr "" + +#: ipaserver/plugins/sudocmd.py:154 +#, python-format +msgid "Added Sudo Command \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/sudocmd.py:160 +#, python-format +msgid "Deleted Sudo Command \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/sudocmd.py:193 +#, python-format +msgid "Modified Sudo Command \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/sudocmd.py:201 +#, python-format +msgid "%(count)d Sudo Command matched" +msgid_plural "%(count)d Sudo Commands matched" +msgstr[0] "" +msgstr[1] "" + #: ipaserver/plugins/sudocmdgroup.py:34 msgid "" "\n" @@ -14442,6 +15412,277 @@ msgid_plural "%(count)d Sudo Command Groups matched" msgstr[0] "" msgstr[1] "" +#: ipaserver/plugins/topology.py:24 +msgid "" +"\n" +"Topology\n" +"\n" +"Management of a replication topology at domain level 1.\n" +msgstr "" + +#: ipaserver/plugins/topology.py:28 +msgid "" +"\n" +"IPA server's data is stored in LDAP server in two suffixes:\n" +"* domain suffix, e.g., 'dc=example,dc=com', contains all domain related " +"data\n" +"* ca suffix, 'o=ipaca', is present only on server with CA installed. It\n" +" contains data for Certificate Server component\n" +msgstr "" + +#: ipaserver/plugins/topology.py:33 +msgid "" +"\n" +"Data stored on IPA servers is replicated to other IPA servers. The way it " +"is\n" +"replicated is defined by replication agreements. Replication agreements " +"needs\n" +"to be set for both suffixes separately. On domain level 0 they are managed\n" +"using ipa-replica-manage and ipa-csreplica-manage tools. With domain level " +"1\n" +"they are managed centrally using `ipa topology*` commands.\n" +msgstr "" + +#: ipaserver/plugins/topology.py:39 +msgid "" +"\n" +"Agreements are represented by topology segments. By default topology " +"segment\n" +"represents 2 replication agreements - one for each direction, e.g., A to B " +"and\n" +"B to A. Creation of unidirectional segments is not allowed.\n" +msgstr "" + +#: ipaserver/plugins/topology.py:43 +msgid "" +"\n" +"To verify that no server is disconnected in the topology of the given " +"suffix,\n" +"use:\n" +" ipa topologysuffix-verify $suffix\n" +msgstr "" + +#: ipaserver/plugins/topology.py:47 +msgid "" +"\n" +"\n" +"Examples:\n" +" Find all IPA servers:\n" +" ipa server-find\n" +msgstr "" + +#: ipaserver/plugins/topology.py:52 +msgid "" +"\n" +" Find all suffixes:\n" +" ipa topologysuffix-find\n" +msgstr "" + +#: ipaserver/plugins/topology.py:55 +msgid "" +"\n" +" Add topology segment to 'domain' suffix:\n" +" ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B\n" +msgstr "" + +#: ipaserver/plugins/topology.py:58 +msgid "" +"\n" +" Add topology segment to 'ca' suffix:\n" +" ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B\n" +msgstr "" + +#: ipaserver/plugins/topology.py:61 +msgid "" +"\n" +" List all topology segments in 'domain' suffix:\n" +" ipa topologysegment-find domain\n" +msgstr "" + +#: ipaserver/plugins/topology.py:64 +msgid "" +"\n" +" List all topology segments in 'ca' suffix:\n" +" ipa topologysegment-find ca\n" +msgstr "" + +#: ipaserver/plugins/topology.py:67 +msgid "" +"\n" +" Delete topology segment in 'domain' suffix:\n" +" ipa topologysegment-del domain segment_name\n" +msgstr "" + +#: ipaserver/plugins/topology.py:70 +msgid "" +"\n" +" Delete topology segment in 'ca' suffix:\n" +" ipa topologysegment-del ca segment_name\n" +msgstr "" + +#: ipaserver/plugins/topology.py:73 +msgid "" +"\n" +" Verify topology of 'domain' suffix:\n" +" ipa topologysuffix-verify domain\n" +msgstr "" + +#: ipaserver/plugins/topology.py:76 +msgid "" +"\n" +" Verify topology of 'ca' suffix:\n" +" ipa topologysuffix-verify ca\n" +msgstr "" + +#: ipaserver/plugins/topology.py:92 +#, python-brace-format +msgid "Topology management requires minimum domain level {0} " +msgstr "" + +#: ipaserver/plugins/topology.py:104 +msgid "segment" +msgstr "" + +#: ipaserver/plugins/topology.py:105 +msgid "segments" +msgstr "" + +#: ipaserver/plugins/topology.py:119 +msgid "Topology Segments" +msgstr "" + +#: ipaserver/plugins/topology.py:120 +msgid "Topology Segment" +msgstr "" + +#: ipaserver/plugins/topology.py:226 +#, python-format +msgid "left node is not a topology node: %(leftnode)s" +msgstr "" + +#: ipaserver/plugins/topology.py:233 +#, python-format +msgid "right node is not a topology node: %(rightnode)s" +msgstr "" + +#: ipaserver/plugins/topology.py:250 +msgid "left node and right node must not be the same" +msgstr "" + +#: ipaserver/plugins/topology.py:261 +#, python-brace-format +msgid "left node ({host}) does not support suffix '{suff}'" +msgstr "" + +#: ipaserver/plugins/topology.py:269 +#, python-brace-format +msgid "right node ({host}) does not support suffix '{suff}'" +msgstr "" + +#: ipaserver/plugins/topology.py:280 +#, python-format +msgid "%(count)d segment matched" +msgid_plural "%(count)d segments matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/topology.py:289 +#, python-format +msgid "Added segment \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/topology.py:302 +#, python-format +msgid "Deleted segment \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/topology.py:314 +#, python-format +msgid "Modified segment \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/topology.py:329 +#, python-format +msgid "%(value)s" +msgstr "" + +#: ipaserver/plugins/topology.py:365 +msgid "left or right node has to be specified" +msgstr "" + +#: ipaserver/plugins/topology.py:370 +msgid "only one node can be specified" +msgstr "" + +#: ipaserver/plugins/topology.py:374 +#, python-format +msgid "Replication refresh for segment: \"%(pkey)s\" requested." +msgstr "" + +#: ipaserver/plugins/topology.py:377 +#, python-format +msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." +msgstr "" + +#: ipaserver/plugins/topology.py:408 +msgid "suffixes" +msgstr "" + +#: ipaserver/plugins/topology.py:412 +msgid "Topology suffixes" +msgstr "" + +#: ipaserver/plugins/topology.py:413 +msgid "Topology suffix" +msgstr "" + +#: ipaserver/plugins/topology.py:435 +#, python-format +msgid "%(count)d topology suffix matched" +msgid_plural "%(count)d topology suffixes matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/topology.py:446 +#, python-format +msgid "Deleted topology suffix \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/topology.py:460 +#, python-format +msgid "Added topology suffix \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/topology.py:474 +#, python-format +msgid "Modified topology suffix \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/topology.py:489 +msgid "" +"\n" +"Verify replication topology for suffix.\n" +"\n" +"Checks done:\n" +" 1. check if a topology is not disconnected. In other words if there are\n" +" replication paths between all servers.\n" +" 2. check if servers don't have more than the recommended number of\n" +" replication agreements\n" +msgstr "" + +#: ipaserver/plugins/virtual.py:57 +msgid "operation not defined" +msgstr "" + +#: ipaserver/plugins/virtual.py:82 +#, python-format +msgid "not allowed to perform operation: %s" +msgstr "" + +#: ipaserver/plugins/virtual.py:84 +msgid "No such virtual command" +msgstr "" + #: ipaserver/plugins/whoami.py:15 msgid "" "\n" @@ -15070,249 +16311,264 @@ msgstr "" msgid "must contain a tuple (list, dict)" msgstr "" -#: ipaserver/plugins/ca.py:21 +#: ipaserver/plugins/hbactest.py:39 ipaserver/plugins/cert.py:64 +msgid "pyhbac is not installed." +msgstr "" + +#: ipaserver/plugins/hbactest.py:45 msgid "" "\n" -"Manage Certificate Authorities\n" +"Simulate use of Host-based access controls\n" +"\n" +"HBAC rules control who can access what services on what hosts.\n" +"You can use HBAC to control which users or groups can access a service,\n" +"or group of services, on a target host.\n" +"\n" +"Since applying HBAC rules implies use of a production environment,\n" +"this plugin aims to provide simulation of HBAC rules evaluation without\n" +"having access to the production environment.\n" +"\n" +" Test user coming to a service on a named host against\n" +" existing enabled rules.\n" +"\n" +" ipa hbactest --user= --host= --service=\n" +" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" +" [--sizelimit= ]\n" +"\n" +" --user, --host, and --service are mandatory, others are optional.\n" +"\n" +" If --rules is specified simulate enabling of the specified rules and test\n" +" the login of the user using only these rules.\n" +"\n" +" If --enabled is specified, all enabled HBAC rules will be added to " +"simulation\n" +"\n" +" If --disabled is specified, all disabled HBAC rules will be added to " +"simulation\n" +"\n" +" If --nodetail is specified, do not return information about rules matched/" +"not matched.\n" +"\n" +" If both --rules and --enabled are specified, apply simulation to --rules " +"_and_\n" +" all IPA enabled rules.\n" +"\n" +" If no --rules specified, simulation is run against all IPA enabled rules.\n" +" By default there is a IPA-wide limit to number of entries fetched, you can " +"change it\n" +" with --sizelimit option.\n" +"\n" +"EXAMPLES:\n" +"\n" +" 1. Use all enabled HBAC rules in IPA database to simulate:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Matched rules: allow_all\n" +"\n" +" 2. Disable detailed summary of how rules were applied:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +"\n" +" 3. Test explicitly specified HBAC rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" +" --rules=myrule --rules=my-second-rule\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: myrule\n" +"\n" +" 4. Use all enabled HBAC rules in IPA database + explicitly specified " +"rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" +" --rules=myrule --rules=my-second-rule --enabled\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Matched rules: allow_all\n" +"\n" +" 5. Test all disabled HBAC rules in IPA database:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: new-rule\n" +"\n" +" 6. Test all disabled HBAC rules in IPA database + explicitly specified " +"rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" +" --rules=myrule --rules=my-second-rule --disabled\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +"\n" +" 7. Test all (enabled and disabled) HBAC rules in IPA database:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" +" --enabled --disabled\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Not matched rules: new-rule\n" +" Matched rules: allow_all\n" +"\n" +"\n" +"HBACTEST AND TRUSTED DOMAINS\n" +"\n" +"When an external trusted domain is configured in IPA, HBAC rules are also " +"applied\n" +"on users accessing IPA resources from the trusted domain. Trusted domain " +"users and\n" +"groups (and their SIDs) can be then assigned to external groups which can " +"be\n" +"members of POSIX groups in IPA which can be used in HBAC rules and thus " +"allowing\n" +"access to resources protected by the HBAC system.\n" +"\n" +"hbactest plugin is capable of testing access for both local IPA users and " +"users\n" +"from the trusted domains, either by a fully qualified user name or by user " +"SID.\n" +"Such user names need to have a trusted domain specified as a short name\n" +"(DOMAIN\\Administrator) or with a user principal name (UPN), " +"Administrator@ad.test.\n" +"\n" +"Please note that hbactest executed with a trusted domain user as --user " +"parameter\n" +"can be only run by members of \"trust admins\" group.\n" +"\n" +"EXAMPLES:\n" +"\n" +" 1. Test if a user from a trusted domain specified by its shortname " +"matches any\n" +" rule:\n" +"\n" +" $ ipa hbactest --user 'DOMAIN\\Administrator' --host `hostname` --" +"service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 2. Test if a user from a trusted domain specified by its domain name " +"matches\n" +" any rule:\n" +"\n" +" $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --" +"service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 3. Test if a user from a trusted domain specified by its SID matches any " +"rule:\n" +"\n" +" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \\\\\n" +" --host `hostname` --service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 4. Test if other user from a trusted domain specified by its SID matches " +"any rule:\n" +"\n" +" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \\" +"\\\n" +" --host `hostname` --service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Not matched rules: can_login\n" +"\n" +" 5. Test if other user from a trusted domain specified by its shortname " +"matches\n" +" any rule:\n" +"\n" +" $ ipa hbactest --user 'DOMAIN\\Otheruser' --host `hostname` --service " +"sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Not matched rules: can_login\n" msgstr "" -#: ipaserver/plugins/ca.py:23 +#: ipaserver/plugins/hbactest.py:384 +msgid "Unresolved rules in --rules" +msgstr "" + +#: ipaserver/plugins/hbactest.py:402 ipaserver/plugins/group.py:649 +#: ipaserver/plugins/group.py:706 msgid "" -"\n" -"Subordinate Certificate Authorities (Sub-CAs) can be added for scoped " -"issuance\n" -"of X.509 certificates.\n" +"Cannot perform external member validation without Samba 4 support installed. " +"Make sure you have installed server-trust-ad sub-package of IPA on the server" msgstr "" -#: ipaserver/plugins/ca.py:26 +#: ipaserver/plugins/hbactest.py:408 ipaserver/plugins/trust.py:345 msgid "" -"\n" -"CAs are enabled on creation, but their use is subject to CA ACLs unless the\n" -"operator has permission to bypass CA ACLs.\n" +"Cannot search in trusted domains without own domain configured. Make sure " +"you have run ipa-adtrust-install on the IPA server first" msgstr "" -#: ipaserver/plugins/ca.py:29 -msgid "" -"\n" -"All CAs except the 'IPA' CA can be disabled or re-enabled. Disabling a CA\n" -"prevents it from issuing certificates but does not affect the validity of " -"its\n" -"certificate.\n" -msgstr "" - -#: ipaserver/plugins/ca.py:33 -msgid "" -"\n" -"CAs (all except the 'IPA' CA) can be deleted. Deleting a CA causes its " -"signing\n" -"certificate to be revoked and its private key deleted.\n" -msgstr "" - -#: ipaserver/plugins/ca.py:38 -msgid "" -"\n" -" Create new CA, subordinate to the IPA CA (requires permission\n" -" \"System: Add CA\"):\n" -"\n" -" ipa ca-add puppet --desc \"Puppet\" \\\n" -" --subject \"CN=Puppet CA,O=EXAMPLE.COM\"\n" -msgstr "" - -#: ipaserver/plugins/ca.py:44 -msgid "" -"\n" -" Disable a CA (requires permission \"System: Modify CA\"):\n" -"\n" -" ipa ca-disable puppet\n" -msgstr "" - -#: ipaserver/plugins/ca.py:48 -msgid "" -"\n" -" Re-enable a CA (requires permission \"System: Modify CA\"):\n" -"\n" -" ipa ca-enable puppet\n" -msgstr "" - -#: ipaserver/plugins/ca.py:52 -msgid "" -"\n" -" Delete a CA (requires permission \"System: Delete CA\"; also requires\n" -" CA to be disabled first):\n" -"\n" -" ipa ca-del puppet\n" -msgstr "" - -#: ipaserver/plugins/ca.py:69 ipaserver/plugins/ca.py:80 -msgid "Certificate Authority" -msgstr "" - -#: ipaserver/plugins/ca.py:70 ipaserver/plugins/ca.py:79 -msgid "Certificate Authorities" -msgstr "" - -#: ipaserver/plugins/ca.py:86 ipaserver/plugins/schema.py:48 -#: ipaserver/plugins/trust.py:1422 -msgid "Name" -msgstr "" - -#: ipaserver/plugins/ca.py:87 -msgid "Name for referencing the CA" -msgstr "" - -#: ipaserver/plugins/ca.py:92 -msgid "Description of the purpose of the CA" -msgstr "" - -#: ipaserver/plugins/ca.py:96 -msgid "Authority ID" -msgstr "" - -#: ipaserver/plugins/ca.py:97 -msgid "Dogtag Authority ID" -msgstr "" - -#: ipaserver/plugins/ca.py:102 ipaserver/plugins/ca.py:296 -msgid "Subject DN" -msgstr "" - -#: ipaserver/plugins/ca.py:103 -msgid "Subject Distinguished Name" -msgstr "" - -#: ipaserver/plugins/ca.py:108 ipaserver/plugins/cert.py:426 -msgid "Issuer DN" -msgstr "" - -#: ipaserver/plugins/ca.py:109 -msgid "Issuer Distinguished Name" -msgstr "" - -#: ipaserver/plugins/ca.py:115 ipaserver/plugins/cert.py:354 -msgid "Base-64 encoded certificate." -msgstr "" - -#: ipaserver/plugins/ca.py:120 ipaserver/plugins/cert.py:359 -msgid "Certificate chain" -msgstr "" - -#: ipaserver/plugins/ca.py:121 ipaserver/plugins/cert.py:360 -msgid "X.509 certificate chain" -msgstr "" - -#: ipaserver/plugins/ca.py:127 -msgid "RSN Version" -msgstr "" - -#: ipaserver/plugins/ca.py:128 -msgid "Random Serial Number Version" -msgstr "" - -#: ipaserver/plugins/ca.py:228 -msgid "Search for CAs." -msgstr "" - -#: ipaserver/plugins/ca.py:230 +#: ipaserver/plugins/hbactest.py:497 #, python-format -msgid "%(count)d CA matched" -msgid_plural "%(count)d CAs matched" +msgid "Access granted: %s" +msgstr "" + +#: ipaserver/plugins/privilege.py:76 +#, python-format +msgid "" +"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " +"privilege" +msgstr "" + +#: ipaserver/plugins/privilege.py:149 +msgid "Privilege" +msgstr "" + +#: ipaserver/plugins/privilege.py:169 +#, python-format +msgid "Added privilege \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/privilege.py:176 +#, python-format +msgid "Deleted privilege \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/privilege.py:183 +#, python-format +msgid "Modified privilege \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/privilege.py:191 +#, python-format +msgid "%(count)d privilege matched" +msgid_plural "%(count)d privileges matched" msgstr[0] "" msgstr[1] "" -#: ipaserver/plugins/ca.py:247 ipaserver/plugins/cert.py:596 -msgid "Include certificate chain in output" -msgstr "" - -#: ipaserver/plugins/ca.py:253 -msgid "Display the properties of a CA." -msgstr "" - -#: ipaserver/plugins/ca.py:270 -msgid "Create a CA." -msgstr "" - -#: ipaserver/plugins/ca.py:271 -#, python-format -msgid "Created CA \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/ca.py:281 -#, python-format -msgid "Insufficient 'add' privilege for entry '%s'." -msgstr "" - -#: ipaserver/plugins/ca.py:297 -#, python-format -msgid "Unrecognized attributes: %(attrs)s" -msgstr "" - -#: ipaserver/plugins/ca.py:312 -#, python-format -msgid "Subject DN is already used by CA '%s'" -msgstr "" - -#: ipaserver/plugins/ca.py:336 -msgid "Delete a CA (must be disabled first)." -msgstr "" - -#: ipaserver/plugins/ca.py:338 -#, python-format -msgid "Deleted CA \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/ca.py:347 -msgid "Insufficient privilege to delete a CA." -msgstr "" - -#: ipaserver/plugins/ca.py:351 ipaserver/plugins/ca.py:360 -#: ipaserver/plugins/ca.py:379 ipaserver/plugins/ca.py:419 -#: ipaserver/plugins/internal.py:642 -msgid "CA" -msgstr "" - -#: ipaserver/plugins/ca.py:353 -msgid "IPA CA cannot be deleted" -msgstr "" - -#: ipaserver/plugins/ca.py:362 -msgid "Must be disabled first" -msgstr "" - -#: ipaserver/plugins/ca.py:370 -msgid "Modify CA configuration." -msgstr "" - -#: ipaserver/plugins/ca.py:371 -#, python-format -msgid "Modified CA \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/ca.py:397 -msgid "Insufficient privilege to modify a CA." -msgstr "" - -#: ipaserver/plugins/ca.py:413 -msgid "Disable a CA." -msgstr "" - -#: ipaserver/plugins/ca.py:414 -#, python-format -msgid "Disabled CA \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/ca.py:421 -msgid "IPA CA cannot be disabled" -msgstr "" - -#: ipaserver/plugins/ca.py:431 -msgid "Enable a CA." -msgstr "" - -#: ipaserver/plugins/ca.py:432 -#, python-format -msgid "Enabled CA \"%(value)s\"" -msgstr "" - #: ipaserver/plugins/caacl.py:21 msgid "" "\n" @@ -15838,155 +17094,11 @@ msgid_plural "%(count)s users matched" msgstr[0] "" msgstr[1] "" -#: ipaserver/plugins/certmap.py:606 ipaserver/plugins/baseuser.py:463 -#: ipaserver/plugins/baseuser.py:950 ipaserver/plugins/idviews.py:1069 +#: ipaserver/plugins/certmap.py:606 ipaserver/plugins/idviews.py:1069 +#: ipaserver/plugins/baseuser.py:463 ipaserver/plugins/baseuser.py:957 msgid "Base-64 encoded user certificate" msgstr "" -#: ipaserver/plugins/certprofile.py:21 -msgid "" -"\n" -"Manage Certificate Profiles\n" -"\n" -"Certificate Profiles are used by Certificate Authority (CA) in the signing " -"of\n" -"certificates to determine if a Certificate Signing Request (CSR) is " -"acceptable,\n" -"and if so what features and extensions will be present on the certificate.\n" -"\n" -"The Certificate Profile format is the property-list format understood by " -"the\n" -"Dogtag or Red Hat Certificate System CA.\n" -"\n" -"PROFILE ID SYNTAX:\n" -"\n" -"A Profile ID is a string without spaces or punctuation starting with a " -"letter\n" -"and followed by a sequence of letters, digits or underscore (\"_\").\n" -"\n" -"EXAMPLES:\n" -"\n" -" Import a profile that will not store issued certificates:\n" -" ipa certprofile-import ShortLivedUserCert \\\n" -" --file UserCert.profile --desc \"User Certificates\" \\\n" -" --store=false\n" -"\n" -" Delete a certificate profile:\n" -" ipa certprofile-del ShortLivedUserCert\n" -"\n" -" Show information about a profile:\n" -" ipa certprofile-show ShortLivedUserCert\n" -"\n" -" Save profile configuration to a file:\n" -" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" -"\n" -" Search for profiles that do not store certificates:\n" -" ipa certprofile-find --store=false\n" -"\n" -"PROFILE CONFIGURATION FORMAT:\n" -"\n" -"The profile configuration format is the raw property-list format\n" -"used by Dogtag Certificate System. The XML format is not supported.\n" -"\n" -"The following restrictions apply to profiles managed by IPA:\n" -"\n" -"- When importing a profile the \"profileId\" field, if present, must\n" -" match the ID given on the command line.\n" -"\n" -"- The \"classId\" field must be set to \"caEnrollImpl\"\n" -"\n" -"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" -"\n" -"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" -" class must be used.\n" -"\n" -msgstr "" - -#: ipaserver/plugins/certprofile.py:86 ipaserver/plugins/cert.py:283 -msgid "CA is not configured" -msgstr "" - -#: ipaserver/plugins/certprofile.py:95 -msgid "invalid Profile ID" -msgstr "" - -#: ipaserver/plugins/certprofile.py:106 ipaserver/plugins/certprofile.py:116 -msgid "Certificate Profile" -msgstr "" - -#: ipaserver/plugins/certprofile.py:107 ipaserver/plugins/certprofile.py:115 -msgid "Certificate Profiles" -msgstr "" - -#: ipaserver/plugins/certprofile.py:126 -msgid "Profile configuration" -msgstr "" - -#: ipaserver/plugins/certprofile.py:190 -#, python-format -msgid "%(count)d profile matched" -msgid_plural "%(count)d profiles matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/certprofile.py:222 -#, python-format -msgid "Imported profile \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/certprofile.py:247 -#, python-format -msgid "Profile data specifies profileId multiple times: %(values)s" -msgstr "" - -#: ipaserver/plugins/certprofile.py:255 -#, python-format -msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" -msgstr "" - -#: ipaserver/plugins/certprofile.py:282 -#, python-format -msgid "Deleted profile \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/certprofile.py:289 -#, python-format -msgid "Predefined profile '%(profile_id)s' cannot be deleted" -msgstr "" - -#: ipaserver/plugins/certprofile.py:305 -#, python-format -msgid "Modified Certificate Profile \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/certprofile.py:322 -msgid "Certificate profiles cannot be renamed" -msgstr "" - -#: ipaserver/plugins/certprofile.py:327 -msgid "Insufficient privilege to modify a certificate profile." -msgstr "" - -#: ipaserver/plugins/domainlevel.py:69 -#, python-brace-format -msgid "" -"Domain Level cannot be raised to {0}, existing replication conflicts have to " -"be resolved." -msgstr "" - -#: ipaserver/plugins/domainlevel.py:112 -msgid "Server does not support domain level functionality" -msgstr "" - -#: ipaserver/plugins/domainlevel.py:147 -msgid "Domain Level cannot be lowered." -msgstr "" - -#: ipaserver/plugins/domainlevel.py:155 -#, python-brace-format -msgid "Domain Level cannot be raised to {0}, server {1} does not support it." -msgstr "" - #: ipaserver/plugins/hbacrule.py:108 msgid "The deny type has been deprecated." msgstr "" @@ -16039,469 +17151,6 @@ msgstr "" msgid "Add source hosts and hostgroups to an HBAC rule." msgstr "" -#: ipaserver/plugins/hbactest.py:39 ipaserver/plugins/cert.py:64 -msgid "pyhbac is not installed." -msgstr "" - -#: ipaserver/plugins/hbactest.py:45 -msgid "" -"\n" -"Simulate use of Host-based access controls\n" -"\n" -"HBAC rules control who can access what services on what hosts.\n" -"You can use HBAC to control which users or groups can access a service,\n" -"or group of services, on a target host.\n" -"\n" -"Since applying HBAC rules implies use of a production environment,\n" -"this plugin aims to provide simulation of HBAC rules evaluation without\n" -"having access to the production environment.\n" -"\n" -" Test user coming to a service on a named host against\n" -" existing enabled rules.\n" -"\n" -" ipa hbactest --user= --host= --service=\n" -" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" -" [--sizelimit= ]\n" -"\n" -" --user, --host, and --service are mandatory, others are optional.\n" -"\n" -" If --rules is specified simulate enabling of the specified rules and test\n" -" the login of the user using only these rules.\n" -"\n" -" If --enabled is specified, all enabled HBAC rules will be added to " -"simulation\n" -"\n" -" If --disabled is specified, all disabled HBAC rules will be added to " -"simulation\n" -"\n" -" If --nodetail is specified, do not return information about rules matched/" -"not matched.\n" -"\n" -" If both --rules and --enabled are specified, apply simulation to --rules " -"_and_\n" -" all IPA enabled rules.\n" -"\n" -" If no --rules specified, simulation is run against all IPA enabled rules.\n" -" By default there is a IPA-wide limit to number of entries fetched, you can " -"change it\n" -" with --sizelimit option.\n" -"\n" -"EXAMPLES:\n" -"\n" -" 1. Use all enabled HBAC rules in IPA database to simulate:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Matched rules: allow_all\n" -"\n" -" 2. Disable detailed summary of how rules were applied:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -"\n" -" 3. Test explicitly specified HBAC rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" -" --rules=myrule --rules=my-second-rule\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: myrule\n" -"\n" -" 4. Use all enabled HBAC rules in IPA database + explicitly specified " -"rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" -" --rules=myrule --rules=my-second-rule --enabled\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Matched rules: allow_all\n" -"\n" -" 5. Test all disabled HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: new-rule\n" -"\n" -" 6. Test all disabled HBAC rules in IPA database + explicitly specified " -"rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" -" --rules=myrule --rules=my-second-rule --disabled\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -"\n" -" 7. Test all (enabled and disabled) HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\\\n" -" --enabled --disabled\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Not matched rules: new-rule\n" -" Matched rules: allow_all\n" -"\n" -"\n" -"HBACTEST AND TRUSTED DOMAINS\n" -"\n" -"When an external trusted domain is configured in IPA, HBAC rules are also " -"applied\n" -"on users accessing IPA resources from the trusted domain. Trusted domain " -"users and\n" -"groups (and their SIDs) can be then assigned to external groups which can " -"be\n" -"members of POSIX groups in IPA which can be used in HBAC rules and thus " -"allowing\n" -"access to resources protected by the HBAC system.\n" -"\n" -"hbactest plugin is capable of testing access for both local IPA users and " -"users\n" -"from the trusted domains, either by a fully qualified user name or by user " -"SID.\n" -"Such user names need to have a trusted domain specified as a short name\n" -"(DOMAIN\\Administrator) or with a user principal name (UPN), " -"Administrator@ad.test.\n" -"\n" -"Please note that hbactest executed with a trusted domain user as --user " -"parameter\n" -"can be only run by members of \"trust admins\" group.\n" -"\n" -"EXAMPLES:\n" -"\n" -" 1. Test if a user from a trusted domain specified by its shortname " -"matches any\n" -" rule:\n" -"\n" -" $ ipa hbactest --user 'DOMAIN\\Administrator' --host `hostname` --" -"service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" -"\n" -" 2. Test if a user from a trusted domain specified by its domain name " -"matches\n" -" any rule:\n" -"\n" -" $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --" -"service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" -"\n" -" 3. Test if a user from a trusted domain specified by its SID matches any " -"rule:\n" -"\n" -" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \\\\\n" -" --host `hostname` --service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" -"\n" -" 4. Test if other user from a trusted domain specified by its SID matches " -"any rule:\n" -"\n" -" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \\" -"\\\n" -" --host `hostname` --service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Not matched rules: can_login\n" -"\n" -" 5. Test if other user from a trusted domain specified by its shortname " -"matches\n" -" any rule:\n" -"\n" -" $ ipa hbactest --user 'DOMAIN\\Otheruser' --host `hostname` --service " -"sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Not matched rules: can_login\n" -msgstr "" - -#: ipaserver/plugins/hbactest.py:384 -msgid "Unresolved rules in --rules" -msgstr "" - -#: ipaserver/plugins/hbactest.py:402 ipaserver/plugins/group.py:649 -#: ipaserver/plugins/group.py:706 -msgid "" -"Cannot perform external member validation without Samba 4 support installed. " -"Make sure you have installed server-trust-ad sub-package of IPA on the server" -msgstr "" - -#: ipaserver/plugins/hbactest.py:408 ipaserver/plugins/trust.py:345 -msgid "" -"Cannot search in trusted domains without own domain configured. Make sure " -"you have run ipa-adtrust-install on the IPA server first" -msgstr "" - -#: ipaserver/plugins/hbactest.py:497 -#, python-format -msgid "Access granted: %s" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:35 -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 (using Bash brace expansion):\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" -" Add a member manager:\n" -" ipa hostgroup-add-member-manager --users=user1 baltimore\n" -"\n" -" Remove a member manager\n" -" ipa hostgroup-remove-member-manager --users=user1 baltimore\n" -"\n" -" Delete a hostgroup:\n" -" ipa hostgroup-del baltimore\n" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:107 -msgid "host groups" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:179 -msgid "Host Group" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:223 -#, python-format -msgid "Added hostgroup \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:239 -#, python-format -msgid "" -"netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " -"common namespace" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:262 -#, python-format -msgid "Deleted hostgroup \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:266 ipaserver/plugins/hostgroup.py:284 -#: ipaserver/plugins/hostgroup.py:349 -msgid "hostgroup" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:268 ipaserver/plugins/hostgroup.py:286 -msgid "privileged hostgroup" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:278 -#, python-format -msgid "Modified hostgroup \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/hostgroup.py:303 -#, python-format -msgid "%(count)d hostgroup matched" -msgid_plural "%(count)d hostgroups matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/hostgroup.py:362 -msgid "Add users that can manage members of this hostgroup." -msgstr "" - -#: ipaserver/plugins/hostgroup.py:372 -msgid "Remove users that can manage members of this hostgroup." -msgstr "" - -#: ipaserver/plugins/join.py:125 -#, python-format -msgid "" -"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " -"'%s'." -msgstr "" - -#: ipaserver/plugins/ldap2.py:278 -msgid "Could not read UPG Definition originfilter. Check your permissions." -msgstr "" - -#: ipaserver/plugins/location.py:33 -msgid "" -"\n" -"IPA locations\n" -msgstr "" - -#: ipaserver/plugins/location.py:35 -msgid "" -"\n" -"Manipulate DNS locations\n" -msgstr "" - -#: ipaserver/plugins/location.py:39 -msgid "" -"\n" -" Find all locations:\n" -" ipa location-find\n" -msgstr "" - -#: ipaserver/plugins/location.py:42 -msgid "" -"\n" -" Show specific location:\n" -" ipa location-show location\n" -msgstr "" - -#: ipaserver/plugins/location.py:45 -msgid "" -"\n" -" Add location:\n" -" ipa location-add location --description 'My location'\n" -msgstr "" - -#: ipaserver/plugins/location.py:48 -msgid "" -"\n" -" Delete location:\n" -" ipa location-del location\n" -msgstr "" - -#: ipaserver/plugins/location.py:62 -msgid "location" -msgstr "" - -#: ipaserver/plugins/location.py:63 -msgid "locations" -msgstr "" - -#: ipaserver/plugins/location.py:69 -msgid "IPA Locations" -msgstr "" - -#: ipaserver/plugins/location.py:70 -msgid "IPA Location" -msgstr "" - -#: ipaserver/plugins/location.py:103 -msgid "Location name" -msgstr "" - -#: ipaserver/plugins/location.py:104 -msgid "IPA location name" -msgstr "" - -#: ipaserver/plugins/location.py:112 -msgid "IPA Location description" -msgstr "" - -#: ipaserver/plugins/location.py:116 -msgid "Servers" -msgstr "" - -#: ipaserver/plugins/location.py:117 -msgid "Servers that belongs to the IPA location" -msgstr "" - -#: ipaserver/plugins/location.py:122 -msgid "Advertised by servers" -msgstr "" - -#: ipaserver/plugins/location.py:123 -msgid "List of servers which advertise the given location" -msgstr "" - -#: ipaserver/plugins/location.py:138 -msgid "Add a new IPA location." -msgstr "" - -#: ipaserver/plugins/location.py:140 -#, python-format -msgid "Added IPA location \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/location.py:145 -msgid "Delete an IPA location." -msgstr "" - -#: ipaserver/plugins/location.py:147 -#, python-format -msgid "Deleted IPA location \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/location.py:157 ipaserver/plugins/internal.py:1976 -#: ipaserver/plugins/server.py:71 -msgid "IPA Server" -msgstr "" - -#: ipaserver/plugins/location.py:170 -msgid "Modify information about an IPA location." -msgstr "" - -#: ipaserver/plugins/location.py:172 -#, python-format -msgid "Modified IPA location \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/location.py:177 -msgid "Search for IPA locations." -msgstr "" - -#: ipaserver/plugins/location.py:180 -#, python-format -msgid "%(count)d IPA location matched" -msgid_plural "%(count)d IPA locations matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/location.py:187 -msgid "Display information about an IPA location." -msgstr "" - -#: ipaserver/plugins/location.py:193 -msgid "Servers in location" -msgstr "" - #: ipaserver/plugins/migration.py:46 msgid "" "\n" @@ -16665,294 +17314,6 @@ msgstr "" msgid "Default group for new users not found" msgstr "" -#: ipaserver/plugins/otptoken.py:42 -msgid "" -"\n" -"OTP Tokens\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:44 -msgid "" -"\n" -"Manage OTP tokens.\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:46 -msgid "" -"\n" -"IPA supports the use of OTP tokens for multi-factor authentication. This\n" -"code enables the management of OTP tokens.\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:51 -msgid "" -"\n" -" Add a new token:\n" -" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:54 -msgid "" -"\n" -" Examine the token:\n" -" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:57 -msgid "" -"\n" -" Change the vendor:\n" -" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red " -"Hat\"\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:60 -msgid "" -"\n" -" Delete a token:\n" -" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" -msgstr "" - -#: ipaserver/plugins/otptoken.py:137 -msgid "OTP token" -msgstr "" - -#: ipaserver/plugins/otptoken.py:138 -msgid "OTP tokens" -msgstr "" - -#: ipaserver/plugins/otptoken.py:154 -msgid "OTP Tokens" -msgstr "" - -#: ipaserver/plugins/otptoken.py:155 -msgid "OTP Token" -msgstr "" - -#: ipaserver/plugins/otptoken.py:272 -msgid "URI" -msgstr "" - -#: ipaserver/plugins/otptoken.py:281 -#, python-format -msgid "Added OTP token \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/otptoken.py:335 -msgid "cannot be empty" -msgstr "" - -#: ipaserver/plugins/otptoken.py:367 -#, python-format -msgid "Deleted OTP token \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/otptoken.py:373 -#, python-format -msgid "Modified OTP token \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/otptoken.py:422 -#, python-format -msgid "%(count)d OTP token matched" -msgid_plural "%(count)d OTP tokens matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/passwd.py:40 -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" -"If the user authentication method is set to password+OTP, the user should\n" -"pass the --otp option when resetting the password.\n" -"\n" -"EXAMPLES:\n" -"\n" -" To reset your own password:\n" -" ipa passwd\n" -"\n" -" To reset your own password when password+OTP is set as authentication " -"method:\n" -" ipa passwd --otp\n" -"\n" -" To change another user's password:\n" -" ipa passwd tuser1\n" -msgstr "" - -#: ipaserver/plugins/passwd.py:114 -msgid "The OTP if the user has a token configured" -msgstr "" - -#: ipaserver/plugins/passwd.py:120 -#, python-format -msgid "Changed password for \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/privilege.py:76 -#, python-format -msgid "" -"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " -"privilege" -msgstr "" - -#: ipaserver/plugins/privilege.py:149 -msgid "Privilege" -msgstr "" - -#: ipaserver/plugins/privilege.py:169 -#, python-format -msgid "Added privilege \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/privilege.py:176 -#, python-format -msgid "Deleted privilege \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/privilege.py:183 -#, python-format -msgid "Modified privilege \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/privilege.py:191 -#, python-format -msgid "%(count)d privilege matched" -msgid_plural "%(count)d privileges matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/realmdomains.py:34 -msgid "" -"\n" -"Realm domains\n" -"\n" -"Manage the list of domains associated with IPA realm.\n" -"\n" -"This list is useful for Domain Controllers from other realms which have\n" -"established trust with this IPA realm. They need the information to know\n" -"which request should be forwarded to KDC of this IPA realm.\n" -"\n" -"Automatic management: a domain is automatically added to the realm domains\n" -"list when a new DNS Zone managed by IPA is created. Same applies for " -"deletion.\n" -"\n" -"Externally managed DNS: domains which are not managed in IPA server DNS\n" -"need to be manually added to the list using ipa realmdomains-mod command.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Display the current list of realm domains:\n" -" ipa realmdomains-show\n" -"\n" -" Replace the list of realm domains:\n" -" ipa realmdomains-mod --domain=example.com\n" -" ipa realmdomains-mod --domain={example1.com,example2.com,example3.com}\n" -"\n" -" Add a domain to the list of realm domains:\n" -" ipa realmdomains-mod --add-domain=newdomain.com\n" -"\n" -" Delete a domain from the list of realm domains:\n" -" ipa realmdomains-mod --del-domain=olddomain.com\n" -msgstr "" - -#: ipaserver/plugins/realmdomains.py:85 -msgid "Realm domains" -msgstr "" - -#: ipaserver/plugins/realmdomains.py:107 ipaserver/plugins/realmdomains.py:108 -#: ipaserver/plugins/internal.py:1288 -msgid "Realm Domains" -msgstr "" - -#: ipaserver/plugins/realmdomains.py:134 -msgid "" -"\n" -" Modify realm domains\n" -"\n" -" DNS check: When manually adding a domain to the list, a DNS check is\n" -" performed by default. It ensures that the domain is associated with\n" -" the IPA realm, by checking whether the domain has a _kerberos TXT " -"record\n" -" containing the IPA realm name. This check can be skipped by specifying\n" -" --force option.\n" -"\n" -" Removal: when a realm domain which has a matching DNS zone managed by\n" -" IPA is being removed, a corresponding _kerberos TXT record in the zone " -"is\n" -" removed automatically as well. Other records in the zone or the zone\n" -" itself are not affected.\n" -" " -msgstr "" - -#: ipaserver/plugins/realmdomains.py:177 -#, python-format -msgid "" -"DNS zone for each realmdomain must contain SOA or NS records. No records " -"found for: %s" -msgstr "" - -#: ipaserver/plugins/realmdomains.py:203 -#, python-format -msgid "The following domains do not belong to this realm: %(domains)s" -msgstr "" - -#: ipaserver/plugins/realmdomains.py:218 -#, python-format -msgid "" -"The realm of the following domains could not be detected: %(domains)s. If " -"these are domains that belong to the this realm, please create a _kerberos " -"TXT record containing \"%(realm)s\" in each of them." -msgstr "" - -#: ipaserver/plugins/realmdomains.py:241 -msgid "" -"The --domain option cannot be used together with --add-domain or --del-" -"domain. Use --domain to specify the whole realm domain list explicitly, to " -"add/remove individual domains, use --add-domain/del-domain." -msgstr "" - -#: ipaserver/plugins/realmdomains.py:252 -msgid "IPA server domain cannot be omitted" -msgstr "" - -#: ipaserver/plugins/realmdomains.py:274 -msgid "IPA server domain cannot be deleted" -msgstr "" - -#: ipaserver/plugins/role.py:143 -msgid "Role" -msgstr "" - -#: ipaserver/plugins/role.py:164 -#, python-format -msgid "Added role \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/role.py:172 -#, python-format -msgid "Deleted role \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/role.py:180 -#, python-format -msgid "Modified role \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/role.py:189 -#, python-format -msgid "%(count)d role matched" -msgid_plural "%(count)d roles matched" -msgstr[0] "" -msgstr[1] "" - #: ipaserver/plugins/selinuxusermap.py:89 msgid "HBAC rule and local members cannot both be set" msgstr "" @@ -17033,6 +17394,10 @@ msgstr "" msgid "Disabled SELinux User Map \"%(value)s\"" msgstr "" +#: ipaserver/plugins/ldap2.py:278 +msgid "Could not read UPG Definition originfilter. Check your permissions." +msgstr "" + #: ipaserver/plugins/serverroles.py:84 #, python-brace-format msgid "{role}: role not found" @@ -17043,1867 +17408,6 @@ msgstr "" msgid "{attr}: no such attribute" msgstr "" -#: ipaserver/plugins/servicedelegation.py:26 -msgid "" -"\n" -"Service Constrained Delegation\n" -"\n" -"Manage rules to allow constrained delegation of credentials so\n" -"that a service can impersonate a user when communicating with another\n" -"service without requiring the user to actually forward their TGT.\n" -"This makes for a much better method of delegating credentials as it\n" -"prevents exposure of the short term secret of the user.\n" -"\n" -"The naming convention is to append the word \"target\" or \"targets\" to\n" -"a matching rule name. This is not mandatory but helps conceptually\n" -"to associate rules and targets.\n" -"\n" -"A rule consists of two things:\n" -" - A list of targets the rule applies to\n" -" - A list of memberPrincipals that are allowed to delegate for\n" -" those targets\n" -"\n" -"A target consists of a list of principals that can be delegated.\n" -"\n" -"In English, a rule says that this principal can delegate as this\n" -"list of principals, as defined by these targets.\n" -"\n" -"In both a rule and a target Kerberos principals may be specified\n" -"by their name or an alias and the realm can be omitted. Additionally,\n" -"hosts can be specified by their names. If Kerberos principal specified\n" -"has a single component and does not end with '$' sign, it will be treated\n" -"as a host name. Kerberos principal names ending with '$' are typically\n" -"used as aliases for Active Directory-related services.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new constrained delegation rule:\n" -" ipa servicedelegationrule-add ftp-delegation\n" -"\n" -" Add a new constrained delegation target:\n" -" ipa servicedelegationtarget-add ftp-delegation-target\n" -"\n" -" Add a principal to the rule:\n" -" ipa servicedelegationrule-add-member --principals=ftp/ipa.example." -"com ftp-delegation\n" -"\n" -" Add a host principal of the host 'ipa.example.com' to the rule:\n" -" ipa servicedelegationrule-add-member --principals=ipa.example.com " -"ftp-delegation\n" -"\n" -" Add our target to the rule:\n" -" ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-" -"delegation-target ftp-delegation\n" -"\n" -" Add a principal to the target:\n" -" ipa servicedelegationtarget-add-member --principals=ldap/ipa.example." -"com ftp-delegation-target\n" -"\n" -" Display information about a named delegation rule and target:\n" -" ipa servicedelegationrule_show ftp-delegation\n" -" ipa servicedelegationtarget_show ftp-delegation-target\n" -"\n" -" Remove a constrained delegation:\n" -" ipa servicedelegationrule-del ftp-delegation-target\n" -" ipa servicedelegationtarget-del ftp-delegation\n" -"\n" -"In this example the ftp service can get a TGT for the ldap service on\n" -"the bound user's behalf.\n" -"\n" -"It is strongly discouraged to modify the delegations that ship with\n" -"IPA, ipa-http-delegation and its targets ipa-cifs-delegation-targets and\n" -"ipa-ldap-delegation-targets. Incorrect changes can remove the ability\n" -"to delegate, causing the framework to stop functioning.\n" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:172 -msgid "Allowed to Impersonate" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:177 -msgid "Member principals" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:189 -#, python-format -msgid "Malformed principal: %(error)s" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:199 -msgid "Add target to a named service delegation." -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:213 -#: ipaserver/plugins/servicedelegation.py:303 -#: ipaserver/plugins/baseldap.py:1720 -#, python-format -msgid "member %s" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:287 -msgid "Remove member from a named service delegation." -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:378 -#: ipaserver/plugins/servicedelegation.py:411 -msgid "service delegation rule" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:379 -msgid "service delegation rules" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:390 -msgid "Service delegation rules" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:391 -msgid "Service delegation rule" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:398 -#, python-format -msgid "Added service delegation rule \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:405 -#, python-format -msgid "Deleted service delegation \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:413 -msgid "privileged service delegation rule" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:423 -#, python-format -msgid "%(count)d service delegation rule matched" -msgid_plural "%(count)d service delegation rules matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/servicedelegation.py:471 -#: ipaserver/plugins/servicedelegation.py:500 -msgid "service delegation target" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:472 -msgid "service delegation targets" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:479 -msgid "Service delegation targets" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:480 -msgid "Service delegation target" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:487 -#, python-format -msgid "Added service delegation target \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:494 -#, python-format -msgid "Deleted service delegation target \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:502 -msgid "privileged service delegation target" -msgstr "" - -#: ipaserver/plugins/servicedelegation.py:512 -#, python-format -msgid "%(count)d service delegation target matched" -msgid_plural "%(count)d service delegation targets matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/session.py:12 -msgid "" -"\n" -"Session Support for IPA\n" -msgstr "" - -#: ipaserver/plugins/subid.py:29 -msgid "" -"\n" -"Subordinate ids\n" -"\n" -"Manage subordinate user and group ids for users\n" -"\n" -"EXAMPLES:\n" -"\n" -" Auto-assign a subordinate id range to current user\n" -" ipa subid-generate\n" -"\n" -" Auto-assign a subordinate id range to user alice:\n" -" ipa subid-generate --owner=alice\n" -"\n" -" Find subordinate ids for user alice:\n" -" ipa subid-find --owner=alice\n" -"\n" -" Match entry by any subordinate uid in range:\n" -" ipa subid-match --subuid=2147483649\n" -msgstr "" - -#: ipaserver/plugins/subid.py:59 ipaserver/plugins/subid.py:62 -msgid "Subordinate id" -msgstr "" - -#: ipaserver/plugins/subid.py:60 ipaserver/plugins/subid.py:61 -msgid "Subordinate ids" -msgstr "" - -#: ipaserver/plugins/subid.py:144 -msgid "Subordinate id description" -msgstr "" - -#: ipaserver/plugins/subid.py:150 ipaserver/plugins/subid.py:468 -msgid "Owning user of subordinate id entry" -msgstr "" - -#: ipaserver/plugins/subid.py:155 ipaserver/plugins/internal.py:1404 -msgid "SubUID range start" -msgstr "" - -#: ipaserver/plugins/subid.py:157 -msgid "Start value for subordinate user ID (subuid) range" -msgstr "" - -#: ipaserver/plugins/subid.py:164 ipaserver/plugins/internal.py:1403 -msgid "SubUID range size" -msgstr "" - -#: ipaserver/plugins/subid.py:166 -msgid "Subordinate user ID count" -msgstr "" - -#: ipaserver/plugins/subid.py:173 ipaserver/plugins/internal.py:1402 -msgid "SubGID range start" -msgstr "" - -#: ipaserver/plugins/subid.py:175 -msgid "Start value for subordinate group ID (subgid) range" -msgstr "" - -#: ipaserver/plugins/subid.py:182 ipaserver/plugins/internal.py:1401 -msgid "SubGID range size" -msgstr "" - -#: ipaserver/plugins/subid.py:184 -msgid "Subordinate group ID count" -msgstr "" - -#: ipaserver/plugins/subid.py:213 -#, python-format -msgid "" -"%(oname)s with with name \"%(pkey)s\" or for user \"%(uid)s\" already exists." -msgstr "" - -#: ipaserver/plugins/subid.py:246 -#, python-format -msgid "'%(dn)s is not a valid user" -msgstr "" - -#: ipaserver/plugins/subid.py:278 -msgid "subgidnumber must be equal to subuidnumber" -msgstr "" - -#: ipaserver/plugins/subid.py:351 -msgid "Add a new subordinate id." -msgstr "" - -#: ipaserver/plugins/subid.py:352 -#, python-format -msgid "Added subordinate id \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/subid.py:384 -msgid "Delete a subordinate id." -msgstr "" - -#: ipaserver/plugins/subid.py:385 -#, python-format -msgid "Deleted subordinate id \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/subid.py:393 -msgid "Modify a subordinate id." -msgstr "" - -#: ipaserver/plugins/subid.py:394 -#, python-format -msgid "Modified subordinate id \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/subid.py:405 -msgid "Search for subordinate id." -msgstr "" - -#: ipaserver/plugins/subid.py:407 -#, python-format -msgid "%(count)d subordinate id matched" -msgid_plural "%(count)d subordinate ids matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/subid.py:440 -msgid "Display information about a subordinate id." -msgstr "" - -#: ipaserver/plugins/subid.py:458 -msgid "Generate and auto-assign subuid and subgid range to user entry" -msgstr "" - -#: ipaserver/plugins/subid.py:493 -msgid "Match users by any subordinate uid in their range" -msgstr "" - -#: ipaserver/plugins/subid.py:500 -msgid "SubUID match" -msgstr "" - -#: ipaserver/plugins/subid.py:501 -msgid "Match value for subordinate user ID" -msgstr "" - -#: ipaserver/plugins/subid.py:542 -msgid "Subordinate id statistics" -msgstr "" - -#: ipaserver/plugins/subid.py:586 -#, python-format -msgid "%(remaining)i remaining subordinate id ranges" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:33 -msgid "" -"\n" -"Sudo Commands\n" -"\n" -"Commands used as building blocks for sudo\n" -"\n" -"EXAMPLES:\n" -"\n" -" Create a new command\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 "" - -#: ipaserver/plugins/sudocmd.py:55 -#, python-format -msgid "must not contain trailing dot: %s" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:64 -msgid "sudo command" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:65 -msgid "sudo commands" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:117 -msgid "Sudo Commands" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:154 -#, python-format -msgid "Added Sudo Command \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:160 -#, python-format -msgid "Deleted Sudo Command \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:193 -#, python-format -msgid "Modified Sudo Command \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/sudocmd.py:201 -#, python-format -msgid "%(count)d Sudo Command matched" -msgid_plural "%(count)d Sudo Commands matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/topology.py:24 -msgid "" -"\n" -"Topology\n" -"\n" -"Management of a replication topology at domain level 1.\n" -msgstr "" - -#: ipaserver/plugins/topology.py:28 -msgid "" -"\n" -"IPA server's data is stored in LDAP server in two suffixes:\n" -"* domain suffix, e.g., 'dc=example,dc=com', contains all domain related " -"data\n" -"* ca suffix, 'o=ipaca', is present only on server with CA installed. It\n" -" contains data for Certificate Server component\n" -msgstr "" - -#: ipaserver/plugins/topology.py:33 -msgid "" -"\n" -"Data stored on IPA servers is replicated to other IPA servers. The way it " -"is\n" -"replicated is defined by replication agreements. Replication agreements " -"needs\n" -"to be set for both suffixes separately. On domain level 0 they are managed\n" -"using ipa-replica-manage and ipa-csreplica-manage tools. With domain level " -"1\n" -"they are managed centrally using `ipa topology*` commands.\n" -msgstr "" - -#: ipaserver/plugins/topology.py:39 -msgid "" -"\n" -"Agreements are represented by topology segments. By default topology " -"segment\n" -"represents 2 replication agreements - one for each direction, e.g., A to B " -"and\n" -"B to A. Creation of unidirectional segments is not allowed.\n" -msgstr "" - -#: ipaserver/plugins/topology.py:43 -msgid "" -"\n" -"To verify that no server is disconnected in the topology of the given " -"suffix,\n" -"use:\n" -" ipa topologysuffix-verify $suffix\n" -msgstr "" - -#: ipaserver/plugins/topology.py:47 -msgid "" -"\n" -"\n" -"Examples:\n" -" Find all IPA servers:\n" -" ipa server-find\n" -msgstr "" - -#: ipaserver/plugins/topology.py:52 -msgid "" -"\n" -" Find all suffixes:\n" -" ipa topologysuffix-find\n" -msgstr "" - -#: ipaserver/plugins/topology.py:55 -msgid "" -"\n" -" Add topology segment to 'domain' suffix:\n" -" ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B\n" -msgstr "" - -#: ipaserver/plugins/topology.py:58 -msgid "" -"\n" -" Add topology segment to 'ca' suffix:\n" -" ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B\n" -msgstr "" - -#: ipaserver/plugins/topology.py:61 -msgid "" -"\n" -" List all topology segments in 'domain' suffix:\n" -" ipa topologysegment-find domain\n" -msgstr "" - -#: ipaserver/plugins/topology.py:64 -msgid "" -"\n" -" List all topology segments in 'ca' suffix:\n" -" ipa topologysegment-find ca\n" -msgstr "" - -#: ipaserver/plugins/topology.py:67 -msgid "" -"\n" -" Delete topology segment in 'domain' suffix:\n" -" ipa topologysegment-del domain segment_name\n" -msgstr "" - -#: ipaserver/plugins/topology.py:70 -msgid "" -"\n" -" Delete topology segment in 'ca' suffix:\n" -" ipa topologysegment-del ca segment_name\n" -msgstr "" - -#: ipaserver/plugins/topology.py:73 -msgid "" -"\n" -" Verify topology of 'domain' suffix:\n" -" ipa topologysuffix-verify domain\n" -msgstr "" - -#: ipaserver/plugins/topology.py:76 -msgid "" -"\n" -" Verify topology of 'ca' suffix:\n" -" ipa topologysuffix-verify ca\n" -msgstr "" - -#: ipaserver/plugins/topology.py:92 -#, python-brace-format -msgid "Topology management requires minimum domain level {0} " -msgstr "" - -#: ipaserver/plugins/topology.py:104 -msgid "segment" -msgstr "" - -#: ipaserver/plugins/topology.py:105 -msgid "segments" -msgstr "" - -#: ipaserver/plugins/topology.py:119 -msgid "Topology Segments" -msgstr "" - -#: ipaserver/plugins/topology.py:120 -msgid "Topology Segment" -msgstr "" - -#: ipaserver/plugins/topology.py:226 -#, python-format -msgid "left node is not a topology node: %(leftnode)s" -msgstr "" - -#: ipaserver/plugins/topology.py:233 -#, python-format -msgid "right node is not a topology node: %(rightnode)s" -msgstr "" - -#: ipaserver/plugins/topology.py:250 -msgid "left node and right node must not be the same" -msgstr "" - -#: ipaserver/plugins/topology.py:261 -#, python-brace-format -msgid "left node ({host}) does not support suffix '{suff}'" -msgstr "" - -#: ipaserver/plugins/topology.py:269 -#, python-brace-format -msgid "right node ({host}) does not support suffix '{suff}'" -msgstr "" - -#: ipaserver/plugins/topology.py:280 -#, python-format -msgid "%(count)d segment matched" -msgid_plural "%(count)d segments matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/topology.py:289 -#, python-format -msgid "Added segment \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/topology.py:302 -#, python-format -msgid "Deleted segment \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/topology.py:314 -#, python-format -msgid "Modified segment \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/topology.py:329 -#, python-format -msgid "%(value)s" -msgstr "" - -#: ipaserver/plugins/topology.py:365 -msgid "left or right node has to be specified" -msgstr "" - -#: ipaserver/plugins/topology.py:370 -msgid "only one node can be specified" -msgstr "" - -#: ipaserver/plugins/topology.py:374 -#, python-format -msgid "Replication refresh for segment: \"%(pkey)s\" requested." -msgstr "" - -#: ipaserver/plugins/topology.py:377 -#, python-format -msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." -msgstr "" - -#: ipaserver/plugins/topology.py:408 -msgid "suffixes" -msgstr "" - -#: ipaserver/plugins/topology.py:412 -msgid "Topology suffixes" -msgstr "" - -#: ipaserver/plugins/topology.py:413 -msgid "Topology suffix" -msgstr "" - -#: ipaserver/plugins/topology.py:435 -#, python-format -msgid "%(count)d topology suffix matched" -msgid_plural "%(count)d topology suffixes matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/topology.py:446 -#, python-format -msgid "Deleted topology suffix \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/topology.py:460 -#, python-format -msgid "Added topology suffix \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/topology.py:474 -#, python-format -msgid "Modified topology suffix \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/topology.py:489 -msgid "" -"\n" -"Verify replication topology for suffix.\n" -"\n" -"Checks done:\n" -" 1. check if a topology is not disconnected. In other words if there are\n" -" replication paths between all servers.\n" -" 2. check if servers don't have more than the recommended number of\n" -" replication agreements\n" -msgstr "" - -#: ipaserver/plugins/virtual.py:57 -msgid "operation not defined" -msgstr "" - -#: ipaserver/plugins/virtual.py:82 -#, python-format -msgid "not allowed to perform operation: %s" -msgstr "" - -#: ipaserver/plugins/virtual.py:84 -msgid "No such virtual command" -msgstr "" - -#: ipaserver/plugins/automount.py:218 -msgid "automount location" -msgstr "" - -#: ipaserver/plugins/automount.py:219 -msgid "automount locations" -msgstr "" - -#: ipaserver/plugins/automount.py:222 -msgid "Automount Locations" -msgstr "" - -#: ipaserver/plugins/automount.py:223 -msgid "Automount Location" -msgstr "" - -#: ipaserver/plugins/automount.py:263 -#, python-format -msgid "Added automount location \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:283 -#, python-format -msgid "Deleted automount location \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:296 -#, python-format -msgid "%(count)d automount location matched" -msgid_plural "%(count)d automount locations matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/automount.py:349 -msgid "automount map" -msgstr "" - -#: ipaserver/plugins/automount.py:350 -msgid "automount maps" -msgstr "" - -#: ipaserver/plugins/automount.py:393 -msgid "Automount Maps" -msgstr "" - -#: ipaserver/plugins/automount.py:394 -msgid "Automount Map" -msgstr "" - -#: ipaserver/plugins/automount.py:401 -#, python-format -msgid "Added automount map \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:408 -#, python-format -msgid "Deleted automount map \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:428 -#, python-format -msgid "Modified automount map \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:436 -#, python-format -msgid "%(count)d automount map matched" -msgid_plural "%(count)d automount maps matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/automount.py:448 -msgid "Automount key object." -msgstr "" - -#: ipaserver/plugins/automount.py:452 -msgid "automount key" -msgstr "" - -#: ipaserver/plugins/automount.py:453 -msgid "automount keys" -msgstr "" - -#: ipaserver/plugins/automount.py:512 -msgid "Automount Keys" -msgstr "" - -#: ipaserver/plugins/automount.py:513 -msgid "Automount Key" -msgstr "" - -#: ipaserver/plugins/automount.py:514 -#, python-format -msgid "" -"The key,info pair must be unique. A key named %(key)s with info %(info)s " -"already exists" -msgstr "" - -#: ipaserver/plugins/automount.py:515 -#, python-format -msgid "key named %(key)s already exists" -msgstr "" - -#: ipaserver/plugins/automount.py:516 -#, python-format -msgid "The automount key %(key)s with info %(info)s does not exist" -msgstr "" - -#: ipaserver/plugins/automount.py:566 -#, python-format -msgid "" -"More than one entry with key %(key)s found, use --info to select specific " -"entry." -msgstr "" - -#: ipaserver/plugins/automount.py:625 -#, python-format -msgid "Added automount key \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:654 -#, python-format -msgid "Added automount indirect map \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:678 -msgid "mount point is relative to parent map, cannot begin with /" -msgstr "" - -#: ipaserver/plugins/automount.py:707 -#, python-format -msgid "Deleted automount key \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:748 -#, python-format -msgid "Modified automount key \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/automount.py:807 -#, python-format -msgid "%(count)d automount key matched" -msgid_plural "%(count)d automount keys matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/baseldap.py:101 -msgid "Member service groups" -msgstr "" - -#: ipaserver/plugins/baseldap.py:110 -msgid "Member HBAC service groups" -msgstr "" - -#: ipaserver/plugins/baseldap.py:127 -msgid "Member ID user overrides" -msgstr "" - -#: ipaserver/plugins/baseldap.py:129 -msgid "Indirect Member ID user overrides" -msgstr "" - -#: ipaserver/plugins/baseldap.py:146 -msgid "Indirect Member permissions" -msgstr "" - -#: ipaserver/plugins/baseldap.py:149 -msgid "Indirect Member HBAC service" -msgstr "" - -#: ipaserver/plugins/baseldap.py:152 -msgid "Indirect Member HBAC service group" -msgstr "" - -#: ipaserver/plugins/baseldap.py:213 -msgid "Invalid format. Should be name=value" -msgstr "" - -#: ipaserver/plugins/baseldap.py:584 -msgid "An IPA master host cannot be deleted or disabled" -msgstr "" - -#: ipaserver/plugins/baseldap.py:615 -msgid "entry" -msgstr "" - -#: ipaserver/plugins/baseldap.py:616 -msgid "entries" -msgstr "" - -#: ipaserver/plugins/baseldap.py:654 ipaserver/plugins/baseldap.py:655 -msgid "Entry" -msgstr "" - -#: ipaserver/plugins/baseldap.py:658 -#, python-format -msgid "container entry (%(container)s) not found" -msgstr "" - -#: ipaserver/plugins/baseldap.py:659 -#, python-format -msgid "%(parent)s: %(oname)s not found" -msgstr "" - -#: ipaserver/plugins/baseldap.py:660 ipaserver/plugins/schema.py:257 -#: ipaserver/plugins/schema.py:333 ipaserver/plugins/schema.py:424 -#: ipaserver/plugins/schema.py:663 ipaserver/plugins/schema.py:756 -#, python-format -msgid "%(pkey)s: %(oname)s not found" -msgstr "" - -#: ipaserver/plugins/baseldap.py:661 -#, python-format -msgid "%(oname)s with name \"%(pkey)s\" already exists" -msgstr "" - -#: ipaserver/plugins/baseldap.py:954 ipaserver/plugins/baseldap.py:962 -#, python-format -msgid "attribute \"%(attribute)s\" not allowed" -msgstr "" - -#: ipaserver/plugins/baseldap.py:967 -#, python-format -msgid "these attributes are not allowed: %(attrs)s" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1025 -msgid "attribute is not configurable" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1128 -msgid "No such attribute on this entry" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1488 -#, python-format -msgid "Rename the %(ldap_obj_name)s object" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1586 ipaserver/plugins/baseldap.py:2494 -msgid "the entry was deleted while being modified" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1719 ipaserver/plugins/baseldap.py:2221 -#, python-format -msgid "%s" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1762 ipaserver/plugins/baseldap.py:2245 -#, python-format -msgid "%s to add" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1861 ipaserver/plugins/baseldap.py:2344 -#, python-format -msgid "%s to remove" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1961 ipaserver/plugins/schema.py:122 -#, python-format -msgid "Results should contain primary key attribute only (\"%s\")" -msgstr "" - -#: ipaserver/plugins/baseldap.py:1969 -#, python-format -msgid "" -"Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." -msgstr "" - -#: ipaserver/plugins/baseldap.py:1970 -#, python-format -msgid "" -"Search for %(searched_object)s without these %(relationship)s " -"%(ldap_object)s." -msgstr "" - -#: ipaserver/plugins/baseldap.py:2525 -#, python-format -msgid "added attribute value to entry %(value)s" -msgstr "" - -#: ipaserver/plugins/baseldap.py:2539 -#, python-format -msgid "removed attribute values from entry %(value)s" -msgstr "" - -#: ipaserver/plugins/baseldap.py:2548 -msgid "one or more values to remove" -msgstr "" - -#: ipaserver/plugins/baseuser.py:61 -msgid "" -"\n" -"Baseuser\n" -"\n" -"This contains common definitions for user/stageuser\n" -msgstr "" - -#: ipaserver/plugins/baseuser.py:92 -msgid "must be TRUE or FALSE" -msgstr "" - -#: ipaserver/plugins/baseuser.py:158 -msgid "" -"Object class ipaNTUserAttrs is missing, user entry cannot have SMB " -"attributes." -msgstr "" - -#: ipaserver/plugins/baseuser.py:311 ipaserver/plugins/host.py:581 -#: ipaserver/plugins/service.py:540 -msgid "Principal alias" -msgstr "" - -#: ipaserver/plugins/baseuser.py:323 -msgid "User password expiration" -msgstr "" - -#: ipaserver/plugins/baseuser.py:407 ipaserver/plugins/host.py:608 -msgid "SSH public key fingerprint" -msgstr "" - -#: ipaserver/plugins/baseuser.py:434 -msgid "External IdP configuration" -msgstr "" - -#: ipaserver/plugins/baseuser.py:438 -msgid "External IdP user identifier" -msgstr "" - -#: ipaserver/plugins/baseuser.py:439 -msgid "A string that identifies the user at external IdP" -msgstr "" - -#: ipaserver/plugins/baseuser.py:468 ipaserver/plugins/baseuser.py:469 -#: ipaserver/plugins/internal.py:727 -msgid "Certificate mapping data" -msgstr "" - -#: ipaserver/plugins/baseuser.py:474 -msgid "SMB logon script path" -msgstr "" - -#: ipaserver/plugins/baseuser.py:479 -msgid "SMB profile path" -msgstr "" - -#: ipaserver/plugins/baseuser.py:484 -msgid "SMB Home Directory" -msgstr "" - -#: ipaserver/plugins/baseuser.py:489 -msgid "SMB Home Directory Drive" -msgstr "" - -#: ipaserver/plugins/baseuser.py:498 ipaserver/plugins/baseuser.py:499 -msgid "Passkey mapping" -msgstr "" - -#: ipaserver/plugins/baseuser.py:519 ipaserver/plugins/baseuser.py:523 -#, python-format -msgid "invalid e-mail format: %(email)s" -msgstr "" - -#: ipaserver/plugins/baseuser.py:550 -#, python-format -msgid "manager %(manager)s not found" -msgstr "" - -#: ipaserver/plugins/baseuser.py:648 ipaserver/plugins/host.py:723 -#: ipaserver/plugins/stageuser.py:337 ipaserver/plugins/stageuser.py:558 -#: ipaserver/plugins/user.py:589 -#, python-format -msgid "can be at most %(len)d characters" -msgstr "" - -#: ipaserver/plugins/baseuser.py:935 ipaserver/plugins/cert.py:425 -#: ipaserver/plugins/host.py:548 ipaserver/plugins/internal.py:732 -#: ipaserver/plugins/service.py:573 -msgid "Issuer" -msgstr "" - -#: ipaserver/plugins/baseuser.py:936 -msgid "Issuer of the certificate" -msgstr "" - -#: ipaserver/plugins/baseuser.py:942 ipaserver/plugins/cert.py:365 -#: ipaserver/plugins/cert.py:1501 ipaserver/plugins/host.py:536 -#: ipaserver/plugins/internal.py:659 ipaserver/plugins/internal.py:735 -#: ipaserver/plugins/service.py:561 -msgid "Subject" -msgstr "" - -#: ipaserver/plugins/baseuser.py:943 -msgid "Subject of the certificate" -msgstr "" - -#: ipaserver/plugins/baseuser.py:988 -msgid "cannot have an empty subject" -msgstr "" - -#: ipaserver/plugins/baseuser.py:1028 -msgid "cannot specify both subject/issuer and certificate" -msgstr "" - -#: ipaserver/plugins/baseuser.py:1032 -msgid "cannot specify both subject/issuer and ipacertmapdata" -msgstr "" - -#: ipaserver/plugins/baseuser.py:1056 ipaserver/plugins/user.py:1373 -msgid "Add one or more certificate mappings to the user entry." -msgstr "" - -#: ipaserver/plugins/baseuser.py:1057 -#, python-format -msgid "Added certificate mappings to user \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/baseuser.py:1075 ipaserver/plugins/user.py:1378 -msgid "Remove one or more certificate mappings from the user entry." -msgstr "" - -#: ipaserver/plugins/baseuser.py:1076 -#, python-format -msgid "Removed certificate mappings from user \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/baseuser.py:1085 -#, python-format -msgid "Added passkey mappings to user \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/baseuser.py:1102 ipaserver/plugins/user.py:1410 -msgid "Remove one or more passkey mappings from the user entry." -msgstr "" - -#: ipaserver/plugins/baseuser.py:1103 -#, python-format -msgid "Removed passkey mappings from user \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/cert.py:69 -msgid "" -"\n" -"IPA certificate operations\n" -msgstr "" - -#: ipaserver/plugins/cert.py:71 -msgid "" -"\n" -"Implements a set of commands for managing server SSL certificates.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:73 -msgid "" -"\n" -"Certificate requests exist in the form of a Certificate Signing Request " -"(CSR)\n" -"in PEM format.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:76 -msgid "" -"\n" -"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" -"subject to values configured in the server.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:79 -msgid "" -"\n" -"A certificate is stored with a service principal and a service principal\n" -"needs a host.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:82 -msgid "" -"\n" -"In order to request a certificate:\n" -msgstr "" - -#: ipaserver/plugins/cert.py:84 -msgid "" -"\n" -"* The host must exist\n" -"* The service must exist (or you use the --add option to automatically add " -"it)\n" -msgstr "" - -#: ipaserver/plugins/cert.py:87 -msgid "" -"\n" -"SEARCHING:\n" -msgstr "" - -#: ipaserver/plugins/cert.py:89 -msgid "" -"\n" -"Certificates may be searched on by certificate subject, serial number,\n" -"revocation reason, validity dates and the issued date.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:92 -msgid "" -"\n" -"When searching on dates the _from date does a >= search and the _to date\n" -"does a <= search. When combined these are done as an AND.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:95 -msgid "" -"\n" -"Dates are treated as GMT to match the dates in the certificates.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:97 -msgid "" -"\n" -"The date format is YYYY-mm-dd.\n" -msgstr "" - -#: ipaserver/plugins/cert.py:101 -msgid "" -"\n" -" Request a new certificate and add the principal:\n" -" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" -msgstr "" - -#: ipaserver/plugins/cert.py:104 -msgid "" -"\n" -" Retrieve an existing certificate:\n" -" ipa cert-show 1032\n" -msgstr "" - -#: ipaserver/plugins/cert.py:107 -msgid "" -"\n" -" Revoke a certificate (see RFC 5280 for reason details):\n" -" ipa cert-revoke --revocation-reason=6 1032\n" -msgstr "" - -#: ipaserver/plugins/cert.py:110 -msgid "" -"\n" -" Remove a certificate from revocation hold status:\n" -" ipa cert-remove-hold 1032\n" -msgstr "" - -#: ipaserver/plugins/cert.py:113 -msgid "" -"\n" -" Check the status of a signing request:\n" -" ipa cert-status 10\n" -msgstr "" - -#: ipaserver/plugins/cert.py:116 -msgid "" -"\n" -" Search for certificates by hostname:\n" -" ipa cert-find --subject=ipaserver.example.com\n" -msgstr "" - -#: ipaserver/plugins/cert.py:119 -msgid "" -"\n" -" Search for revoked certificates by reason:\n" -" ipa cert-find --revocation-reason=5\n" -msgstr "" - -#: ipaserver/plugins/cert.py:122 -msgid "" -"\n" -" Search for certificates based on issuance date\n" -" ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\n" -msgstr "" - -#: ipaserver/plugins/cert.py:125 -msgid "" -"\n" -" Search for certificates owned by a specific user:\n" -" ipa cert-find --user=user\n" -msgstr "" - -#: ipaserver/plugins/cert.py:128 -msgid "" -"\n" -" Examine a certificate:\n" -" ipa cert-find --file=cert.pem --all\n" -msgstr "" - -#: ipaserver/plugins/cert.py:131 -msgid "" -"\n" -" Verify that a certificate is owned by a specific user:\n" -" ipa cert-find --file=cert.pem --user=user\n" -msgstr "" - -#: ipaserver/plugins/cert.py:134 -msgid "" -"\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" -msgstr "" - -#: ipaserver/plugins/cert.py:138 -msgid "" -"\n" -"The following revocation reasons are supported:\n" -"\n" -msgstr "" - -#: ipaserver/plugins/cert.py:141 -msgid " * 0 - unspecified\n" -msgstr "" - -#: ipaserver/plugins/cert.py:142 -msgid " * 1 - keyCompromise\n" -msgstr "" - -#: ipaserver/plugins/cert.py:143 -msgid " * 2 - cACompromise\n" -msgstr "" - -#: ipaserver/plugins/cert.py:144 -msgid " * 3 - affiliationChanged\n" -msgstr "" - -#: ipaserver/plugins/cert.py:145 -msgid " * 4 - superseded\n" -msgstr "" - -#: ipaserver/plugins/cert.py:146 -msgid " * 5 - cessationOfOperation\n" -msgstr "" - -#: ipaserver/plugins/cert.py:147 -msgid " * 6 - certificateHold\n" -msgstr "" - -#: ipaserver/plugins/cert.py:148 -msgid " * 8 - removeFromCRL\n" -msgstr "" - -#: ipaserver/plugins/cert.py:149 -msgid " * 9 - privilegeWithdrawn\n" -msgstr "" - -#: ipaserver/plugins/cert.py:150 -msgid " * 10 - aACompromise\n" -msgstr "" - -#: ipaserver/plugins/cert.py:151 -msgid "" -"\n" -"Note that reason code 7 is not used. See RFC 5280 for more details:\n" -msgstr "" - -#: ipaserver/plugins/cert.py:153 -msgid "" -"\n" -"http://www.ietf.org/rfc/rfc5280.txt\n" -"\n" -msgstr "" - -#: ipaserver/plugins/cert.py:289 -#, python-format -msgid "" -"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " -"'%(profile_id)s' for certificate issuance." -msgstr "" - -#: ipaserver/plugins/cert.py:309 -msgid "enabledService/configuredService not in ipaConfigString kdc entry" -msgstr "" - -#: ipaserver/plugins/cert.py:313 -#, python-format -msgid "Host '%(hostname)s' is not an active KDC" -msgstr "" - -#: ipaserver/plugins/cert.py:347 -msgid "Issuing CA" -msgstr "" - -#: ipaserver/plugins/cert.py:348 -msgid "Name of issuing CA" -msgstr "" - -#: ipaserver/plugins/cert.py:370 -msgid "Subject email address" -msgstr "" - -#: ipaserver/plugins/cert.py:375 -msgid "Subject DNS name" -msgstr "" - -#: ipaserver/plugins/cert.py:380 -msgid "Subject X.400 address" -msgstr "" - -#: ipaserver/plugins/cert.py:385 -msgid "Subject directory name" -msgstr "" - -#: ipaserver/plugins/cert.py:390 -msgid "Subject EDI Party name" -msgstr "" - -#: ipaserver/plugins/cert.py:395 -msgid "Subject URI" -msgstr "" - -#: ipaserver/plugins/cert.py:400 -msgid "Subject IP Address" -msgstr "" - -#: ipaserver/plugins/cert.py:405 -msgid "Subject OID" -msgstr "" - -#: ipaserver/plugins/cert.py:410 -msgid "Subject UPN" -msgstr "" - -#: ipaserver/plugins/cert.py:415 -msgid "Subject Kerberos principal name" -msgstr "" - -#: ipaserver/plugins/cert.py:420 -msgid "Subject Other Name" -msgstr "" - -#: ipaserver/plugins/cert.py:431 ipaserver/plugins/host.py:552 -#: ipaserver/plugins/service.py:577 -msgid "Not Before" -msgstr "" - -#: ipaserver/plugins/cert.py:436 ipaserver/plugins/host.py:556 -#: ipaserver/plugins/service.py:581 -msgid "Not After" -msgstr "" - -#: ipaserver/plugins/cert.py:441 ipaserver/plugins/host.py:560 -#: ipaserver/plugins/service.py:585 -msgid "Fingerprint (SHA1)" -msgstr "" - -#: ipaserver/plugins/cert.py:446 ipaserver/plugins/host.py:564 -#: ipaserver/plugins/service.py:589 -msgid "Fingerprint (SHA256)" -msgstr "" - -#: ipaserver/plugins/cert.py:458 -msgid "Serial number (hex)" -msgstr "" - -#: ipaserver/plugins/cert.py:581 -msgid "Request status" -msgstr "" - -#: ipaserver/plugins/cert.py:627 -msgid "" -"automatically add the principal if it doesn't exist (service principals only)" -msgstr "" - -#: ipaserver/plugins/cert.py:676 -#, python-format -msgid "krbtgt certs can use only the %s profile" -msgstr "" - -#: ipaserver/plugins/cert.py:728 -msgid "No Common Name was found in subject of request." -msgstr "" - -#: ipaserver/plugins/cert.py:736 -#, python-format -msgid "" -"hostname in subject of request '%(cn)s' does not match name or aliases of " -"principal '%(principal)s'" -msgstr "" - -#: ipaserver/plugins/cert.py:742 -#, python-format -msgid "" -"hostname in subject of request '%(cn)s' does not match principal hostname " -"'%(hostname)s'" -msgstr "" - -#: ipaserver/plugins/cert.py:751 -msgid "DN commonName does not match user's login" -msgstr "" - -#: ipaserver/plugins/cert.py:765 -msgid "DN emailAddress does not match any of user's email addresses" -msgstr "" - -#: ipaserver/plugins/cert.py:774 -#, python-format -msgid "" -"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " -"'%s'." -msgstr "" - -#: ipaserver/plugins/cert.py:795 ipaserver/plugins/cert.py:913 -#, python-format -msgid "subject alt name type %s is forbidden for user principals" -msgstr "" - -#: ipaserver/plugins/cert.py:840 -#, python-format -msgid "" -"The service principal for subject alt name %s in certificate request does " -"not exist" -msgstr "" - -#: ipaserver/plugins/cert.py:871 -#, python-format -msgid "" -"Insufficient privilege to create a certificate with subject alt name '%s'." -msgstr "" - -#: ipaserver/plugins/cert.py:889 -#, python-format -msgid "Principal '%s' in subject alt name does not match requested principal" -msgstr "" - -#: ipaserver/plugins/cert.py:898 -msgid "RFC822Name does not match any of user's email addresses" -msgstr "" - -#: ipaserver/plugins/cert.py:905 -#, python-format -msgid "subject alt name type %s is forbidden for non-user principals" -msgstr "" - -#: ipaserver/plugins/cert.py:922 -#, python-format -msgid "Subject alt name type %s is forbidden" -msgstr "" - -#: ipaserver/plugins/cert.py:940 -#, python-format -msgid "CA '%s' is disabled" -msgstr "" - -#: ipaserver/plugins/cert.py:1027 -msgid "'add' option" -msgstr "" - -#: ipaserver/plugins/cert.py:1031 -msgid "The principal for this request doesn't exist." -msgstr "" - -#: ipaserver/plugins/cert.py:1147 -#, python-format -msgid "IP address in subjectAltName (%s) unreachable from DNS names" -msgstr "" - -#: ipaserver/plugins/cert.py:1164 -#, python-format -msgid "IP address in subjectAltName (%s) does not have PTR record" -msgstr "" - -#: ipaserver/plugins/cert.py:1176 -#, python-format -msgid "PTR record for SAN IP (%s) does not match A/AAAA records" -msgstr "" - -#: ipaserver/plugins/cert.py:1270 ipaserver/plugins/internal.py:706 -#: ipaserver/plugins/internal.py:1036 ipaserver/plugins/internal.py:1361 -#: ipaserver/plugins/internal.py:1964 -msgid "Status" -msgstr "" - -#: ipaserver/plugins/cert.py:1275 -msgid "Revoked" -msgstr "" - -#: ipaserver/plugins/cert.py:1280 ipaserver/plugins/host.py:568 -#: ipaserver/plugins/internal.py:656 ipaserver/plugins/internal.py:697 -#: ipaserver/plugins/service.py:593 -msgid "Revocation reason" -msgstr "" - -#: ipaserver/plugins/cert.py:1281 -msgid "" -"Reason for revoking the certificate (0-10). Type \"ipa help cert\" for " -"revocation reason details. " -msgstr "" - -#: ipaserver/plugins/cert.py:1303 -#, python-format -msgid "Owner %s" -msgstr "" - -#: ipaserver/plugins/cert.py:1390 -#, python-format -msgid "" -"Certificate with serial number %(serial)s issued by CA '%(ca)s' not found" -msgstr "" - -#: ipaserver/plugins/cert.py:1459 -msgid "7 is not a valid revocation reason" -msgstr "" - -#: ipaserver/plugins/cert.py:1559 -msgid "Status of the certificate" -msgstr "" - -#: ipaserver/plugins/cert.py:1565 -msgid "Results should contain primary key attribute only (\"certificate\")" -msgstr "" - -#: ipaserver/plugins/cert.py:1581 -#, python-format -msgid "%(count)d certificate matched" -msgid_plural "%(count)d certificates matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/cert.py:1603 -#, python-format -msgid "Search for certificates with these owner %s." -msgstr "" - -#: ipaserver/plugins/cert.py:1614 -#, python-format -msgid "Search for certificates without these owner %s." -msgstr "" - -#: ipaserver/plugins/config.py:50 -msgid "" -"\n" -"Server configuration\n" -"\n" -"Manage the default values that IPA uses and some of its tuning parameters.\n" -"\n" -"NOTES:\n" -"\n" -"The password notification value (--pwdexpnotify) is stored here so it will\n" -"be replicated. It is not currently used to notify users in advance of an\n" -"expiring 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" -"\n" -"When setting the order list for mapping SELinux users you may need to\n" -"quote the value so it isn't interpreted by the shell.\n" -"\n" -"The maximum length of a hostname in Linux is controlled by\n" -"MAXHOSTNAMELEN in the kernel and defaults to 64. Some other operating\n" -"systems, Solaris for example, allows hostnames up to 255 characters.\n" -"This option will allow flexibility in length but by default limiting\n" -"to the Linux maximum length.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Show basic server configuration:\n" -" ipa config-show\n" -"\n" -" Show all configuration options:\n" -" ipa config-show --all\n" -"\n" -" Change maximum username length to 99 characters:\n" -" ipa config-mod --maxusername=99\n" -"\n" -" Change maximum host name length to 255 characters:\n" -" ipa config-mod --maxhostname=255\n" -"\n" -" Increase default time and size limits for maximum IPA server search:\n" -" ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000\n" -"\n" -" Set default user e-mail domain:\n" -" ipa config-mod --emaildomain=example.com\n" -"\n" -" Enable migration mode to make \"ipa migrate-ds\" command operational:\n" -" ipa config-mod --enable-migration=TRUE\n" -"\n" -" Define SELinux user map order:\n" -" ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-" -"s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" -msgstr "" - -#: ipaserver/plugins/config.py:116 -msgid "must be at least 10" -msgstr "" - -#: ipaserver/plugins/config.py:124 -msgid "configuration options" -msgstr "" - -#: ipaserver/plugins/config.py:160 ipaserver/plugins/config.py:161 -msgid "Configuration" -msgstr "" - -#: ipaserver/plugins/config.py:172 -msgid "Maximum hostname length" -msgstr "" - -#: ipaserver/plugins/config.py:276 ipaserver/plugins/config.py:277 -msgid "Enable adding subids to new users" -msgstr "" - -#: ipaserver/plugins/config.py:281 -msgid "IPA masters" -msgstr "" - -#: ipaserver/plugins/config.py:282 -msgid "List of all IPA masters" -msgstr "" - -#: ipaserver/plugins/config.py:287 -msgid "Hidden IPA masters" -msgstr "" - -#: ipaserver/plugins/config.py:288 -msgid "List of all hidden IPA masters" -msgstr "" - -#: ipaserver/plugins/config.py:293 -msgid "IPA master capable of PKINIT" -msgstr "" - -#: ipaserver/plugins/config.py:294 -msgid "IPA master which can process PKINIT requests" -msgstr "" - -#: ipaserver/plugins/config.py:299 -msgid "IPA CA servers" -msgstr "" - -#: ipaserver/plugins/config.py:300 -msgid "IPA servers configured as certificate authority" -msgstr "" - -#: ipaserver/plugins/config.py:305 -msgid "Hidden IPA CA servers" -msgstr "" - -#: ipaserver/plugins/config.py:306 -msgid "Hidden IPA servers configured as certificate authority" -msgstr "" - -#: ipaserver/plugins/config.py:311 -msgid "IPA CA renewal master" -msgstr "" - -#: ipaserver/plugins/config.py:312 -msgid "Renewal master for IPA certificate authority" -msgstr "" - -#: ipaserver/plugins/config.py:317 ipaserver/plugins/vault.py:990 -msgid "IPA KRA servers" -msgstr "" - -#: ipaserver/plugins/config.py:318 -msgid "IPA servers configured as key recovery agent" -msgstr "" - -#: ipaserver/plugins/config.py:323 -msgid "Hidden IPA KRA servers" -msgstr "" - -#: ipaserver/plugins/config.py:324 -msgid "Hidden IPA servers configured as key recovery agent" -msgstr "" - -#: ipaserver/plugins/config.py:330 ipaserver/plugins/idviews.py:160 -msgid "Domain resolution order" -msgstr "" - -#: ipaserver/plugins/config.py:331 ipaserver/plugins/idviews.py:161 -msgid "colon-separated list of domains used for short name qualification" -msgstr "" - -#: ipaserver/plugins/config.py:336 ipaserver/plugins/dns.py:4128 -msgid "IPA DNS servers" -msgstr "" - -#: ipaserver/plugins/config.py:337 -msgid "IPA servers configured as domain name server" -msgstr "" - -#: ipaserver/plugins/config.py:342 -msgid "Hidden IPA DNS servers" -msgstr "" - -#: ipaserver/plugins/config.py:343 -msgid "Hidden IPA servers configured as domain name server" -msgstr "" - -#: ipaserver/plugins/config.py:348 ipaserver/plugins/dns.py:4134 -msgid "IPA DNSSec key master" -msgstr "" - -#: ipaserver/plugins/config.py:349 -msgid "DNSec key master" -msgstr "" - -#: ipaserver/plugins/config.py:354 -msgid "Setup SID configuration" -msgstr "" - -#: ipaserver/plugins/config.py:355 -msgid "New users and groups automatically get a SID assigned" -msgstr "" - -#: ipaserver/plugins/config.py:360 -msgid "Add SIDs" -msgstr "" - -#: ipaserver/plugins/config.py:361 -msgid "Add SIDs for existing users and groups" -msgstr "" - -#: ipaserver/plugins/config.py:366 ipaserver/plugins/config.py:367 -msgid "NetBIOS name of the IPA domain" -msgstr "" - -#: ipaserver/plugins/config.py:444 -msgid "Empty domain is not allowed" -msgstr "" - -#: ipaserver/plugins/config.py:452 -#, python-format -msgid "Invalid domain name '%(domain)s': %(e)s" -msgstr "" - -#: ipaserver/plugins/config.py:457 -#, python-format -msgid "Server has no information about domain '%(domain)s'" -msgstr "" - -#: ipaserver/plugins/config.py:464 -#, python-format -msgid "Disabled domain '%(domain)s' is not allowed" -msgstr "" - -#: ipaserver/plugins/config.py:514 -msgid "not allowed to enable SID generation" -msgstr "" - -#: ipaserver/plugins/config.py:522 -msgid "" -"Up to 15 characters and only uppercase ASCII letters, digits and dashes are " -"allowed. Empty string is not allowed." -msgstr "" - -#: ipaserver/plugins/config.py:550 -msgid "Failed to call DBus" -msgstr "" - -#: ipaserver/plugins/config.py:560 -msgid "Configuration of SID failed. See details in the error log" -msgstr "" - -#: ipaserver/plugins/config.py:570 -msgid "The group doesn't exist" -msgstr "" - -#: ipaserver/plugins/config.py:588 -#, python-format -msgid "attribute \"%s\" not allowed" -msgstr "" - -#: ipaserver/plugins/config.py:608 -msgid "May not be empty" -msgstr "" - -#: ipaserver/plugins/config.py:627 -#, python-format -msgid "%(obj)s default attribute %(attr)s would not be allowed!" -msgstr "" - -#: ipaserver/plugins/config.py:659 -msgid "A list of SELinux users delimited by $ expected" -msgstr "" - -#: ipaserver/plugins/config.py:663 -#, python-format -msgid "SELinux user '%(user)s' is not valid: %(error)s" -msgstr "" - -#: ipaserver/plugins/config.py:675 -msgid "SELinux user map default user not in order list" -msgstr "" - -#: ipaserver/plugins/config.py:694 -#, python-format -msgid "You cannot specify %s without the --enable-sid option" -msgstr "" - #: ipaserver/plugins/dns.py:100 msgid "" "\n" @@ -19743,10 +18247,18 @@ msgstr "" msgid "IPA DNS version" msgstr "" +#: ipaserver/plugins/dns.py:4128 ipaserver/plugins/config.py:336 +msgid "IPA DNS servers" +msgstr "" + #: ipaserver/plugins/dns.py:4129 msgid "List of IPA masters configured as DNS servers" msgstr "" +#: ipaserver/plugins/dns.py:4134 ipaserver/plugins/config.py:348 +msgid "IPA DNSSec key master" +msgstr "" + #: ipaserver/plugins/dns.py:4135 msgid "IPA server configured as DNSSec key master" msgstr "" @@ -19814,22 +18326,2811 @@ msgstr "" msgid "Do not update records only return expected records" msgstr "" -#: ipaserver/plugins/dogtag.py:1251 -msgid "REST API is not logged in." +#: ipaserver/plugins/permission.py:41 +msgid "" +"\n" +"Permissions\n" msgstr "" -#: ipaserver/plugins/dogtag.py:1273 +#: ipaserver/plugins/permission.py:43 +msgid "" +"\n" +"A permission enables fine-grained delegation of rights. A permission is\n" +"a human-readable wrapper around a 389-ds Access Control Rule,\n" +"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" +msgstr "" + +#: ipaserver/plugins/permission.py:49 +msgid "" +"\n" +"A permission may not contain other permissions.\n" +msgstr "" + +#: ipaserver/plugins/permission.py:51 +msgid "" +"\n" +"* A permission grants access to read, write, add, delete, read, search,\n" +" or compare.\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" +msgstr "" + +#: ipaserver/plugins/permission.py:57 +msgid "" +"\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" +msgstr "" + +#: ipaserver/plugins/permission.py:63 +msgid "" +"\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. search - search on one or more attributes\n" +"4. compare - compare one or more attributes\n" +"5. add - add a new entry to the tree\n" +"6. delete - delete an existing entry\n" +"7. all - all permissions are granted\n" +msgstr "" + +#: ipaserver/plugins/permission.py:73 +msgid "" +"\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" +msgstr "" + +#: ipaserver/plugins/permission.py:77 +msgid "" +"\n" +"There are a number of allowed targets:\n" +"1. subtree: a DN; the permission applies to the subtree under this DN\n" +"2. target filter: an LDAP filter\n" +"3. target: DN with possible wildcards, specifies entries permission applies " +"to\n" +msgstr "" + +#: ipaserver/plugins/permission.py:82 +msgid "" +"\n" +"Additionally, there are the following convenience options.\n" +"Setting one of these options will set the corresponding attribute(s).\n" +"1. type: a type of object (user, group, etc); sets subtree and target " +"filter.\n" +"2. memberof: apply to members of a group; sets target filter\n" +"3. targetgroup: grant access to modify a specific group (such as granting\n" +" the rights to manage group membership); sets target.\n" +msgstr "" + +#: ipaserver/plugins/permission.py:89 +msgid "" +"\n" +"Managed permissions\n" +msgstr "" + +#: ipaserver/plugins/permission.py:91 +msgid "" +"\n" +"Permissions that come with IPA by default can be so-called \"managed\"\n" +"permissions. These have a default set of attributes they apply to,\n" +"but the administrator can add/remove individual attributes to/from the set.\n" +msgstr "" + +#: ipaserver/plugins/permission.py:95 +msgid "" +"\n" +"Deleting or renaming a managed permission, as well as changing its target,\n" +"is not allowed.\n" +msgstr "" + +#: ipaserver/plugins/permission.py:100 +msgid "" +"\n" +" Add a permission that grants the creation of users:\n" +" ipa permission-add --type=user --permissions=add \"Add Users\"\n" +msgstr "" + +#: ipaserver/plugins/permission.py:103 +msgid "" +"\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 "" + +#: ipaserver/plugins/permission.py:130 +msgid "must be enclosed in parentheses" +msgstr "" + +#: ipaserver/plugins/permission.py:150 #, python-format -msgid "Non-2xx response from CA REST API: %(status)d. %(explanation)s" +msgid "\"%s\" is not an object type" msgstr "" -#: ipaserver/plugins/dogtag.py:1299 -msgid "Unable to communicate with CMS" +#: ipaserver/plugins/permission.py:152 ipaserver/plugins/permission.py:930 +#, python-format +msgid "\"%s\" is not a valid permission type" msgstr "" -#: ipaserver/plugins/dogtag.py:1490 ipaserver/plugins/dogtag.py:1576 -#: ipaserver/plugins/dogtag.py:2098 ipaserver/plugins/dogtag.py:2108 -msgid "Response from CA was not valid JSON" +#: ipaserver/plugins/permission.py:354 +#, python-format +msgid "Deprecated; use %s" +msgstr "" + +#: ipaserver/plugins/permission.py:371 +#, python-format +msgid "Permission with unknown flag %s may not be modified or removed" +msgstr "" + +#: ipaserver/plugins/permission.py:375 +msgid "A SYSTEM permission may not be modified or removed" +msgstr "" + +#: ipaserver/plugins/permission.py:638 +#, python-format +msgid "Entry %s not found" +msgstr "" + +#: ipaserver/plugins/permission.py:749 +#, python-format +msgid "The ACI for permission %(name)s was not found in %(dn)s " +msgstr "" + +#: ipaserver/plugins/permission.py:853 +msgid "" +"cannot specify full target filter and extra target filter simultaneously" +msgstr "" + +#: ipaserver/plugins/permission.py:876 +#, python-format +msgid "option was renamed; use %s" +msgstr "" + +#: ipaserver/plugins/permission.py:880 +#, python-format +msgid "Cannot use %(old_name)s with %(new_name)s" +msgstr "" + +#: ipaserver/plugins/permission.py:894 ipaserver/plugins/permission.py:909 +#, python-format +msgid "%s: group not found" +msgstr "" + +#: ipaserver/plugins/permission.py:904 +msgid "target and targetgroup are mutually exclusive" +msgstr "" + +#: ipaserver/plugins/permission.py:925 +msgid "subtree and type are mutually exclusive" +msgstr "" + +#: ipaserver/plugins/permission.py:963 +msgid "Bad search filter" +msgstr "" + +#: ipaserver/plugins/permission.py:973 +#, python-format +msgid "Entry %s does not exist" +msgstr "" + +#: ipaserver/plugins/permission.py:982 +msgid "" +"there must be at least one target entry specifier (e.g. target, " +"targetfilter, attrs)" +msgstr "" + +#: ipaserver/plugins/permission.py:994 ipaserver/plugins/permission.py:1022 +#, python-format +msgid "Added permission \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/permission.py:1049 +msgid "attrs and included attributes are mutually exclusive" +msgstr "" + +#: ipaserver/plugins/permission.py:1081 +#, python-format +msgid "Cannot store permission ACI to %s" +msgstr "" + +#: ipaserver/plugins/permission.py:1092 +#, python-format +msgid "Deleted permission \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/permission.py:1112 +msgid "cannot delete managed permissions" +msgstr "" + +#: ipaserver/plugins/permission.py:1118 +#, python-format +msgid "ACI of permission %s was not found" +msgstr "" + +#: ipaserver/plugins/permission.py:1127 +#, python-format +msgid "Modified permission \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/permission.py:1162 +msgid "cannot rename managed permissions" +msgstr "" + +#: ipaserver/plugins/permission.py:1169 ipaserver/plugins/permission.py:1173 +msgid "not modifiable on managed permissions" +msgstr "" + +#: ipaserver/plugins/permission.py:1180 +msgid "only available on managed permissions" +msgstr "" + +#: ipaserver/plugins/permission.py:1187 ipaserver/plugins/permission.py:1313 +msgid "attrs and included/excluded attributes are mutually exclusive" +msgstr "" + +#: ipaserver/plugins/permission.py:1198 +msgid "cannot set bindtype for a permission that is assigned to a privilege" +msgstr "" + +#: ipaserver/plugins/permission.py:1302 +#, python-format +msgid "%(count)d permission matched" +msgid_plural "%(count)d permissions matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/pwpolicy.py:43 +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" +"Grace period defines the number of LDAP logins allowed after expiration.\n" +"-1 means do not enforce expiration to match previous behavior. 0 allows\n" +"no additional logins after expiration.\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 "" + +#: ipaserver/plugins/pwpolicy.py:96 +msgid "Class of Service object used for linking policies with groups" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:147 +#, python-format +msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:175 +msgid "Add Class of Service entry" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:198 +msgid "Delete Class of Service entry" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:204 +msgid "Modify Class of Service entry" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:222 +msgid "Display Class of Service entry" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:228 +msgid "Search for Class of Service entry" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:241 +msgid "password policy" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:242 +msgid "password policies" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:301 +msgid "Password Policies" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:302 ipaserver/plugins/internal.py:1261 +msgid "Password Policy" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:374 +msgid "Max repeat" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:375 +msgid "Maximum number of same consecutive characters" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:383 +msgid "Max sequence" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:384 +msgid "The max. length of monotonic character sequences (abcd)" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:392 +msgid "Dictionary check" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:393 +msgid "Check if the password is a dictionary word" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:399 +msgid "User check" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:400 +msgid "Check if the password contains the username" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:406 +msgid "Grace login limit" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:407 +msgid "Number of LDAP authentications allowed after expiration" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:483 +msgid "" +"Minimum length must be >= 6 if maxrepeat, maxsequence, dictcheck or " +"usercheck are defined" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:509 +msgid "Maximum password life must be equal to or greater than the minimum." +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:569 +msgid "cannot delete global password policy" +msgstr "" + +#: ipaserver/plugins/pwpolicy.py:605 +msgid "priority cannot be set on global policy" +msgstr "" + +#: ipaserver/plugins/vault.py:52 +msgid "" +"\n" +"Vaults\n" +msgstr "" + +#: ipaserver/plugins/vault.py:54 +msgid "" +"\n" +"Manage vaults.\n" +msgstr "" + +#: ipaserver/plugins/vault.py:56 +msgid "" +"\n" +"Vault is a secure place to store a secret. One vault can only\n" +"store one secret. When archiving a secret in a vault, the\n" +"existing secret (if any) is overwritten.\n" +msgstr "" + +#: ipaserver/plugins/vault.py:60 +msgid "" +"\n" +"Based on the ownership there are three vault categories:\n" +"* user/private vault\n" +"* service vault\n" +"* shared vault\n" +msgstr "" + +#: ipaserver/plugins/vault.py:65 +msgid "" +"\n" +"User vaults are vaults owned used by a particular user. Private\n" +"vaults are vaults owned the current user. Service vaults are\n" +"vaults owned by a service. Shared vaults are owned by the admin\n" +"but they can be used by other users or services.\n" +msgstr "" + +#: ipaserver/plugins/vault.py:70 +msgid "" +"\n" +"Based on the security mechanism there are three types of\n" +"vaults:\n" +"* standard vault\n" +"* symmetric vault\n" +"* asymmetric vault\n" +msgstr "" + +#: ipaserver/plugins/vault.py:76 +msgid "" +"\n" +"Standard vault uses a secure mechanism to transport and\n" +"store the secret. The secret can only be retrieved by users\n" +"that have access to the vault.\n" +msgstr "" + +#: ipaserver/plugins/vault.py:80 +msgid "" +"\n" +"Symmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a password before transport.\n" +"The secret can only be retrieved using the same password.\n" +msgstr "" + +#: ipaserver/plugins/vault.py:84 +msgid "" +"\n" +"Asymmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a public key before transport.\n" +"The secret can only be retrieved using the private key.\n" +msgstr "" + +#: ipaserver/plugins/vault.py:90 +msgid "" +"\n" +" List vaults:\n" +" ipa vault-find\n" +" [--user |--service |--shared]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:94 +msgid "" +"\n" +" Add a standard vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type standard\n" +msgstr "" + +#: ipaserver/plugins/vault.py:99 +msgid "" +"\n" +" Add a symmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type symmetric --password-file password.txt\n" +msgstr "" + +#: ipaserver/plugins/vault.py:104 +msgid "" +"\n" +" Add an asymmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type asymmetric --public-key-file public.pem\n" +msgstr "" + +#: ipaserver/plugins/vault.py:109 +msgid "" +"\n" +" Show a vault:\n" +" ipa vault-show \n" +" [--user |--service |--shared]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:113 +msgid "" +"\n" +" Modify vault description:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --desc \n" +msgstr "" + +#: ipaserver/plugins/vault.py:118 +msgid "" +"\n" +" Modify vault type:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --type \n" +" [old password/private key]\n" +" [new password/public key]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:125 +msgid "" +"\n" +" Modify symmetric vault password:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --change-password\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password \n" +" --new-password \n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password-file \n" +" --new-password-file \n" +msgstr "" + +#: ipaserver/plugins/vault.py:138 +msgid "" +"\n" +" Modify asymmetric vault keys:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --private-key-file \n" +" --public-key-file \n" +msgstr "" + +#: ipaserver/plugins/vault.py:144 +msgid "" +"\n" +" Delete a vault:\n" +" ipa vault-del \n" +" [--user |--service |--shared]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:148 +msgid "" +"\n" +" Display vault configuration:\n" +" ipa vaultconfig-show\n" +msgstr "" + +#: ipaserver/plugins/vault.py:151 +msgid "" +"\n" +" Archive data into standard vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" +msgstr "" + +#: ipaserver/plugins/vault.py:156 +msgid "" +"\n" +" Archive data into symmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" +" --password-file password.txt\n" +msgstr "" + +#: ipaserver/plugins/vault.py:162 +msgid "" +"\n" +" Archive data into asymmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" +msgstr "" + +#: ipaserver/plugins/vault.py:167 +msgid "" +"\n" +" Retrieve data from standard vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" +msgstr "" + +#: ipaserver/plugins/vault.py:172 +msgid "" +"\n" +" Retrieve data from symmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" +" --password-file password.txt\n" +msgstr "" + +#: ipaserver/plugins/vault.py:178 +msgid "" +"\n" +" Retrieve data from asymmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out --private-key-file private.pem\n" +msgstr "" + +#: ipaserver/plugins/vault.py:183 +msgid "" +"\n" +" Add vault owners:\n" +" ipa vault-add-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:188 +msgid "" +"\n" +" Delete vault owners:\n" +" ipa vault-remove-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:193 +msgid "" +"\n" +" Add vault members:\n" +" ipa vault-add-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:198 +msgid "" +"\n" +" Delete vault members:\n" +" ipa vault-remove-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" +msgstr "" + +#: ipaserver/plugins/vault.py:250 +msgid "" +"\n" +" Vault Container object.\n" +" " +msgstr "" + +#: ipaserver/plugins/vault.py:256 +msgid "vaultcontainer" +msgstr "" + +#: ipaserver/plugins/vault.py:257 +msgid "vaultcontainers" +msgstr "" + +#: ipaserver/plugins/vault.py:265 +msgid "Vault Containers" +msgstr "" + +#: ipaserver/plugins/vault.py:266 +msgid "Vault Container" +msgstr "" + +#: ipaserver/plugins/vault.py:355 +msgid "Service, shared and user options cannot be specified simultaneously" +msgstr "" + +#: ipaserver/plugins/vault.py:365 ipaserver/plugins/vault.py:695 +msgid "Host is not supported" +msgstr "" + +#: ipaserver/plugins/vault.py:407 ipaserver/plugins/vault.py:431 +#: ipaserver/plugins/vault.py:798 ipaserver/plugins/vault.py:836 +#: ipaserver/plugins/vault.py:892 ipaserver/plugins/vault.py:948 +#: ipaserver/plugins/vault.py:970 ipaserver/plugins/vault.py:1011 +#: ipaserver/plugins/vault.py:1067 ipaserver/plugins/vault.py:1146 +msgid "KRA service is not enabled" +msgstr "" + +#: ipaserver/plugins/vault.py:422 +msgid "Deleted vault container" +msgstr "" + +#: ipaserver/plugins/vault.py:447 ipaserver/plugins/vault.py:472 +#: ipaserver/plugins/vault.py:1203 ipaserver/plugins/vault.py:1228 +#, python-format +msgid "owner %s" +msgstr "" + +#: ipaserver/plugins/vault.py:492 +msgid "" +"\n" +" Vault object.\n" +" " +msgstr "" + +#: ipaserver/plugins/vault.py:498 +msgid "vault" +msgstr "" + +#: ipaserver/plugins/vault.py:499 +msgid "vaults" +msgstr "" + +#: ipaserver/plugins/vault.py:522 +msgid "Vaults" +msgstr "" + +#: ipaserver/plugins/vault.py:523 +msgid "Vault" +msgstr "" + +#: ipaserver/plugins/vault.py:680 +msgid "Service, shared, and user options cannot be specified simultaneously" +msgstr "" + +#: ipaserver/plugins/vault.py:784 +msgid "Add a vault." +msgstr "" + +#: ipaserver/plugins/vault.py:790 +#, python-format +msgid "Added vault \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/vault.py:829 +#, python-format +msgid "Deleted vault \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/vault.py:881 +#, python-format +msgid "%(count)d vault matched" +msgid_plural "%(count)d vaults matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/vault.py:899 +msgid "" +"Service(s), shared, and user(s) options cannot be specified simultaneously" +msgstr "" + +#: ipaserver/plugins/vault.py:939 +#, python-format +msgid "Modified vault \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/vault.py:981 +msgid "Vault configuration" +msgstr "" + +#: ipaserver/plugins/vault.py:990 ipaserver/plugins/config.py:317 +msgid "IPA KRA servers" +msgstr "" + +#: ipaserver/plugins/vault.py:991 +msgid "IPA servers configured as key recovery agents" +msgstr "" + +#: ipaserver/plugins/vault.py:1052 ipaserver/plugins/vault.py:1131 +msgid "Key wrapping algorithm" +msgstr "" + +#: ipaserver/plugins/vault.py:1061 +#, python-format +msgid "Archived data into vault \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/vault.py:1120 +msgid "Retrieve data from a vault." +msgstr "" + +#: ipaserver/plugins/vault.py:1140 +#, python-format +msgid "Retrieved data from vault \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/vault.py:1169 +msgid "No archived data." +msgstr "" + +#: ipaserver/plugins/vault.py:1262 +msgid "Checks if any of the servers has the KRA service enabled" +msgstr "" + +#: ipaserver/plugins/otptoken.py:42 +msgid "" +"\n" +"OTP Tokens\n" +msgstr "" + +#: ipaserver/plugins/otptoken.py:44 +msgid "" +"\n" +"Manage OTP tokens.\n" +msgstr "" + +#: ipaserver/plugins/otptoken.py:46 +msgid "" +"\n" +"IPA supports the use of OTP tokens for multi-factor authentication. This\n" +"code enables the management of OTP tokens.\n" +msgstr "" + +#: ipaserver/plugins/otptoken.py:51 +msgid "" +"\n" +" Add a new token:\n" +" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" +msgstr "" + +#: ipaserver/plugins/otptoken.py:54 +msgid "" +"\n" +" Examine the token:\n" +" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" +msgstr "" + +#: ipaserver/plugins/otptoken.py:57 +msgid "" +"\n" +" Change the vendor:\n" +" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red " +"Hat\"\n" +msgstr "" + +#: ipaserver/plugins/otptoken.py:60 +msgid "" +"\n" +" Delete a token:\n" +" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" +msgstr "" + +#: ipaserver/plugins/otptoken.py:137 +msgid "OTP token" +msgstr "" + +#: ipaserver/plugins/otptoken.py:138 +msgid "OTP tokens" +msgstr "" + +#: ipaserver/plugins/otptoken.py:154 +msgid "OTP Tokens" +msgstr "" + +#: ipaserver/plugins/otptoken.py:155 +msgid "OTP Token" +msgstr "" + +#: ipaserver/plugins/otptoken.py:272 +msgid "URI" +msgstr "" + +#: ipaserver/plugins/otptoken.py:281 +#, python-format +msgid "Added OTP token \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/otptoken.py:335 +msgid "cannot be empty" +msgstr "" + +#: ipaserver/plugins/otptoken.py:367 +#, python-format +msgid "Deleted OTP token \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/otptoken.py:373 +#, python-format +msgid "Modified OTP token \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/otptoken.py:422 +#, python-format +msgid "%(count)d OTP token matched" +msgid_plural "%(count)d OTP tokens matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/baseldap.py:101 +msgid "Member service groups" +msgstr "" + +#: ipaserver/plugins/baseldap.py:110 +msgid "Member HBAC service groups" +msgstr "" + +#: ipaserver/plugins/baseldap.py:127 +msgid "Member ID user overrides" +msgstr "" + +#: ipaserver/plugins/baseldap.py:129 +msgid "Indirect Member ID user overrides" +msgstr "" + +#: ipaserver/plugins/baseldap.py:146 +msgid "Indirect Member permissions" +msgstr "" + +#: ipaserver/plugins/baseldap.py:149 +msgid "Indirect Member HBAC service" +msgstr "" + +#: ipaserver/plugins/baseldap.py:152 +msgid "Indirect Member HBAC service group" +msgstr "" + +#: ipaserver/plugins/baseldap.py:213 +msgid "Invalid format. Should be name=value" +msgstr "" + +#: ipaserver/plugins/baseldap.py:584 +msgid "An IPA master host cannot be deleted or disabled" +msgstr "" + +#: ipaserver/plugins/baseldap.py:615 +msgid "entry" +msgstr "" + +#: ipaserver/plugins/baseldap.py:616 +msgid "entries" +msgstr "" + +#: ipaserver/plugins/baseldap.py:654 ipaserver/plugins/baseldap.py:655 +msgid "Entry" +msgstr "" + +#: ipaserver/plugins/baseldap.py:658 +#, python-format +msgid "container entry (%(container)s) not found" +msgstr "" + +#: ipaserver/plugins/baseldap.py:659 +#, python-format +msgid "%(parent)s: %(oname)s not found" +msgstr "" + +#: ipaserver/plugins/baseldap.py:660 ipaserver/plugins/schema.py:257 +#: ipaserver/plugins/schema.py:333 ipaserver/plugins/schema.py:424 +#: ipaserver/plugins/schema.py:663 ipaserver/plugins/schema.py:756 +#, python-format +msgid "%(pkey)s: %(oname)s not found" +msgstr "" + +#: ipaserver/plugins/baseldap.py:661 +#, python-format +msgid "%(oname)s with name \"%(pkey)s\" already exists" +msgstr "" + +#: ipaserver/plugins/baseldap.py:954 ipaserver/plugins/baseldap.py:962 +#, python-format +msgid "attribute \"%(attribute)s\" not allowed" +msgstr "" + +#: ipaserver/plugins/baseldap.py:967 +#, python-format +msgid "these attributes are not allowed: %(attrs)s" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1025 +msgid "attribute is not configurable" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1128 +msgid "No such attribute on this entry" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1488 +#, python-format +msgid "Rename the %(ldap_obj_name)s object" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1586 ipaserver/plugins/baseldap.py:2494 +msgid "the entry was deleted while being modified" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1719 ipaserver/plugins/baseldap.py:2221 +#, python-format +msgid "%s" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1762 ipaserver/plugins/baseldap.py:2245 +#, python-format +msgid "%s to add" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1861 ipaserver/plugins/baseldap.py:2344 +#, python-format +msgid "%s to remove" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1961 ipaserver/plugins/schema.py:122 +#, python-format +msgid "Results should contain primary key attribute only (\"%s\")" +msgstr "" + +#: ipaserver/plugins/baseldap.py:1969 +#, python-format +msgid "" +"Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." +msgstr "" + +#: ipaserver/plugins/baseldap.py:1970 +#, python-format +msgid "" +"Search for %(searched_object)s without these %(relationship)s " +"%(ldap_object)s." +msgstr "" + +#: ipaserver/plugins/baseldap.py:2525 +#, python-format +msgid "added attribute value to entry %(value)s" +msgstr "" + +#: ipaserver/plugins/baseldap.py:2539 +#, python-format +msgid "removed attribute values from entry %(value)s" +msgstr "" + +#: ipaserver/plugins/baseldap.py:2548 +msgid "one or more values to remove" +msgstr "" + +#: ipaserver/plugins/trust.py:83 +msgid "" +"\n" +"Cross-realm trusts\n" +"\n" +"Manage trust relationship between IPA and Active Directory domains.\n" +"\n" +"In order to allow users from a remote domain to access resources in IPA " +"domain,\n" +"trust relationship needs to be established. Currently IPA supports only " +"trusts\n" +"between IPA and Active Directory domains under control of Windows Server " +"2008\n" +"or later, with functional level 2008 or later.\n" +"\n" +"Please note that DNS on both IPA and Active Directory domain sides should " +"be\n" +"configured properly to discover each other. Trust relationship relies on\n" +"ability to discover special resources in the other domain via DNS records.\n" +"\n" +"Examples:\n" +"\n" +"1. Establish cross-realm trust with Active Directory using AD administrator\n" +" credentials:\n" +"\n" +" ipa trust-add --type=ad --admin --password\n" +"\n" +"2. List all existing trust relationships:\n" +"\n" +" ipa trust-find\n" +"\n" +"3. Show details of the specific trust relationship:\n" +"\n" +" ipa trust-show \n" +"\n" +"4. Delete existing trust relationship:\n" +"\n" +" ipa trust-del \n" +"\n" +"Once trust relationship is established, remote users will need to be mapped\n" +"to local POSIX groups in order to actually use IPA resources. The mapping\n" +"should be done via use of external membership of non-POSIX group and then\n" +"this group should be included into one of local POSIX groups.\n" +"\n" +"Example:\n" +"\n" +"1. Create group for the trusted domain admins' mapping and their local " +"POSIX\n" +"group:\n" +"\n" +" ipa group-add --desc=' admins external map' " +"ad_admins_external --external\n" +" ipa group-add --desc=' admins' ad_admins\n" +"\n" +"2. Add security identifier of Domain Admins of the to the\n" +" ad_admins_external group:\n" +"\n" +" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" +"\n" +"3. Allow members of ad_admins_external group to be associated with\n" +" ad_admins POSIX group:\n" +"\n" +" ipa group-add-member ad_admins --groups ad_admins_external\n" +"\n" +"4. List members of external members of ad_admins_external group to see\n" +" their SIDs:\n" +"\n" +" ipa group-show ad_admins_external\n" +"\n" +"\n" +"GLOBAL TRUST CONFIGURATION\n" +"\n" +"When IPA AD trust subpackage is installed and ipa-adtrust-install is run, a\n" +"local domain configuration (SID, GUID, NetBIOS name) is generated. These\n" +"identifiers are then used when communicating with a trusted domain of the\n" +"particular type.\n" +"\n" +"1. Show global trust configuration for Active Directory type of trusts:\n" +"\n" +" ipa trustconfig-show --type ad\n" +"\n" +"2. Modify global configuration for all trusts of Active Directory type and " +"set\n" +" a different fallback primary group (fallback primary group GID is used as " +"a\n" +" primary user GID if user authenticating to IPA domain does not have any\n" +" other primary GID already set):\n" +"\n" +" ipa trustconfig-mod --type ad --fallback-primary-group \"another AD " +"group\"\n" +"\n" +"3. Change primary fallback group back to default hidden group (any group " +"with\n" +" posixGroup object class is allowed):\n" +"\n" +" ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB " +"Group\"\n" +msgstr "" + +#: ipaserver/plugins/trust.py:226 +#, python-format +msgid "" +" Alternatively, following servers are capable of running this command: " +"%(masters)s" +msgstr "" + +#: ipaserver/plugins/trust.py:239 ipaserver/plugins/trust.py:875 +#: ipaserver/plugins/trust.py:891 ipaserver/plugins/trust.py:912 +#: ipaserver/plugins/trust.py:922 ipaserver/plugins/trust.py:1075 +#: ipaserver/plugins/trust.py:1110 +msgid "AD Trust setup" +msgstr "" + +#: ipaserver/plugins/trust.py:250 +msgid "" +"Cannot perform the selected command without Samba 4 support installed. Make " +"sure you have installed server-trust-ad sub-package of IPA." +msgstr "" + +#: ipaserver/plugins/trust.py:260 +msgid "" +"Cannot perform the selected command without Samba 4 instance configured on " +"this machine. Make sure you have run ipa-adtrust-install on this server." +msgstr "" + +#: ipaserver/plugins/trust.py:477 +msgid "" +"Fetching domains from trusted forest failed. See details in the error_log" +msgstr "" + +#: ipaserver/plugins/trust.py:490 +msgid "trust" +msgstr "" + +#: ipaserver/plugins/trust.py:491 +msgid "trusts" +msgstr "" + +#: ipaserver/plugins/trust.py:533 ipaserver/plugins/internal.py:1983 +msgid "Trusts" +msgstr "" + +#: ipaserver/plugins/trust.py:534 +msgid "Trust" +msgstr "" + +#: ipaserver/plugins/trust.py:552 +msgid "SID blocklist incoming" +msgstr "" + +#: ipaserver/plugins/trust.py:556 +msgid "SID blocklist outgoing" +msgstr "" + +#: ipaserver/plugins/trust.py:559 ipaserver/plugins/internal.py:1570 +msgid "Trust direction" +msgstr "" + +#: ipaserver/plugins/trust.py:563 ipaserver/plugins/internal.py:1572 +msgid "Trust type" +msgstr "" + +#: ipaserver/plugins/trust.py:567 ipaserver/plugins/internal.py:1571 +msgid "Trust status" +msgstr "" + +#: ipaserver/plugins/trust.py:572 +msgid "UPN suffixes" +msgstr "" + +#: ipaserver/plugins/trust.py:589 +#, python-brace-format +msgid "invalid SID: {SID}" +msgstr "" + +#: ipaserver/plugins/trust.py:658 +msgid "" +"\n" +"Add new trust to use.\n" +"\n" +"This command establishes trust relationship to another domain\n" +"which becomes 'trusted'. As result, users of the trusted domain\n" +"may access resources of this domain.\n" +"\n" +"Only trusts to Active Directory domains are supported right now.\n" +"\n" +"The command can be safely run multiple times against the same domain,\n" +"this will cause change to trust relationship credentials on both\n" +"sides.\n" +"\n" +"Note that if the command was previously run with a specific range type,\n" +"or with automatic detection of the range type, and you want to configure a\n" +"different range type, you may need to delete first the ID range using\n" +"ipa idrange-del before retrying the command with the desired range type.\n" +" " +msgstr "" + +#: ipaserver/plugins/trust.py:678 ipaserver/plugins/idrange.py:211 +msgid "Active Directory domain range" +msgstr "" + +#: ipaserver/plugins/trust.py:679 ipaserver/plugins/idrange.py:212 +msgid "Active Directory trust range with POSIX attributes" +msgstr "" + +#: ipaserver/plugins/trust.py:716 +msgid "Type of trusted domain ID range, one of allowed values" +msgstr "" + +#: ipaserver/plugins/trust.py:728 +msgid "External trust" +msgstr "" + +#: ipaserver/plugins/trust.py:730 +msgid "" +"Establish external trust to a domain in another forest. The trust is not " +"transitive beyond the domain." +msgstr "" + +#: ipaserver/plugins/trust.py:736 +#, python-format +msgid "Added Active Directory trust for realm \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/trust.py:737 +#, python-format +msgid "Re-established trust to domain \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/trust.py:833 +msgid "missing base_id" +msgstr "" + +#: ipaserver/plugins/trust.py:835 +msgid "pysss_murmur is not available on the server and no base-id is given." +msgstr "" + +#: ipaserver/plugins/trust.py:845 +msgid "trust type" +msgstr "" + +#: ipaserver/plugins/trust.py:846 +msgid "only \"ad\" is supported" +msgstr "" + +#: ipaserver/plugins/trust.py:853 +msgid "" +"Cannot establish a trust to AD deployed in the same domain as IPA. Such " +"setup is not supported." +msgstr "" + +#: ipaserver/plugins/trust.py:866 +msgid "Realm-domain mismatch" +msgstr "" + +#: ipaserver/plugins/trust.py:867 +msgid "" +"To establish trust with Active Directory, the domain name and the realm name " +"of the IPA server must match" +msgstr "" + +#: ipaserver/plugins/trust.py:877 ipaserver/plugins/group.py:654 +#: ipaserver/plugins/group.py:711 +msgid "" +"Cannot perform join operation without own domain configured. Make sure you " +"have run ipa-adtrust-install on the IPA server first" +msgstr "" + +#: ipaserver/plugins/trust.py:893 +#, python-format +msgid "" +"Trusted domain %(domain)s is included among IPA realm domains. It needs to " +"be removed prior to establishing the trust. See the \"ipa realmdomains-mod --" +"del-domain\" command." +msgstr "" + +#: ipaserver/plugins/trust.py:914 +msgid "Trusted domain and administrator account use different realms" +msgstr "" + +#: ipaserver/plugins/trust.py:923 +msgid "Realm administrator password should be specified" +msgstr "" + +#: ipaserver/plugins/trust.py:944 +msgid "id range type" +msgstr "" + +#: ipaserver/plugins/trust.py:946 +msgid "" +"Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-" +"type when adding an AD trust." +msgstr "" + +#: ipaserver/plugins/trust.py:956 +msgid "id range" +msgstr "" + +#: ipaserver/plugins/trust.py:958 +msgid "" +"An id range already exists for this trust. You should either delete the old " +"range, or exclude --base-id/--range-size options from the command." +msgstr "" + +#: ipaserver/plugins/trust.py:980 +msgid "range exists" +msgstr "" + +#: ipaserver/plugins/trust.py:982 +msgid "" +"ID range with the same name but different domain SID already exists. The ID " +"range for the new trusted domain must be created manually." +msgstr "" + +#: ipaserver/plugins/trust.py:990 +msgid "range type change" +msgstr "" + +#: ipaserver/plugins/trust.py:991 +msgid "" +"ID range for the trusted domain already exists, but it has a different type. " +"Please remove the old range manually, or do not enforce type via --range-" +"type option." +msgstr "" + +#: ipaserver/plugins/trust.py:1029 +#, python-brace-format +msgid "Unable to resolve domain controller for {domain} domain. " +msgstr "" + +#: ipaserver/plugins/trust.py:1043 +msgid "" +"Forward policy is defined for it in IPA DNS, perhaps forwarder points to " +"incorrect host?" +msgstr "" + +#: ipaserver/plugins/trust.py:1049 +#, python-brace-format +msgid "" +"IPA manages DNS, please verify your DNS configuration and make sure that " +"service records of the '{domain}' domain can be resolved. Examples how to " +"configure DNS with CLI commands or the Web UI can be found in the " +"documentation. " +msgstr "" + +#: ipaserver/plugins/trust.py:1061 +#, python-brace-format +msgid "" +"Since IPA does not manage DNS records, ensure DNS is configured to resolve " +"'{domain}' domain from IPA hosts and back." +msgstr "" + +#: ipaserver/plugins/trust.py:1076 +msgid "Unable to verify write permissions to the AD" +msgstr "" + +#: ipaserver/plugins/trust.py:1111 +msgid "Not enough arguments specified to perform trust setup" +msgstr "" + +#: ipaserver/plugins/trust.py:1119 +#, python-format +msgid "Deleted trust \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/trust.py:1124 +msgid "" +"\n" +" Modify a trust (for future use).\n" +"\n" +" Currently only the default option to modify the LDAP attributes is\n" +" available. More specific options will be added in coming releases.\n" +" " +msgstr "" + +#: ipaserver/plugins/trust.py:1131 +#, python-format +msgid "Modified trust \"%(value)s\" (change will be effective in 60 seconds)" +msgstr "" + +#: ipaserver/plugins/trust.py:1149 +#, python-format +msgid "%(count)d trust matched" +msgid_plural "%(count)d trusts matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/trust.py:1238 +msgid "trust configuration" +msgstr "" + +#: ipaserver/plugins/trust.py:1244 ipaserver/plugins/trust.py:1245 +msgid "Global Trust Configuration" +msgstr "" + +#: ipaserver/plugins/trust.py:1270 +msgid "IPA AD trust agents" +msgstr "" + +#: ipaserver/plugins/trust.py:1271 +msgid "IPA servers configured as AD trust agents" +msgstr "" + +#: ipaserver/plugins/trust.py:1276 +msgid "IPA AD trust controllers" +msgstr "" + +#: ipaserver/plugins/trust.py:1277 +msgid "IPA servers configured as AD trust controllers" +msgstr "" + +#: ipaserver/plugins/trust.py:1291 +msgid "unsupported trust type" +msgstr "" + +#: ipaserver/plugins/trust.py:1358 +#, python-format +msgid "Modified \"%(value)s\" trust configuration" +msgstr "" + +#: ipaserver/plugins/trust.py:1422 ipaserver/plugins/ca.py:86 +#: ipaserver/plugins/schema.py:48 +msgid "Name" +msgstr "" + +#: ipaserver/plugins/trust.py:1423 +msgid "SID" +msgstr "" + +#: ipaserver/plugins/trust.py:1549 +msgid "sidgen_was_run" +msgstr "" + +#: ipaserver/plugins/trust.py:1551 +msgid "" +"This command relies on the existence of the \"editors\" group, but this " +"group was not found." +msgstr "" + +#: ipaserver/plugins/trust.py:1570 +msgid "trust domain" +msgstr "" + +#: ipaserver/plugins/trust.py:1571 +msgid "trust domains" +msgstr "" + +#: ipaserver/plugins/trust.py:1579 +msgid "Trusted domains" +msgstr "" + +#: ipaserver/plugins/trust.py:1580 +msgid "Trusted domain" +msgstr "" + +#: ipaserver/plugins/trust.py:1594 +msgid "Domain enabled" +msgstr "" + +#: ipaserver/plugins/trust.py:1666 +#, python-format +msgid "Removed information about the trusted domain \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/trust.py:1684 +msgid "" +"cannot delete root domain of the trust, use trust-del to delete the trust " +"itself" +msgstr "" + +#: ipaserver/plugins/trust.py:1835 +msgid "" +"List of trust domains successfully refreshed. Use trustdomain-find command " +"to list them." +msgstr "" + +#: ipaserver/plugins/trust.py:1843 +msgid "Configure this server as a trust agent." +msgstr "" + +#: ipaserver/plugins/trust.py:1859 +msgid "Enable support for trusted domains for old clients" +msgstr "" + +#: ipaserver/plugins/trust.py:1869 ipaserver/plugins/server.py:927 +#, python-format +msgid "must be \"%s\"" +msgstr "" + +#: ipaserver/plugins/trust.py:1875 +msgid "not allowed to remotely add agent" +msgstr "" + +#: ipaserver/plugins/trust.py:1911 +#, python-format +msgid "Enabled trust domain \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/trust.py:1920 +msgid "Root domain of the trust is always enabled for the existing trust" +msgstr "" + +#: ipaserver/plugins/trust.py:1953 +#, python-format +msgid "Disabled trust domain \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/trust.py:1962 +msgid "" +"cannot disable root domain of the trust, use trust-del to delete the trust " +"itself" +msgstr "" + +#: ipaserver/plugins/idviews.py:73 ipaserver/plugins/idviews.py:124 +#: ipaserver/plugins/idviews.py:132 ipaserver/plugins/idviews.py:360 +#: ipaserver/plugins/idviews.py:851 +msgid "ID View" +msgstr "" + +#: ipaserver/plugins/idviews.py:75 +msgid "system ID View" +msgstr "" + +#: ipaserver/plugins/idviews.py:125 ipaserver/plugins/idviews.py:131 +msgid "ID Views" +msgstr "" + +#: ipaserver/plugins/idviews.py:146 +msgid "User object overrides" +msgstr "" + +#: ipaserver/plugins/idviews.py:150 +msgid "Group object overrides" +msgstr "" + +#: ipaserver/plugins/idviews.py:154 +msgid "Hosts the view applies to" +msgstr "" + +#: ipaserver/plugins/idviews.py:160 ipaserver/plugins/config.py:330 +msgid "Domain resolution order" +msgstr "" + +#: ipaserver/plugins/idviews.py:161 ipaserver/plugins/config.py:331 +msgid "colon-separated list of domains used for short name qualification" +msgstr "" + +#: ipaserver/plugins/idviews.py:198 +#, python-format +msgid "Added ID View \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:215 +#, python-format +msgid "Deleted ID View \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:228 +#, python-format +msgid "Modified an ID View \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:244 +#, python-format +msgid "%(count)d ID View matched" +msgid_plural "%(count)d ID Views matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/idviews.py:361 +msgid "Default Trust View cannot be applied on hosts" +msgstr "" + +#: ipaserver/plugins/idviews.py:389 ipaserver/plugins/idviews.py:422 +msgid "not found" +msgstr "" + +#: ipaserver/plugins/idviews.py:403 +msgid "ID View cannot be applied to IPA master" +msgstr "" + +#: ipaserver/plugins/idviews.py:420 +msgid "ID View already applied" +msgstr "" + +#: ipaserver/plugins/idviews.py:440 +msgid "value" +msgstr "" + +#: ipaserver/plugins/idviews.py:453 +#, python-format +msgid "ID View applied to %i host." +msgstr "" + +#: ipaserver/plugins/idviews.py:454 +#, python-format +msgid "ID View applied to %i hosts." +msgstr "" + +#: ipaserver/plugins/idviews.py:496 +#, python-format +msgid "ID View cleared from %i host." +msgstr "" + +#: ipaserver/plugins/idviews.py:497 +#, python-format +msgid "ID View cleared from %i hosts." +msgstr "" + +#: ipaserver/plugins/idviews.py:565 +msgid "" +"You are trying to reference a magic private group which is not allowed to be " +"overridden. Try overriding the GID attribute of the corresponding user " +"instead." +msgstr "" + +#: ipaserver/plugins/idviews.py:603 +msgid "IPA object" +msgstr "" + +#: ipaserver/plugins/idviews.py:604 +msgid "" +"system IPA objects (e.g. system groups, user private groups) cannot be " +"overridden" +msgstr "" + +#: ipaserver/plugins/idviews.py:698 +#, python-format +msgid "Anchor '%(anchor)s' could not be resolved." +msgstr "" + +#: ipaserver/plugins/idviews.py:852 +msgid "Default Trust View cannot contain IPA users" +msgstr "" + +#: ipaserver/plugins/idviews.py:896 +msgid "Add a new ID override." +msgstr "" + +#: ipaserver/plugins/idviews.py:897 +#, python-format +msgid "Added ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:912 +msgid "Delete an ID override." +msgstr "" + +#: ipaserver/plugins/idviews.py:913 +#, python-format +msgid "Deleted ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:936 +msgid "Modify an ID override." +msgstr "" + +#: ipaserver/plugins/idviews.py:937 +#, python-format +msgid "Modified an ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:944 +msgid "ID override" +msgstr "" + +#: ipaserver/plugins/idviews.py:945 +msgid "ID overrides cannot be renamed" +msgstr "" + +#: ipaserver/plugins/idviews.py:957 +msgid "Search for an ID override." +msgstr "" + +#: ipaserver/plugins/idviews.py:958 +#, python-format +msgid "%(count)d ID override matched" +msgid_plural "%(count)d ID overrides matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/idviews.py:970 +msgid "Display information about an ID override." +msgstr "" + +#: ipaserver/plugins/idviews.py:982 ipaserver/plugins/idviews.py:986 +msgid "User ID override" +msgstr "" + +#: ipaserver/plugins/idviews.py:983 ipaserver/plugins/idviews.py:985 +msgid "User ID overrides" +msgstr "" + +#: ipaserver/plugins/idviews.py:1105 ipaserver/plugins/idviews.py:1109 +msgid "Group ID override" +msgstr "" + +#: ipaserver/plugins/idviews.py:1106 ipaserver/plugins/idviews.py:1108 +msgid "Group ID overrides" +msgstr "" + +#: ipaserver/plugins/idviews.py:1150 +msgid "Add one or more certificates to the idoverrideuser entry" +msgstr "" + +#: ipaserver/plugins/idviews.py:1151 +#, python-format +msgid "Added certificates to idoverrideuser \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1173 +msgid "Remove one or more certificates to the idoverrideuser entry" +msgstr "" + +#: ipaserver/plugins/idviews.py:1174 +#, python-format +msgid "Removed certificates from idoverrideuser \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1198 +#, python-format +msgid "Added User ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1223 +#, python-format +msgid "Deleted User ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1229 +#, python-format +msgid "Modified an User ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1261 +#, python-format +msgid "%(count)d User ID override matched" +msgid_plural "%(count)d User ID overrides matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/idviews.py:1297 +#, python-format +msgid "Added Group ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1303 +#, python-format +msgid "Deleted Group ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1309 +#, python-format +msgid "Modified an Group ID override \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1315 +#, python-format +msgid "%(count)d Group ID override matched" +msgid_plural "%(count)d Group ID overrides matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/server.py:36 +msgid "" +"\n" +"IPA servers\n" +msgstr "" + +#: ipaserver/plugins/server.py:38 +msgid "" +"\n" +"Get information about installed IPA servers.\n" +msgstr "" + +#: ipaserver/plugins/server.py:42 +msgid "" +"\n" +" Find all servers:\n" +" ipa server-find\n" +msgstr "" + +#: ipaserver/plugins/server.py:45 +msgid "" +"\n" +" Show specific server:\n" +" ipa server-show ipa.example.com\n" +msgstr "" + +#: ipaserver/plugins/server.py:61 +msgid "server" +msgstr "" + +#: ipaserver/plugins/server.py:62 +msgid "servers" +msgstr "" + +#: ipaserver/plugins/server.py:70 +msgid "IPA Servers" +msgstr "" + +#: ipaserver/plugins/server.py:133 +msgid "Server DNS location" +msgstr "" + +#: ipaserver/plugins/server.py:140 +msgid "Service weight" +msgstr "" + +#: ipaserver/plugins/server.py:141 +msgid "Weight for server services" +msgstr "" + +#: ipaserver/plugins/server.py:148 +msgid "Service relative weight" +msgstr "" + +#: ipaserver/plugins/server.py:149 +msgid "Relative weight for server services (counts per location)" +msgstr "" + +#: ipaserver/plugins/server.py:154 +msgid "Enabled server roles" +msgstr "" + +#: ipaserver/plugins/server.py:155 +msgid "List of enabled roles" +msgstr "" + +#: ipaserver/plugins/server.py:222 +msgid "Modify information about an IPA server." +msgstr "" + +#: ipaserver/plugins/server.py:224 +#, python-format +msgid "Modified IPA server \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/server.py:306 +#, python-format +msgid "%(count)d IPA server matched" +msgid_plural "%(count)d IPA servers matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/server.py:444 +#, python-format +msgid "Deleted IPA server \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/server.py:449 +msgid "Ignore topology errors" +msgstr "" + +#: ipaserver/plugins/server.py:450 +msgid "Ignore topology connectivity problems after removal" +msgstr "" + +#: ipaserver/plugins/server.py:455 +msgid "Ignore check for last remaining CA or DNS server" +msgstr "" + +#: ipaserver/plugins/server.py:456 +msgid "Skip a check whether the last CA master or DNS server is removed" +msgstr "" + +#: ipaserver/plugins/server.py:462 +msgid "Force server removal" +msgstr "" + +#: ipaserver/plugins/server.py:463 +msgid "Force server removal even if it does not exist" +msgstr "" + +#: ipaserver/plugins/server.py:500 +msgid "" +"Replica is active DNSSEC key master. Uninstall could break your DNS system. " +"Please disable or replace DNSSEC key master first." +msgstr "" + +#: ipaserver/plugins/server.py:506 +msgid "Deleting this server will leave your installation without a DNS." +msgstr "" + +#: ipaserver/plugins/server.py:520 +msgid "" +"Deleting this server is not allowed as it would leave your installation " +"without a KRA." +msgstr "" + +#: ipaserver/plugins/server.py:530 +msgid "" +"Deleting this server is not allowed as it would leave your installation " +"without a CA." +msgstr "" + +#: ipaserver/plugins/server.py:545 +msgid "Ignoring these warnings and proceeding with removal" +msgstr "" + +#: ipaserver/plugins/server.py:595 +#, python-format +msgid "" +"Failed to clean memberPrincipal %(principal)s from s4u2proxy entry %(dn)s: " +"%(err)s" +msgstr "" + +#: ipaserver/plugins/server.py:616 +#, python-format +msgid "Failed to clean up DNA hostname entries for %(master)s: %(err)s" +msgstr "" + +#: ipaserver/plugins/server.py:637 +#, python-format +msgid "Failed to remove server %(master)s from server list: %(err)s" +msgstr "" + +#: ipaserver/plugins/server.py:663 +#, python-format +msgid "Failed to clean up Custodia keys for %(master)s: %(err)s" +msgstr "" + +#: ipaserver/plugins/server.py:701 +#, python-format +msgid "Failed to cleanup server principals/keys: %(err)s" +msgstr "" + +#: ipaserver/plugins/server.py:717 +#, python-format +msgid "Failed to cleanup %(hostname)s DNS entries: %(err)s" +msgstr "" + +#: ipaserver/plugins/server.py:722 +msgid "You may need to manually remove them from the tree" +msgstr "" + +#: ipaserver/plugins/server.py:737 +#, python-format +msgid "Forcing removal of %(hostname)s" +msgstr "" + +#: ipaserver/plugins/server.py:747 +msgid "Ignoring topology connectivity errors." +msgstr "" + +#: ipaserver/plugins/server.py:766 +#, python-format +msgid "Failed to remove server from security domain: %s" +msgstr "" + +#: ipaserver/plugins/server.py:793 +msgid "Server has already been deleted" +msgstr "" + +#: ipaserver/plugins/server.py:843 +msgid "Agreements deleted" +msgstr "" + +#: ipaserver/plugins/server.py:854 +msgid "Following segments were not deleted:" +msgstr "" + +#: ipaserver/plugins/server.py:939 +msgid "not allowed to perform server connection check" +msgstr "" + +#: ipaserver/plugins/server.py:965 +msgid "Set enabled/hidden state of a server." +msgstr "" + +#: ipaserver/plugins/server.py:971 +msgid "State" +msgstr "" + +#: ipaserver/plugins/server.py:972 +msgid "Server state" +msgstr "" + +#: ipaserver/plugins/server.py:977 +#, python-format +msgid "Changed server state of \"%(value)s\"." +msgstr "" + +#: ipaserver/plugins/server.py:986 +msgid "Cannot hide CA renewal master." +msgstr "" + +#: ipaserver/plugins/server.py:988 +msgid "Cannot hide DNSSec key master." +msgstr "" + +#: ipaserver/plugins/server.py:1000 +#, python-format +msgid "Cannot hide last enabled %(name)s server." +msgstr "" + +#: ipaserver/plugins/ca.py:21 +msgid "" +"\n" +"Manage Certificate Authorities\n" +msgstr "" + +#: ipaserver/plugins/ca.py:23 +msgid "" +"\n" +"Subordinate Certificate Authorities (Sub-CAs) can be added for scoped " +"issuance\n" +"of X.509 certificates.\n" +msgstr "" + +#: ipaserver/plugins/ca.py:26 +msgid "" +"\n" +"CAs are enabled on creation, but their use is subject to CA ACLs unless the\n" +"operator has permission to bypass CA ACLs.\n" +msgstr "" + +#: ipaserver/plugins/ca.py:29 +msgid "" +"\n" +"All CAs except the 'IPA' CA can be disabled or re-enabled. Disabling a CA\n" +"prevents it from issuing certificates but does not affect the validity of " +"its\n" +"certificate.\n" +msgstr "" + +#: ipaserver/plugins/ca.py:33 +msgid "" +"\n" +"CAs (all except the 'IPA' CA) can be deleted. Deleting a CA causes its " +"signing\n" +"certificate to be revoked and its private key deleted.\n" +msgstr "" + +#: ipaserver/plugins/ca.py:38 +msgid "" +"\n" +" Create new CA, subordinate to the IPA CA (requires permission\n" +" \"System: Add CA\"):\n" +"\n" +" ipa ca-add puppet --desc \"Puppet\" \\\n" +" --subject \"CN=Puppet CA,O=EXAMPLE.COM\"\n" +msgstr "" + +#: ipaserver/plugins/ca.py:44 +msgid "" +"\n" +" Disable a CA (requires permission \"System: Modify CA\"):\n" +"\n" +" ipa ca-disable puppet\n" +msgstr "" + +#: ipaserver/plugins/ca.py:48 +msgid "" +"\n" +" Re-enable a CA (requires permission \"System: Modify CA\"):\n" +"\n" +" ipa ca-enable puppet\n" +msgstr "" + +#: ipaserver/plugins/ca.py:52 +msgid "" +"\n" +" Delete a CA (requires permission \"System: Delete CA\"; also requires\n" +" CA to be disabled first):\n" +"\n" +" ipa ca-del puppet\n" +msgstr "" + +#: ipaserver/plugins/ca.py:69 ipaserver/plugins/ca.py:80 +msgid "Certificate Authority" +msgstr "" + +#: ipaserver/plugins/ca.py:70 ipaserver/plugins/ca.py:79 +msgid "Certificate Authorities" +msgstr "" + +#: ipaserver/plugins/ca.py:87 +msgid "Name for referencing the CA" +msgstr "" + +#: ipaserver/plugins/ca.py:92 +msgid "Description of the purpose of the CA" +msgstr "" + +#: ipaserver/plugins/ca.py:96 +msgid "Authority ID" +msgstr "" + +#: ipaserver/plugins/ca.py:97 +msgid "Dogtag Authority ID" +msgstr "" + +#: ipaserver/plugins/ca.py:102 ipaserver/plugins/ca.py:296 +msgid "Subject DN" +msgstr "" + +#: ipaserver/plugins/ca.py:103 +msgid "Subject Distinguished Name" +msgstr "" + +#: ipaserver/plugins/ca.py:108 ipaserver/plugins/cert.py:426 +msgid "Issuer DN" +msgstr "" + +#: ipaserver/plugins/ca.py:109 +msgid "Issuer Distinguished Name" +msgstr "" + +#: ipaserver/plugins/ca.py:115 ipaserver/plugins/cert.py:354 +msgid "Base-64 encoded certificate." +msgstr "" + +#: ipaserver/plugins/ca.py:120 ipaserver/plugins/cert.py:359 +msgid "Certificate chain" +msgstr "" + +#: ipaserver/plugins/ca.py:121 ipaserver/plugins/cert.py:360 +msgid "X.509 certificate chain" +msgstr "" + +#: ipaserver/plugins/ca.py:127 +msgid "RSN Version" +msgstr "" + +#: ipaserver/plugins/ca.py:128 +msgid "Random Serial Number Version" +msgstr "" + +#: ipaserver/plugins/ca.py:228 +msgid "Search for CAs." +msgstr "" + +#: ipaserver/plugins/ca.py:230 +#, python-format +msgid "%(count)d CA matched" +msgid_plural "%(count)d CAs matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/ca.py:247 ipaserver/plugins/cert.py:596 +msgid "Include certificate chain in output" +msgstr "" + +#: ipaserver/plugins/ca.py:253 +msgid "Display the properties of a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:270 +msgid "Create a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:271 +#, python-format +msgid "Created CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/ca.py:281 +#, python-format +msgid "Insufficient 'add' privilege for entry '%s'." +msgstr "" + +#: ipaserver/plugins/ca.py:297 +#, python-format +msgid "Unrecognized attributes: %(attrs)s" +msgstr "" + +#: ipaserver/plugins/ca.py:312 +#, python-format +msgid "Subject DN is already used by CA '%s'" +msgstr "" + +#: ipaserver/plugins/ca.py:336 +msgid "Delete a CA (must be disabled first)." +msgstr "" + +#: ipaserver/plugins/ca.py:338 +#, python-format +msgid "Deleted CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/ca.py:347 +msgid "Insufficient privilege to delete a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:351 ipaserver/plugins/ca.py:360 +#: ipaserver/plugins/ca.py:379 ipaserver/plugins/ca.py:419 +#: ipaserver/plugins/internal.py:642 +msgid "CA" +msgstr "" + +#: ipaserver/plugins/ca.py:353 +msgid "IPA CA cannot be deleted" +msgstr "" + +#: ipaserver/plugins/ca.py:362 +msgid "Must be disabled first" +msgstr "" + +#: ipaserver/plugins/ca.py:370 +msgid "Modify CA configuration." +msgstr "" + +#: ipaserver/plugins/ca.py:371 +#, python-format +msgid "Modified CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/ca.py:397 +msgid "Insufficient privilege to modify a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:413 +msgid "Disable a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:414 +#, python-format +msgid "Disabled CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/ca.py:421 +msgid "IPA CA cannot be disabled" +msgstr "" + +#: ipaserver/plugins/ca.py:431 +msgid "Enable a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:432 +#, python-format +msgid "Enabled CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/cert.py:69 +msgid "" +"\n" +"IPA certificate operations\n" +msgstr "" + +#: ipaserver/plugins/cert.py:71 +msgid "" +"\n" +"Implements a set of commands for managing server SSL certificates.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:73 +msgid "" +"\n" +"Certificate requests exist in the form of a Certificate Signing Request " +"(CSR)\n" +"in PEM format.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:76 +msgid "" +"\n" +"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" +"subject to values configured in the server.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:79 +msgid "" +"\n" +"A certificate is stored with a service principal and a service principal\n" +"needs a host.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:82 +msgid "" +"\n" +"In order to request a certificate:\n" +msgstr "" + +#: ipaserver/plugins/cert.py:84 +msgid "" +"\n" +"* The host must exist\n" +"* The service must exist (or you use the --add option to automatically add " +"it)\n" +msgstr "" + +#: ipaserver/plugins/cert.py:87 +msgid "" +"\n" +"SEARCHING:\n" +msgstr "" + +#: ipaserver/plugins/cert.py:89 +msgid "" +"\n" +"Certificates may be searched on by certificate subject, serial number,\n" +"revocation reason, validity dates and the issued date.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:92 +msgid "" +"\n" +"When searching on dates the _from date does a >= search and the _to date\n" +"does a <= search. When combined these are done as an AND.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:95 +msgid "" +"\n" +"Dates are treated as GMT to match the dates in the certificates.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:97 +msgid "" +"\n" +"The date format is YYYY-mm-dd.\n" +msgstr "" + +#: ipaserver/plugins/cert.py:101 +msgid "" +"\n" +" Request a new certificate and add the principal:\n" +" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" +msgstr "" + +#: ipaserver/plugins/cert.py:104 +msgid "" +"\n" +" Retrieve an existing certificate:\n" +" ipa cert-show 1032\n" +msgstr "" + +#: ipaserver/plugins/cert.py:107 +msgid "" +"\n" +" Revoke a certificate (see RFC 5280 for reason details):\n" +" ipa cert-revoke --revocation-reason=6 1032\n" +msgstr "" + +#: ipaserver/plugins/cert.py:110 +msgid "" +"\n" +" Remove a certificate from revocation hold status:\n" +" ipa cert-remove-hold 1032\n" +msgstr "" + +#: ipaserver/plugins/cert.py:113 +msgid "" +"\n" +" Check the status of a signing request:\n" +" ipa cert-status 10\n" +msgstr "" + +#: ipaserver/plugins/cert.py:116 +msgid "" +"\n" +" Search for certificates by hostname:\n" +" ipa cert-find --subject=ipaserver.example.com\n" +msgstr "" + +#: ipaserver/plugins/cert.py:119 +msgid "" +"\n" +" Search for revoked certificates by reason:\n" +" ipa cert-find --revocation-reason=5\n" +msgstr "" + +#: ipaserver/plugins/cert.py:122 +msgid "" +"\n" +" Search for certificates based on issuance date\n" +" ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\n" +msgstr "" + +#: ipaserver/plugins/cert.py:125 +msgid "" +"\n" +" Search for certificates owned by a specific user:\n" +" ipa cert-find --user=user\n" +msgstr "" + +#: ipaserver/plugins/cert.py:128 +msgid "" +"\n" +" Examine a certificate:\n" +" ipa cert-find --file=cert.pem --all\n" +msgstr "" + +#: ipaserver/plugins/cert.py:131 +msgid "" +"\n" +" Verify that a certificate is owned by a specific user:\n" +" ipa cert-find --file=cert.pem --user=user\n" +msgstr "" + +#: ipaserver/plugins/cert.py:134 +msgid "" +"\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" +msgstr "" + +#: ipaserver/plugins/cert.py:138 +msgid "" +"\n" +"The following revocation reasons are supported:\n" +"\n" +msgstr "" + +#: ipaserver/plugins/cert.py:141 +msgid " * 0 - unspecified\n" +msgstr "" + +#: ipaserver/plugins/cert.py:142 +msgid " * 1 - keyCompromise\n" +msgstr "" + +#: ipaserver/plugins/cert.py:143 +msgid " * 2 - cACompromise\n" +msgstr "" + +#: ipaserver/plugins/cert.py:144 +msgid " * 3 - affiliationChanged\n" +msgstr "" + +#: ipaserver/plugins/cert.py:145 +msgid " * 4 - superseded\n" +msgstr "" + +#: ipaserver/plugins/cert.py:146 +msgid " * 5 - cessationOfOperation\n" +msgstr "" + +#: ipaserver/plugins/cert.py:147 +msgid " * 6 - certificateHold\n" +msgstr "" + +#: ipaserver/plugins/cert.py:148 +msgid " * 8 - removeFromCRL\n" +msgstr "" + +#: ipaserver/plugins/cert.py:149 +msgid " * 9 - privilegeWithdrawn\n" +msgstr "" + +#: ipaserver/plugins/cert.py:150 +msgid " * 10 - aACompromise\n" +msgstr "" + +#: ipaserver/plugins/cert.py:151 +msgid "" +"\n" +"Note that reason code 7 is not used. See RFC 5280 for more details:\n" +msgstr "" + +#: ipaserver/plugins/cert.py:153 +msgid "" +"\n" +"http://www.ietf.org/rfc/rfc5280.txt\n" +"\n" +msgstr "" + +#: ipaserver/plugins/cert.py:289 +#, python-format +msgid "" +"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " +"'%(profile_id)s' for certificate issuance." +msgstr "" + +#: ipaserver/plugins/cert.py:309 +msgid "enabledService/configuredService not in ipaConfigString kdc entry" +msgstr "" + +#: ipaserver/plugins/cert.py:313 +#, python-format +msgid "Host '%(hostname)s' is not an active KDC" +msgstr "" + +#: ipaserver/plugins/cert.py:347 +msgid "Issuing CA" +msgstr "" + +#: ipaserver/plugins/cert.py:348 +msgid "Name of issuing CA" +msgstr "" + +#: ipaserver/plugins/cert.py:365 ipaserver/plugins/cert.py:1501 +#: ipaserver/plugins/host.py:536 ipaserver/plugins/internal.py:659 +#: ipaserver/plugins/internal.py:735 ipaserver/plugins/service.py:561 +#: ipaserver/plugins/baseuser.py:949 +msgid "Subject" +msgstr "" + +#: ipaserver/plugins/cert.py:370 +msgid "Subject email address" +msgstr "" + +#: ipaserver/plugins/cert.py:375 +msgid "Subject DNS name" +msgstr "" + +#: ipaserver/plugins/cert.py:380 +msgid "Subject X.400 address" +msgstr "" + +#: ipaserver/plugins/cert.py:385 +msgid "Subject directory name" +msgstr "" + +#: ipaserver/plugins/cert.py:390 +msgid "Subject EDI Party name" +msgstr "" + +#: ipaserver/plugins/cert.py:395 +msgid "Subject URI" +msgstr "" + +#: ipaserver/plugins/cert.py:400 +msgid "Subject IP Address" +msgstr "" + +#: ipaserver/plugins/cert.py:405 +msgid "Subject OID" +msgstr "" + +#: ipaserver/plugins/cert.py:410 +msgid "Subject UPN" +msgstr "" + +#: ipaserver/plugins/cert.py:415 +msgid "Subject Kerberos principal name" +msgstr "" + +#: ipaserver/plugins/cert.py:420 +msgid "Subject Other Name" +msgstr "" + +#: ipaserver/plugins/cert.py:425 ipaserver/plugins/host.py:548 +#: ipaserver/plugins/internal.py:732 ipaserver/plugins/service.py:573 +#: ipaserver/plugins/baseuser.py:942 +msgid "Issuer" +msgstr "" + +#: ipaserver/plugins/cert.py:431 ipaserver/plugins/host.py:552 +#: ipaserver/plugins/service.py:577 +msgid "Not Before" +msgstr "" + +#: ipaserver/plugins/cert.py:436 ipaserver/plugins/host.py:556 +#: ipaserver/plugins/service.py:581 +msgid "Not After" +msgstr "" + +#: ipaserver/plugins/cert.py:441 ipaserver/plugins/host.py:560 +#: ipaserver/plugins/service.py:585 +msgid "Fingerprint (SHA1)" +msgstr "" + +#: ipaserver/plugins/cert.py:446 ipaserver/plugins/host.py:564 +#: ipaserver/plugins/service.py:589 +msgid "Fingerprint (SHA256)" +msgstr "" + +#: ipaserver/plugins/cert.py:458 +msgid "Serial number (hex)" +msgstr "" + +#: ipaserver/plugins/cert.py:581 +msgid "Request status" +msgstr "" + +#: ipaserver/plugins/cert.py:627 +msgid "" +"automatically add the principal if it doesn't exist (service principals only)" +msgstr "" + +#: ipaserver/plugins/cert.py:676 +#, python-format +msgid "krbtgt certs can use only the %s profile" +msgstr "" + +#: ipaserver/plugins/cert.py:728 +msgid "No Common Name was found in subject of request." +msgstr "" + +#: ipaserver/plugins/cert.py:736 +#, python-format +msgid "" +"hostname in subject of request '%(cn)s' does not match name or aliases of " +"principal '%(principal)s'" +msgstr "" + +#: ipaserver/plugins/cert.py:742 +#, python-format +msgid "" +"hostname in subject of request '%(cn)s' does not match principal hostname " +"'%(hostname)s'" +msgstr "" + +#: ipaserver/plugins/cert.py:751 +msgid "DN commonName does not match user's login" +msgstr "" + +#: ipaserver/plugins/cert.py:765 +msgid "DN emailAddress does not match any of user's email addresses" +msgstr "" + +#: ipaserver/plugins/cert.py:774 +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " +"'%s'." +msgstr "" + +#: ipaserver/plugins/cert.py:795 ipaserver/plugins/cert.py:913 +#, python-format +msgid "subject alt name type %s is forbidden for user principals" +msgstr "" + +#: ipaserver/plugins/cert.py:840 +#, python-format +msgid "" +"The service principal for subject alt name %s in certificate request does " +"not exist" +msgstr "" + +#: ipaserver/plugins/cert.py:871 +#, python-format +msgid "" +"Insufficient privilege to create a certificate with subject alt name '%s'." +msgstr "" + +#: ipaserver/plugins/cert.py:889 +#, python-format +msgid "Principal '%s' in subject alt name does not match requested principal" +msgstr "" + +#: ipaserver/plugins/cert.py:898 +msgid "RFC822Name does not match any of user's email addresses" +msgstr "" + +#: ipaserver/plugins/cert.py:905 +#, python-format +msgid "subject alt name type %s is forbidden for non-user principals" +msgstr "" + +#: ipaserver/plugins/cert.py:922 +#, python-format +msgid "Subject alt name type %s is forbidden" +msgstr "" + +#: ipaserver/plugins/cert.py:940 +#, python-format +msgid "CA '%s' is disabled" +msgstr "" + +#: ipaserver/plugins/cert.py:1027 +msgid "'add' option" +msgstr "" + +#: ipaserver/plugins/cert.py:1031 +msgid "The principal for this request doesn't exist." +msgstr "" + +#: ipaserver/plugins/cert.py:1147 +#, python-format +msgid "IP address in subjectAltName (%s) unreachable from DNS names" +msgstr "" + +#: ipaserver/plugins/cert.py:1164 +#, python-format +msgid "IP address in subjectAltName (%s) does not have PTR record" +msgstr "" + +#: ipaserver/plugins/cert.py:1176 +#, python-format +msgid "PTR record for SAN IP (%s) does not match A/AAAA records" +msgstr "" + +#: ipaserver/plugins/cert.py:1270 ipaserver/plugins/internal.py:706 +#: ipaserver/plugins/internal.py:1036 ipaserver/plugins/internal.py:1361 +#: ipaserver/plugins/internal.py:1964 +msgid "Status" +msgstr "" + +#: ipaserver/plugins/cert.py:1275 +msgid "Revoked" +msgstr "" + +#: ipaserver/plugins/cert.py:1280 ipaserver/plugins/host.py:568 +#: ipaserver/plugins/internal.py:656 ipaserver/plugins/internal.py:697 +#: ipaserver/plugins/service.py:593 +msgid "Revocation reason" +msgstr "" + +#: ipaserver/plugins/cert.py:1281 +msgid "" +"Reason for revoking the certificate (0-10). Type \"ipa help cert\" for " +"revocation reason details. " +msgstr "" + +#: ipaserver/plugins/cert.py:1303 +#, python-format +msgid "Owner %s" +msgstr "" + +#: ipaserver/plugins/cert.py:1390 +#, python-format +msgid "" +"Certificate with serial number %(serial)s issued by CA '%(ca)s' not found" +msgstr "" + +#: ipaserver/plugins/cert.py:1459 +msgid "7 is not a valid revocation reason" +msgstr "" + +#: ipaserver/plugins/cert.py:1559 +msgid "Status of the certificate" +msgstr "" + +#: ipaserver/plugins/cert.py:1565 +msgid "Results should contain primary key attribute only (\"certificate\")" +msgstr "" + +#: ipaserver/plugins/cert.py:1581 +#, python-format +msgid "%(count)d certificate matched" +msgid_plural "%(count)d certificates matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/cert.py:1603 +#, python-format +msgid "Search for certificates with these owner %s." +msgstr "" + +#: ipaserver/plugins/cert.py:1614 +#, python-format +msgid "Search for certificates without these owner %s." msgstr "" #: ipaserver/plugins/group.py:63 @@ -19997,13 +21298,6 @@ msgid_plural "%(count)d groups matched" msgstr[0] "" msgstr[1] "" -#: ipaserver/plugins/group.py:654 ipaserver/plugins/group.py:711 -#: ipaserver/plugins/trust.py:877 -msgid "" -"Cannot perform join operation without own domain configured. Make sure you " -"have run ipa-adtrust-install on the IPA server first" -msgstr "" - #: ipaserver/plugins/group.py:745 #, python-format msgid "Detached group \"%(value)s\" from user \"%(value)s\"" @@ -20029,273 +21323,6 @@ msgstr "" msgid "Remove users that can manage members of this group." msgstr "" -#: ipaserver/plugins/host.py:74 -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" -msgstr "" - -#: ipaserver/plugins/host.py:82 -msgid "" -"\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" -msgstr "" - -#: ipaserver/plugins/host.py:94 -msgid "" -"\n" -"RE-ENROLLMENT:\n" -"\n" -"Host that has been enrolled at some point, and lost its configuration (e.g. " -"VM\n" -"destroyed) can be re-enrolled.\n" -"\n" -"For more information, consult the manual pages for ipa-client-install.\n" -"\n" -"A host can optionally store information such as where it is located,\n" -"the OS that it runs, etc.\n" -msgstr "" - -#: ipaserver/plugins/host.py:106 -msgid "" -"\n" -" Add a new host:\n" -" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example." -"com\n" -msgstr "" - -#: ipaserver/plugins/host.py:109 -msgid "" -"\n" -" Delete a host:\n" -" ipa host-del test.example.com\n" -msgstr "" - -#: ipaserver/plugins/host.py:112 -msgid "" -"\n" -" Add a new host with a one-time password:\n" -" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n" -msgstr "" - -#: ipaserver/plugins/host.py:115 -msgid "" -"\n" -" Add a new host with a random one-time password:\n" -" ipa host-add --os='Fedora 12' --random test.example.com\n" -msgstr "" - -#: ipaserver/plugins/host.py:118 -msgid "" -"\n" -" Modify information about a host:\n" -" ipa host-mod --os='Fedora 12' test.example.com\n" -msgstr "" - -#: ipaserver/plugins/host.py:121 -msgid "" -"\n" -" Remove SSH public keys of a host and update DNS to reflect this change:\n" -" ipa host-mod --sshpubkey= --updatedns test.example.com\n" -msgstr "" - -#: ipaserver/plugins/host.py:124 -msgid "" -"\n" -" Disable the host Kerberos key, SSL certificate and all of its services:\n" -" ipa host-disable test.example.com\n" -msgstr "" - -#: ipaserver/plugins/host.py:127 -msgid "" -"\n" -" Add a host that can manage this host's keytab and certificate:\n" -" ipa host-add-managedby --hosts=test2 test\n" -msgstr "" - -#: ipaserver/plugins/host.py:130 -msgid "" -"\n" -" Allow user to create a keytab:\n" -" ipa host-allow-create-keytab test2 --users=tuser1\n" -msgstr "" - -#: ipaserver/plugins/host.py:242 ipaserver/plugins/service.py:164 -msgid "Users allowed to add resource delegation" -msgstr "" - -#: ipaserver/plugins/host.py:244 ipaserver/plugins/service.py:166 -msgid "Groups allowed to add resource delegation" -msgstr "" - -#: ipaserver/plugins/host.py:246 ipaserver/plugins/service.py:168 -msgid "Hosts allowed to add resource delegation" -msgstr "" - -#: ipaserver/plugins/host.py:248 ipaserver/plugins/service.py:170 -msgid "Host Groups allowed to add resource delegation" -msgstr "" - -#: ipaserver/plugins/host.py:481 ipaserver/plugins/internal.py:1177 -#: ipaserver/plugins/internal.py:1311 -msgid "Host" -msgstr "" - -#: ipaserver/plugins/host.py:503 -msgid "Host physical location hint (e.g. \"Lab 2\")" -msgstr "" - -#: ipaserver/plugins/host.py:533 -msgid "Base-64 encoded host certificate" -msgstr "" - -#: ipaserver/plugins/host.py:540 ipaserver/plugins/internal.py:702 -#: ipaserver/plugins/service.py:565 -msgid "Serial Number" -msgstr "" - -#: ipaserver/plugins/host.py:544 ipaserver/plugins/internal.py:703 -#: ipaserver/plugins/service.py:569 -msgid "Serial Number (hex)" -msgstr "" - -#: ipaserver/plugins/host.py:588 ipaserver/plugins/host.py:589 -#: ipaserver/plugins/service.py:549 ipaserver/plugins/service.py:550 -msgid "Delegation principal" -msgstr "" - -#: ipaserver/plugins/host.py:624 ipaserver/plugins/service.py:607 -msgid "Authentication Indicators" -msgstr "" - -#: ipaserver/plugins/host.py:625 -msgid "" -"Defines an allow list for Authentication Indicators. Use 'otp' to allow OTP-" -"based 2FA authentications. Use 'radius' to allow RADIUS-based 2FA " -"authentications. Use 'pkinit' to allow PKINIT-based 2FA authentications. Use " -"'hardened' to allow brute-force hardened password authentication by SPAKE or " -"FAST. Use 'idp' to allow External Identity Provider authentications. Use " -"'passkey' to allow passkey-based 2FA authentications. With no indicator " -"specified, all authentication mechanisms are allowed." -msgstr "" - -#: ipaserver/plugins/host.py:699 -#, python-format -msgid "Added host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:823 -#, python-format -msgid "Deleted host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:828 -msgid "Remove A, AAAA, SSHFP and PTR records of the host(s) managed by IPA DNS" -msgstr "" - -#: ipaserver/plugins/host.py:900 -msgid "No A, AAAA, SSHFP or PTR records found." -msgstr "" - -#: ipaserver/plugins/host.py:916 -#, python-format -msgid "Modified host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:937 -msgid "Password cannot be set on enrolled host." -msgstr "" - -#: ipaserver/plugins/host.py:941 -msgid "cn is immutable" -msgstr "" - -#: ipaserver/plugins/host.py:1066 -#, python-format -msgid "%(count)d host matched" -msgid_plural "%(count)d hosts matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/host.py:1221 -#, python-format -msgid "Disabled host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:1390 -#, python-format -msgid "Added certificates to host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:1397 -#, python-format -msgid "Removed certificates from host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:1413 -msgid "Add new principal alias to host entry" -msgstr "" - -#: ipaserver/plugins/host.py:1414 -#, python-format -msgid "Added new aliases to host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:1425 -msgid "Remove principal alias from a host entry" -msgstr "" - -#: ipaserver/plugins/host.py:1426 -#, python-format -msgid "Removed aliases from host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:1436 -msgid "Add new resource delegation to a host" -msgstr "" - -#: ipaserver/plugins/host.py:1437 -#, python-format -msgid "Added new resource delegation to the host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:1450 -msgid "Remove resource delegation from a host" -msgstr "" - -#: ipaserver/plugins/host.py:1451 -#, python-format -msgid "Removed resource delegation from the host \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/host.py:1457 -msgid "" -"Allow users, groups, hosts or host groups to handle a resource delegation of " -"this host." -msgstr "" - -#: ipaserver/plugins/host.py:1477 -msgid "" -"Disallow users, groups, hosts or host groups to handle a resource delegation " -"of this host." -msgstr "" - #: ipaserver/plugins/idp.py:24 msgid "" "\n" @@ -20707,14 +21734,6 @@ msgstr "" msgid "local domain range" msgstr "" -#: ipaserver/plugins/idrange.py:211 ipaserver/plugins/trust.py:678 -msgid "Active Directory domain range" -msgstr "" - -#: ipaserver/plugins/idrange.py:212 ipaserver/plugins/trust.py:679 -msgid "Active Directory trust range with POSIX attributes" -msgstr "" - #: ipaserver/plugins/idrange.py:256 msgid "ID range type, one of allowed values" msgstr "" @@ -20878,248 +21897,1084 @@ msgstr "" msgid "Options dom-sid and rid-base must be used together" msgstr "" -#: ipaserver/plugins/idviews.py:73 ipaserver/plugins/idviews.py:124 -#: ipaserver/plugins/idviews.py:132 ipaserver/plugins/idviews.py:360 -#: ipaserver/plugins/idviews.py:851 -msgid "ID View" -msgstr "" - -#: ipaserver/plugins/idviews.py:75 -msgid "system ID View" -msgstr "" - -#: ipaserver/plugins/idviews.py:125 ipaserver/plugins/idviews.py:131 -msgid "ID Views" -msgstr "" - -#: ipaserver/plugins/idviews.py:146 -msgid "User object overrides" -msgstr "" - -#: ipaserver/plugins/idviews.py:150 -msgid "Group object overrides" -msgstr "" - -#: ipaserver/plugins/idviews.py:154 -msgid "Hosts the view applies to" -msgstr "" - -#: ipaserver/plugins/idviews.py:198 -#, python-format -msgid "Added ID View \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/idviews.py:215 -#, python-format -msgid "Deleted ID View \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/idviews.py:228 -#, python-format -msgid "Modified an ID View \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/idviews.py:244 -#, python-format -msgid "%(count)d ID View matched" -msgid_plural "%(count)d ID Views matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/idviews.py:361 -msgid "Default Trust View cannot be applied on hosts" -msgstr "" - -#: ipaserver/plugins/idviews.py:389 ipaserver/plugins/idviews.py:422 -msgid "not found" -msgstr "" - -#: ipaserver/plugins/idviews.py:403 -msgid "ID View cannot be applied to IPA master" -msgstr "" - -#: ipaserver/plugins/idviews.py:420 -msgid "ID View already applied" -msgstr "" - -#: ipaserver/plugins/idviews.py:440 -msgid "value" -msgstr "" - -#: ipaserver/plugins/idviews.py:453 -#, python-format -msgid "ID View applied to %i host." -msgstr "" - -#: ipaserver/plugins/idviews.py:454 -#, python-format -msgid "ID View applied to %i hosts." -msgstr "" - -#: ipaserver/plugins/idviews.py:496 -#, python-format -msgid "ID View cleared from %i host." -msgstr "" - -#: ipaserver/plugins/idviews.py:497 -#, python-format -msgid "ID View cleared from %i hosts." -msgstr "" - -#: ipaserver/plugins/idviews.py:565 +#: ipaserver/plugins/schema.py:24 msgid "" -"You are trying to reference a magic private group which is not allowed to be " -"overridden. Try overriding the GID attribute of the corresponding user " -"instead." +"\n" +"API Schema\n" msgstr "" -#: ipaserver/plugins/idviews.py:603 -msgid "IPA object" -msgstr "" - -#: ipaserver/plugins/idviews.py:604 +#: ipaserver/plugins/schema.py:26 msgid "" -"system IPA objects (e.g. system groups, user private groups) cannot be " -"overridden" +"\n" +"Provides API introspection capabilities.\n" msgstr "" -#: ipaserver/plugins/idviews.py:698 +#: ipaserver/plugins/schema.py:30 +msgid "" +"\n" +" Show user-find details:\n" +" ipa command-show user-find\n" +msgstr "" + +#: ipaserver/plugins/schema.py:33 +msgid "" +"\n" +" Find user-find parameters:\n" +" ipa param-find user-find\n" +msgstr "" + +#: ipaserver/plugins/schema.py:54 +msgid "Documentation" +msgstr "" + +#: ipaserver/plugins/schema.py:59 +msgid "Exclude from" +msgstr "" + +#: ipaserver/plugins/schema.py:64 +msgid "Include in" +msgstr "" + +#: ipaserver/plugins/schema.py:135 +msgid "Help topic" +msgstr "" + +#: ipaserver/plugins/schema.py:147 ipaserver/plugins/internal.py:736 +msgid "Version" +msgstr "" + +#: ipaserver/plugins/schema.py:172 +msgid "Parameters" +msgstr "" + +#: ipaserver/plugins/schema.py:207 +msgid "Method of" +msgstr "" + +#: ipaserver/plugins/schema.py:212 +msgid "Method name" +msgstr "" + +#: ipaserver/plugins/schema.py:270 +msgid "Display information about a command." +msgstr "" + +#: ipaserver/plugins/schema.py:275 +msgid "Search for commands." +msgstr "" + +#: ipaserver/plugins/schema.py:280 +msgid "Return command defaults" +msgstr "" + +#: ipaserver/plugins/schema.py:291 +#, python-brace-format +msgid "{oname}: {command_name} not found" +msgstr "" + +#: ipaserver/plugins/schema.py:344 +msgid "Display information about a class." +msgstr "" + +#: ipaserver/plugins/schema.py:349 +msgid "Search for classes." +msgstr "" + +#: ipaserver/plugins/schema.py:436 +msgid "Display information about a help topic." +msgstr "" + +#: ipaserver/plugins/schema.py:441 +msgid "Search for help topics." +msgstr "" + +#: ipaserver/plugins/schema.py:453 +msgid "Required" +msgstr "" + +#: ipaserver/plugins/schema.py:458 +msgid "Multi-value" +msgstr "" + +#: ipaserver/plugins/schema.py:510 +msgid "Always ask" +msgstr "" + +#: ipaserver/plugins/schema.py:515 +msgid "CLI metavar" +msgstr "" + +#: ipaserver/plugins/schema.py:520 +msgid "CLI name" +msgstr "" + +#: ipaserver/plugins/schema.py:525 +msgid "Confirm (password)" +msgstr "" + +#: ipaserver/plugins/schema.py:530 +msgid "Default" +msgstr "" + +#: ipaserver/plugins/schema.py:535 +msgid "Default from" +msgstr "" + +#: ipaserver/plugins/schema.py:540 +msgid "Label" +msgstr "" + +#: ipaserver/plugins/schema.py:545 +msgid "Convert on server" +msgstr "" + +#: ipaserver/plugins/schema.py:550 +msgid "Option group" +msgstr "" + +#: ipaserver/plugins/schema.py:555 +msgid "Sensitive" +msgstr "" + +#: ipaserver/plugins/schema.py:560 +msgid "Positional argument" +msgstr "" + +#: ipaserver/plugins/schema.py:645 #, python-format -msgid "Anchor '%(anchor)s' could not be resolved." +msgid "%(metaobject)s: %(oname)s not found" msgstr "" -#: ipaserver/plugins/idviews.py:852 -msgid "Default Trust View cannot contain IPA users" +#: ipaserver/plugins/schema.py:684 +msgid "Display information about a command parameter." msgstr "" -#: ipaserver/plugins/idviews.py:896 -msgid "Add a new ID override." +#: ipaserver/plugins/schema.py:689 +msgid "Search command parameters." msgstr "" -#: ipaserver/plugins/idviews.py:897 +#: ipaserver/plugins/schema.py:746 #, python-format -msgid "Added ID override \"%(value)s\"" +msgid "%(command_name)s: %(oname)s not found" msgstr "" -#: ipaserver/plugins/idviews.py:912 -msgid "Delete an ID override." +#: ipaserver/plugins/schema.py:771 +msgid "Display information about a command output." msgstr "" -#: ipaserver/plugins/idviews.py:913 +#: ipaserver/plugins/schema.py:776 +msgid "Search for command outputs." +msgstr "" + +#: ipaserver/plugins/schema.py:781 +msgid "Store and provide schema for commands and topics" +msgstr "" + +#: ipaserver/plugins/schema.py:787 +msgid "Fingerprint of schema cached by client" +msgstr "" + +#: ipaserver/plugins/sudorule.py:43 +msgid "" +"\n" +"Sudo Rules\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:45 +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" +msgstr "" + +#: ipaserver/plugins/sudorule.py:50 +msgid "" +"\n" +"IPA provides a means to configure the various aspects of Sudo:\n" +" Users: The user(s)/group(s) allowed to invoke Sudo.\n" +" Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " +"Sudo.\n" +" Allow Command: The specific command(s) permitted to be run via Sudo.\n" +" Deny Command: The specific command(s) prohibited to be run via Sudo.\n" +" RunAsUser: The user(s) or group(s) of users whose rights Sudo will be " +"invoked with.\n" +" RunAsGroup: The group(s) whose gid rights Sudo will be invoked with.\n" +" Options: The various Sudoers Options that can modify Sudo's behavior.\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:59 +msgid "" +"\n" +"Each option needs to be added separately and no validation is done whether\n" +"the option is known by sudo or is in a valid format. Environment variables\n" +"also need to be set individually. For example env_keep=\"FOO BAR\" in " +"sudoers\n" +"needs be represented as --sudooption env_keep=FOO --sudooption " +"env_keep+=BAR.\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:64 +msgid "" +"\n" +"An order can be added to a sudorule to control the order in which they\n" +"are evaluated (if the client supports it). This order is an integer and\n" +"must be unique.\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:68 +msgid "" +"\n" +"IPA provides a designated binddn to use with Sudo located at:\n" +"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:71 +msgid "" +"\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 ldap://ipa." +"example.com -ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc," +"dc=example,dc=com\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:78 +msgid "" +"\n" +" Create a new rule:\n" +" ipa sudorule-add readfiles\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:81 +msgid "" +"\n" +" Add sudo command object and add it as allowed command in the rule:\n" +" ipa sudocmd-add /usr/bin/less\n" +" ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:85 +msgid "" +"\n" +" Add a host to the rule:\n" +" ipa sudorule-add-host readfiles --hosts server.example.com\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:88 +msgid "" +"\n" +" Add a user to the rule:\n" +" ipa sudorule-add-user readfiles --users jsmith\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:91 +msgid "" +"\n" +" Add a special Sudo rule for default Sudo server configuration:\n" +" ipa sudorule-add defaults\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:94 +msgid "" +"\n" +" Set a default Sudo option:\n" +" ipa sudorule-add-option defaults --sudooption '!authenticate'\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:97 +msgid "" +"\n" +" Set multiple default Sudo options:\n" +" ipa sudorule-add-option defaults --sudooption '!authenticate' --" +"sudooption mail_badpass\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:101 +msgid "" +"\n" +" Set SELinux type and role transitions on a rule:\n" +" ipa sudorule-add-option sysadmin_sudo --sudooption type=unconfined_t\n" +" ipa sudorule-add-option sysadmin_sudo --sudooption role=unconfined_r\n" +msgstr "" + +#: ipaserver/plugins/sudorule.py:120 +msgid "this option has been deprecated." +msgstr "" + +#: ipaserver/plugins/sudorule.py:148 +msgid "sudo rules" +msgstr "" + +#: ipaserver/plugins/sudorule.py:236 +msgid "Sudo Rules" +msgstr "" + +#: ipaserver/plugins/sudorule.py:237 +msgid "Sudo Rule" +msgstr "" + +#: ipaserver/plugins/sudorule.py:372 #, python-format -msgid "Deleted ID override \"%(value)s\"" +msgid "order must be a unique value (%(order)d already used by %(rule)s)" msgstr "" -#: ipaserver/plugins/idviews.py:936 -msgid "Modify an ID override." -msgstr "" - -#: ipaserver/plugins/idviews.py:937 +#: ipaserver/plugins/sudorule.py:403 #, python-format -msgid "Modified an ID override \"%(value)s\"" +msgid "Added Sudo Rule \"%(value)s\"" msgstr "" -#: ipaserver/plugins/idviews.py:944 -msgid "ID override" -msgstr "" - -#: ipaserver/plugins/idviews.py:945 -msgid "ID overrides cannot be renamed" -msgstr "" - -#: ipaserver/plugins/idviews.py:957 -msgid "Search for an ID override." -msgstr "" - -#: ipaserver/plugins/idviews.py:958 +#: ipaserver/plugins/sudorule.py:410 #, python-format -msgid "%(count)d ID override matched" -msgid_plural "%(count)d ID overrides matched" +msgid "Deleted Sudo Rule \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/sudorule.py:417 +#, python-format +msgid "Modified Sudo Rule \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/sudorule.py:436 +#, python-format +msgid "" +"%(type)s category cannot be set to 'all' while there are allowed %(objects)s" +msgstr "" + +#: ipaserver/plugins/sudorule.py:442 ipaserver/plugins/user.py:182 +msgid "users" +msgstr "" + +#: ipaserver/plugins/sudorule.py:452 +msgid "command" +msgstr "" + +#: ipaserver/plugins/sudorule.py:452 +msgid "commands" +msgstr "" + +#: ipaserver/plugins/sudorule.py:458 +msgid "runAs user" +msgstr "" + +#: ipaserver/plugins/sudorule.py:458 +msgid "runAs users" +msgstr "" + +#: ipaserver/plugins/sudorule.py:463 +msgid "group runAs" +msgstr "" + +#: ipaserver/plugins/sudorule.py:463 +msgid "runAs groups" +msgstr "" + +#: ipaserver/plugins/sudorule.py:484 +#, python-format +msgid "%(count)d Sudo Rule matched" +msgid_plural "%(count)d Sudo Rules matched" msgstr[0] "" msgstr[1] "" -#: ipaserver/plugins/idviews.py:970 -msgid "Display information about an ID override." +#: ipaserver/plugins/sudorule.py:556 +msgid "commands cannot be added when command category='all'" msgstr "" -#: ipaserver/plugins/idviews.py:982 ipaserver/plugins/idviews.py:986 -msgid "User ID override" +#: ipaserver/plugins/sudorule.py:818 ipaserver/plugins/sudorule.py:940 +msgid "users cannot be added when runAs user or runAs group category='all'" msgstr "" -#: ipaserver/plugins/idviews.py:983 ipaserver/plugins/idviews.py:985 -msgid "User ID overrides" -msgstr "" - -#: ipaserver/plugins/idviews.py:1105 ipaserver/plugins/idviews.py:1109 -msgid "Group ID override" -msgstr "" - -#: ipaserver/plugins/idviews.py:1106 ipaserver/plugins/idviews.py:1108 -msgid "Group ID overrides" -msgstr "" - -#: ipaserver/plugins/idviews.py:1150 -msgid "Add one or more certificates to the idoverrideuser entry" -msgstr "" - -#: ipaserver/plugins/idviews.py:1151 +#: ipaserver/plugins/sudorule.py:825 #, python-format -msgid "Added certificates to idoverrideuser \"%(value)s\"" +msgid "RunAsUser does not accept '%(name)s' as a user name" msgstr "" -#: ipaserver/plugins/idviews.py:1173 -msgid "Remove one or more certificates to the idoverrideuser entry" -msgstr "" - -#: ipaserver/plugins/idviews.py:1174 +#: ipaserver/plugins/sudorule.py:833 #, python-format -msgid "Removed certificates from idoverrideuser \"%(value)s\"" +msgid "RunAsUser does not accept '%(name)s' as a group name" msgstr "" -#: ipaserver/plugins/idviews.py:1198 +#: ipaserver/plugins/sudorule.py:947 #, python-format -msgid "Added User ID override \"%(value)s\"" +msgid "RunAsGroup does not accept '%(name)s' as a group name" msgstr "" -#: ipaserver/plugins/idviews.py:1223 -#, python-format -msgid "Deleted User ID override \"%(value)s\"" +#: ipaserver/plugins/automount.py:218 +msgid "automount location" msgstr "" -#: ipaserver/plugins/idviews.py:1229 -#, python-format -msgid "Modified an User ID override \"%(value)s\"" +#: ipaserver/plugins/automount.py:219 +msgid "automount locations" msgstr "" -#: ipaserver/plugins/idviews.py:1261 +#: ipaserver/plugins/automount.py:222 +msgid "Automount Locations" +msgstr "" + +#: ipaserver/plugins/automount.py:223 +msgid "Automount Location" +msgstr "" + +#: ipaserver/plugins/automount.py:263 #, python-format -msgid "%(count)d User ID override matched" -msgid_plural "%(count)d User ID overrides matched" +msgid "Added automount location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:283 +#, python-format +msgid "Deleted automount location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:296 +#, python-format +msgid "%(count)d automount location matched" +msgid_plural "%(count)d automount locations matched" msgstr[0] "" msgstr[1] "" -#: ipaserver/plugins/idviews.py:1297 -#, python-format -msgid "Added Group ID override \"%(value)s\"" +#: ipaserver/plugins/automount.py:349 +msgid "automount map" msgstr "" -#: ipaserver/plugins/idviews.py:1303 -#, python-format -msgid "Deleted Group ID override \"%(value)s\"" +#: ipaserver/plugins/automount.py:350 +msgid "automount maps" msgstr "" -#: ipaserver/plugins/idviews.py:1309 -#, python-format -msgid "Modified an Group ID override \"%(value)s\"" +#: ipaserver/plugins/automount.py:393 +msgid "Automount Maps" msgstr "" -#: ipaserver/plugins/idviews.py:1315 +#: ipaserver/plugins/automount.py:394 +msgid "Automount Map" +msgstr "" + +#: ipaserver/plugins/automount.py:401 #, python-format -msgid "%(count)d Group ID override matched" -msgid_plural "%(count)d Group ID overrides matched" +msgid "Added automount map \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:408 +#, python-format +msgid "Deleted automount map \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:428 +#, python-format +msgid "Modified automount map \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:436 +#, python-format +msgid "%(count)d automount map matched" +msgid_plural "%(count)d automount maps matched" msgstr[0] "" msgstr[1] "" +#: ipaserver/plugins/automount.py:448 +msgid "Automount key object." +msgstr "" + +#: ipaserver/plugins/automount.py:452 +msgid "automount key" +msgstr "" + +#: ipaserver/plugins/automount.py:453 +msgid "automount keys" +msgstr "" + +#: ipaserver/plugins/automount.py:512 +msgid "Automount Keys" +msgstr "" + +#: ipaserver/plugins/automount.py:513 +msgid "Automount Key" +msgstr "" + +#: ipaserver/plugins/automount.py:514 +#, python-format +msgid "" +"The key,info pair must be unique. A key named %(key)s with info %(info)s " +"already exists" +msgstr "" + +#: ipaserver/plugins/automount.py:515 +#, python-format +msgid "key named %(key)s already exists" +msgstr "" + +#: ipaserver/plugins/automount.py:516 +#, python-format +msgid "The automount key %(key)s with info %(info)s does not exist" +msgstr "" + +#: ipaserver/plugins/automount.py:566 +#, python-format +msgid "" +"More than one entry with key %(key)s found, use --info to select specific " +"entry." +msgstr "" + +#: ipaserver/plugins/automount.py:625 +#, python-format +msgid "Added automount key \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:654 +#, python-format +msgid "Added automount indirect map \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:678 +msgid "mount point is relative to parent map, cannot begin with /" +msgstr "" + +#: ipaserver/plugins/automount.py:707 +#, python-format +msgid "Deleted automount key \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:748 +#, python-format +msgid "Modified automount key \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:807 +#, python-format +msgid "%(count)d automount key matched" +msgid_plural "%(count)d automount keys matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/config.py:50 +msgid "" +"\n" +"Server configuration\n" +"\n" +"Manage the default values that IPA uses and some of its tuning parameters.\n" +"\n" +"NOTES:\n" +"\n" +"The password notification value (--pwdexpnotify) is stored here so it will\n" +"be replicated. It is not currently used to notify users in advance of an\n" +"expiring 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" +"\n" +"When setting the order list for mapping SELinux users you may need to\n" +"quote the value so it isn't interpreted by the shell.\n" +"\n" +"The maximum length of a hostname in Linux is controlled by\n" +"MAXHOSTNAMELEN in the kernel and defaults to 64. Some other operating\n" +"systems, Solaris for example, allows hostnames up to 255 characters.\n" +"This option will allow flexibility in length but by default limiting\n" +"to the Linux maximum length.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Show basic server configuration:\n" +" ipa config-show\n" +"\n" +" Show all configuration options:\n" +" ipa config-show --all\n" +"\n" +" Change maximum username length to 99 characters:\n" +" ipa config-mod --maxusername=99\n" +"\n" +" Change maximum host name length to 255 characters:\n" +" ipa config-mod --maxhostname=255\n" +"\n" +" Increase default time and size limits for maximum IPA server search:\n" +" ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000\n" +"\n" +" Set default user e-mail domain:\n" +" ipa config-mod --emaildomain=example.com\n" +"\n" +" Enable migration mode to make \"ipa migrate-ds\" command operational:\n" +" ipa config-mod --enable-migration=TRUE\n" +"\n" +" Define SELinux user map order:\n" +" ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-" +"s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" +msgstr "" + +#: ipaserver/plugins/config.py:116 +msgid "must be at least 10" +msgstr "" + +#: ipaserver/plugins/config.py:124 +msgid "configuration options" +msgstr "" + +#: ipaserver/plugins/config.py:160 ipaserver/plugins/config.py:161 +msgid "Configuration" +msgstr "" + +#: ipaserver/plugins/config.py:172 +msgid "Maximum hostname length" +msgstr "" + +#: ipaserver/plugins/config.py:276 ipaserver/plugins/config.py:277 +msgid "Enable adding subids to new users" +msgstr "" + +#: ipaserver/plugins/config.py:281 +msgid "IPA masters" +msgstr "" + +#: ipaserver/plugins/config.py:282 +msgid "List of all IPA masters" +msgstr "" + +#: ipaserver/plugins/config.py:287 +msgid "Hidden IPA masters" +msgstr "" + +#: ipaserver/plugins/config.py:288 +msgid "List of all hidden IPA masters" +msgstr "" + +#: ipaserver/plugins/config.py:293 +msgid "IPA master capable of PKINIT" +msgstr "" + +#: ipaserver/plugins/config.py:294 +msgid "IPA master which can process PKINIT requests" +msgstr "" + +#: ipaserver/plugins/config.py:299 +msgid "IPA CA servers" +msgstr "" + +#: ipaserver/plugins/config.py:300 +msgid "IPA servers configured as certificate authority" +msgstr "" + +#: ipaserver/plugins/config.py:305 +msgid "Hidden IPA CA servers" +msgstr "" + +#: ipaserver/plugins/config.py:306 +msgid "Hidden IPA servers configured as certificate authority" +msgstr "" + +#: ipaserver/plugins/config.py:311 +msgid "IPA CA renewal master" +msgstr "" + +#: ipaserver/plugins/config.py:312 +msgid "Renewal master for IPA certificate authority" +msgstr "" + +#: ipaserver/plugins/config.py:318 +msgid "IPA servers configured as key recovery agent" +msgstr "" + +#: ipaserver/plugins/config.py:323 +msgid "Hidden IPA KRA servers" +msgstr "" + +#: ipaserver/plugins/config.py:324 +msgid "Hidden IPA servers configured as key recovery agent" +msgstr "" + +#: ipaserver/plugins/config.py:337 +msgid "IPA servers configured as domain name server" +msgstr "" + +#: ipaserver/plugins/config.py:342 +msgid "Hidden IPA DNS servers" +msgstr "" + +#: ipaserver/plugins/config.py:343 +msgid "Hidden IPA servers configured as domain name server" +msgstr "" + +#: ipaserver/plugins/config.py:349 +msgid "DNSec key master" +msgstr "" + +#: ipaserver/plugins/config.py:354 +msgid "Setup SID configuration" +msgstr "" + +#: ipaserver/plugins/config.py:355 +msgid "New users and groups automatically get a SID assigned" +msgstr "" + +#: ipaserver/plugins/config.py:360 +msgid "Add SIDs" +msgstr "" + +#: ipaserver/plugins/config.py:361 +msgid "Add SIDs for existing users and groups" +msgstr "" + +#: ipaserver/plugins/config.py:366 ipaserver/plugins/config.py:367 +msgid "NetBIOS name of the IPA domain" +msgstr "" + +#: ipaserver/plugins/config.py:444 +msgid "Empty domain is not allowed" +msgstr "" + +#: ipaserver/plugins/config.py:452 +#, python-format +msgid "Invalid domain name '%(domain)s': %(e)s" +msgstr "" + +#: ipaserver/plugins/config.py:457 +#, python-format +msgid "Server has no information about domain '%(domain)s'" +msgstr "" + +#: ipaserver/plugins/config.py:464 +#, python-format +msgid "Disabled domain '%(domain)s' is not allowed" +msgstr "" + +#: ipaserver/plugins/config.py:514 +msgid "not allowed to enable SID generation" +msgstr "" + +#: ipaserver/plugins/config.py:522 +msgid "" +"Up to 15 characters and only uppercase ASCII letters, digits and dashes are " +"allowed. Empty string is not allowed." +msgstr "" + +#: ipaserver/plugins/config.py:550 +msgid "Failed to call DBus" +msgstr "" + +#: ipaserver/plugins/config.py:560 +msgid "Configuration of SID failed. See details in the error log" +msgstr "" + +#: ipaserver/plugins/config.py:570 +msgid "The group doesn't exist" +msgstr "" + +#: ipaserver/plugins/config.py:588 +#, python-format +msgid "attribute \"%s\" not allowed" +msgstr "" + +#: ipaserver/plugins/config.py:608 +msgid "May not be empty" +msgstr "" + +#: ipaserver/plugins/config.py:627 +#, python-format +msgid "%(obj)s default attribute %(attr)s would not be allowed!" +msgstr "" + +#: ipaserver/plugins/config.py:659 +msgid "A list of SELinux users delimited by $ expected" +msgstr "" + +#: ipaserver/plugins/config.py:663 +#, python-format +msgid "SELinux user '%(user)s' is not valid: %(error)s" +msgstr "" + +#: ipaserver/plugins/config.py:675 +msgid "SELinux user map default user not in order list" +msgstr "" + +#: ipaserver/plugins/config.py:694 +#, python-format +msgid "You cannot specify %s without the --enable-sid option" +msgstr "" + +#: ipaserver/plugins/host.py:74 +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" +msgstr "" + +#: ipaserver/plugins/host.py:82 +msgid "" +"\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" +msgstr "" + +#: ipaserver/plugins/host.py:94 +msgid "" +"\n" +"RE-ENROLLMENT:\n" +"\n" +"Host that has been enrolled at some point, and lost its configuration (e.g. " +"VM\n" +"destroyed) can be re-enrolled.\n" +"\n" +"For more information, consult the manual pages for ipa-client-install.\n" +"\n" +"A host can optionally store information such as where it is located,\n" +"the OS that it runs, etc.\n" +msgstr "" + +#: ipaserver/plugins/host.py:106 +msgid "" +"\n" +" Add a new host:\n" +" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example." +"com\n" +msgstr "" + +#: ipaserver/plugins/host.py:109 +msgid "" +"\n" +" Delete a host:\n" +" ipa host-del test.example.com\n" +msgstr "" + +#: ipaserver/plugins/host.py:112 +msgid "" +"\n" +" Add a new host with a one-time password:\n" +" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n" +msgstr "" + +#: ipaserver/plugins/host.py:115 +msgid "" +"\n" +" Add a new host with a random one-time password:\n" +" ipa host-add --os='Fedora 12' --random test.example.com\n" +msgstr "" + +#: ipaserver/plugins/host.py:118 +msgid "" +"\n" +" Modify information about a host:\n" +" ipa host-mod --os='Fedora 12' test.example.com\n" +msgstr "" + +#: ipaserver/plugins/host.py:121 +msgid "" +"\n" +" Remove SSH public keys of a host and update DNS to reflect this change:\n" +" ipa host-mod --sshpubkey= --updatedns test.example.com\n" +msgstr "" + +#: ipaserver/plugins/host.py:124 +msgid "" +"\n" +" Disable the host Kerberos key, SSL certificate and all of its services:\n" +" ipa host-disable test.example.com\n" +msgstr "" + +#: ipaserver/plugins/host.py:127 +msgid "" +"\n" +" Add a host that can manage this host's keytab and certificate:\n" +" ipa host-add-managedby --hosts=test2 test\n" +msgstr "" + +#: ipaserver/plugins/host.py:130 +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa host-allow-create-keytab test2 --users=tuser1\n" +msgstr "" + +#: ipaserver/plugins/host.py:242 ipaserver/plugins/service.py:164 +msgid "Users allowed to add resource delegation" +msgstr "" + +#: ipaserver/plugins/host.py:244 ipaserver/plugins/service.py:166 +msgid "Groups allowed to add resource delegation" +msgstr "" + +#: ipaserver/plugins/host.py:246 ipaserver/plugins/service.py:168 +msgid "Hosts allowed to add resource delegation" +msgstr "" + +#: ipaserver/plugins/host.py:248 ipaserver/plugins/service.py:170 +msgid "Host Groups allowed to add resource delegation" +msgstr "" + +#: ipaserver/plugins/host.py:481 ipaserver/plugins/internal.py:1177 +#: ipaserver/plugins/internal.py:1311 +msgid "Host" +msgstr "" + +#: ipaserver/plugins/host.py:503 +msgid "Host physical location hint (e.g. \"Lab 2\")" +msgstr "" + +#: ipaserver/plugins/host.py:533 +msgid "Base-64 encoded host certificate" +msgstr "" + +#: ipaserver/plugins/host.py:540 ipaserver/plugins/internal.py:702 +#: ipaserver/plugins/service.py:565 +msgid "Serial Number" +msgstr "" + +#: ipaserver/plugins/host.py:544 ipaserver/plugins/internal.py:703 +#: ipaserver/plugins/service.py:569 +msgid "Serial Number (hex)" +msgstr "" + +#: ipaserver/plugins/host.py:581 ipaserver/plugins/service.py:540 +#: ipaserver/plugins/baseuser.py:311 +msgid "Principal alias" +msgstr "" + +#: ipaserver/plugins/host.py:588 ipaserver/plugins/host.py:589 +#: ipaserver/plugins/service.py:549 ipaserver/plugins/service.py:550 +msgid "Delegation principal" +msgstr "" + +#: ipaserver/plugins/host.py:608 ipaserver/plugins/baseuser.py:407 +msgid "SSH public key fingerprint" +msgstr "" + +#: ipaserver/plugins/host.py:624 ipaserver/plugins/service.py:607 +msgid "Authentication Indicators" +msgstr "" + +#: ipaserver/plugins/host.py:625 +msgid "" +"Defines an allow list for Authentication Indicators. Use 'otp' to allow OTP-" +"based 2FA authentications. Use 'radius' to allow RADIUS-based 2FA " +"authentications. Use 'pkinit' to allow PKINIT-based 2FA authentications. Use " +"'hardened' to allow brute-force hardened password authentication by SPAKE or " +"FAST. Use 'idp' to allow External Identity Provider authentications. Use " +"'passkey' to allow passkey-based 2FA authentications. With no indicator " +"specified, all authentication mechanisms are allowed." +msgstr "" + +#: ipaserver/plugins/host.py:699 +#, python-format +msgid "Added host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:723 ipaserver/plugins/stageuser.py:337 +#: ipaserver/plugins/stageuser.py:558 ipaserver/plugins/user.py:589 +#: ipaserver/plugins/baseuser.py:651 +#, python-format +msgid "can be at most %(len)d characters" +msgstr "" + +#: ipaserver/plugins/host.py:823 +#, python-format +msgid "Deleted host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:828 +msgid "Remove A, AAAA, SSHFP and PTR records of the host(s) managed by IPA DNS" +msgstr "" + +#: ipaserver/plugins/host.py:900 +msgid "No A, AAAA, SSHFP or PTR records found." +msgstr "" + +#: ipaserver/plugins/host.py:916 +#, python-format +msgid "Modified host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:937 +msgid "Password cannot be set on enrolled host." +msgstr "" + +#: ipaserver/plugins/host.py:941 +msgid "cn is immutable" +msgstr "" + +#: ipaserver/plugins/host.py:1066 +#, python-format +msgid "%(count)d host matched" +msgid_plural "%(count)d hosts matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/host.py:1221 +#, python-format +msgid "Disabled host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:1390 +#, python-format +msgid "Added certificates to host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:1397 +#, python-format +msgid "Removed certificates from host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:1413 +msgid "Add new principal alias to host entry" +msgstr "" + +#: ipaserver/plugins/host.py:1414 +#, python-format +msgid "Added new aliases to host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:1425 +msgid "Remove principal alias from a host entry" +msgstr "" + +#: ipaserver/plugins/host.py:1426 +#, python-format +msgid "Removed aliases from host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:1436 +msgid "Add new resource delegation to a host" +msgstr "" + +#: ipaserver/plugins/host.py:1437 +#, python-format +msgid "Added new resource delegation to the host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:1450 +msgid "Remove resource delegation from a host" +msgstr "" + +#: ipaserver/plugins/host.py:1451 +#, python-format +msgid "Removed resource delegation from the host \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/host.py:1457 +msgid "" +"Allow users, groups, hosts or host groups to handle a resource delegation of " +"this host." +msgstr "" + +#: ipaserver/plugins/host.py:1477 +msgid "" +"Disallow users, groups, hosts or host groups to handle a resource delegation " +"of this host." +msgstr "" + #: ipaserver/plugins/internal.py:151 msgid "Internationalization messages" msgstr "" @@ -22579,6 +24434,11 @@ msgstr "" msgid "Add certificate mapping data" msgstr "" +#: ipaserver/plugins/internal.py:727 ipaserver/plugins/baseuser.py:468 +#: ipaserver/plugins/baseuser.py:469 +msgid "Certificate mapping data" +msgstr "" + #: ipaserver/plugins/internal.py:729 msgid "Configuration string" msgstr "" @@ -22600,10 +24460,6 @@ msgstr "" msgid "Remove certificate identity mapping rules" msgstr "" -#: ipaserver/plugins/internal.py:736 ipaserver/plugins/schema.py:147 -msgid "Version" -msgstr "" - #: ipaserver/plugins/internal.py:739 msgid "Group Options" msgstr "" @@ -23726,10 +25582,6 @@ msgstr "" msgid "Add password policy" msgstr "" -#: ipaserver/plugins/internal.py:1261 ipaserver/plugins/pwpolicy.py:302 -msgid "Password Policy" -msgstr "" - #: ipaserver/plugins/internal.py:1262 msgid "Remove password policies" msgstr "" @@ -23766,10 +25618,6 @@ msgstr "" msgid "Remove ID ranges" msgstr "" -#: ipaserver/plugins/internal.py:1275 ipaserver/dcerpc_common.py:37 -msgid "Active Directory domain" -msgstr "" - #: ipaserver/plugins/internal.py:1276 msgid "Active Directory domain with POSIX attributes" msgstr "" @@ -24334,18 +26182,6 @@ msgstr "" msgid "Remove domains" msgstr "" -#: ipaserver/plugins/internal.py:1570 ipaserver/plugins/trust.py:559 -msgid "Trust direction" -msgstr "" - -#: ipaserver/plugins/internal.py:1571 ipaserver/plugins/trust.py:567 -msgid "Trust status" -msgstr "" - -#: ipaserver/plugins/internal.py:1572 ipaserver/plugins/trust.py:563 -msgid "Trust type" -msgstr "" - #: ipaserver/plugins/internal.py:1573 msgid "Alternative UPN suffixes" msgstr "" @@ -25001,10 +26837,6 @@ msgstr "" msgid "Topology" msgstr "" -#: ipaserver/plugins/internal.py:1983 ipaserver/plugins/trust.py:533 -msgid "Trusts" -msgstr "" - #: ipaserver/plugins/internal.py:1985 msgid "True" msgstr "" @@ -25307,829 +27139,6 @@ msgstr "" msgid "Show the current Passkey configuration." msgstr "" -#: ipaserver/plugins/permission.py:41 -msgid "" -"\n" -"Permissions\n" -msgstr "" - -#: ipaserver/plugins/permission.py:43 -msgid "" -"\n" -"A permission enables fine-grained delegation of rights. A permission is\n" -"a human-readable wrapper around a 389-ds Access Control Rule,\n" -"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" -msgstr "" - -#: ipaserver/plugins/permission.py:49 -msgid "" -"\n" -"A permission may not contain other permissions.\n" -msgstr "" - -#: ipaserver/plugins/permission.py:51 -msgid "" -"\n" -"* A permission grants access to read, write, add, delete, read, search,\n" -" or compare.\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" -msgstr "" - -#: ipaserver/plugins/permission.py:57 -msgid "" -"\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" -msgstr "" - -#: ipaserver/plugins/permission.py:63 -msgid "" -"\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. search - search on one or more attributes\n" -"4. compare - compare one or more attributes\n" -"5. add - add a new entry to the tree\n" -"6. delete - delete an existing entry\n" -"7. all - all permissions are granted\n" -msgstr "" - -#: ipaserver/plugins/permission.py:73 -msgid "" -"\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" -msgstr "" - -#: ipaserver/plugins/permission.py:77 -msgid "" -"\n" -"There are a number of allowed targets:\n" -"1. subtree: a DN; the permission applies to the subtree under this DN\n" -"2. target filter: an LDAP filter\n" -"3. target: DN with possible wildcards, specifies entries permission applies " -"to\n" -msgstr "" - -#: ipaserver/plugins/permission.py:82 -msgid "" -"\n" -"Additionally, there are the following convenience options.\n" -"Setting one of these options will set the corresponding attribute(s).\n" -"1. type: a type of object (user, group, etc); sets subtree and target " -"filter.\n" -"2. memberof: apply to members of a group; sets target filter\n" -"3. targetgroup: grant access to modify a specific group (such as granting\n" -" the rights to manage group membership); sets target.\n" -msgstr "" - -#: ipaserver/plugins/permission.py:89 -msgid "" -"\n" -"Managed permissions\n" -msgstr "" - -#: ipaserver/plugins/permission.py:91 -msgid "" -"\n" -"Permissions that come with IPA by default can be so-called \"managed\"\n" -"permissions. These have a default set of attributes they apply to,\n" -"but the administrator can add/remove individual attributes to/from the set.\n" -msgstr "" - -#: ipaserver/plugins/permission.py:95 -msgid "" -"\n" -"Deleting or renaming a managed permission, as well as changing its target,\n" -"is not allowed.\n" -msgstr "" - -#: ipaserver/plugins/permission.py:100 -msgid "" -"\n" -" Add a permission that grants the creation of users:\n" -" ipa permission-add --type=user --permissions=add \"Add Users\"\n" -msgstr "" - -#: ipaserver/plugins/permission.py:103 -msgid "" -"\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 "" - -#: ipaserver/plugins/permission.py:130 -msgid "must be enclosed in parentheses" -msgstr "" - -#: ipaserver/plugins/permission.py:150 -#, python-format -msgid "\"%s\" is not an object type" -msgstr "" - -#: ipaserver/plugins/permission.py:152 ipaserver/plugins/permission.py:930 -#, python-format -msgid "\"%s\" is not a valid permission type" -msgstr "" - -#: ipaserver/plugins/permission.py:354 -#, python-format -msgid "Deprecated; use %s" -msgstr "" - -#: ipaserver/plugins/permission.py:371 -#, python-format -msgid "Permission with unknown flag %s may not be modified or removed" -msgstr "" - -#: ipaserver/plugins/permission.py:375 -msgid "A SYSTEM permission may not be modified or removed" -msgstr "" - -#: ipaserver/plugins/permission.py:638 -#, python-format -msgid "Entry %s not found" -msgstr "" - -#: ipaserver/plugins/permission.py:749 -#, python-format -msgid "The ACI for permission %(name)s was not found in %(dn)s " -msgstr "" - -#: ipaserver/plugins/permission.py:853 -msgid "" -"cannot specify full target filter and extra target filter simultaneously" -msgstr "" - -#: ipaserver/plugins/permission.py:876 -#, python-format -msgid "option was renamed; use %s" -msgstr "" - -#: ipaserver/plugins/permission.py:880 -#, python-format -msgid "Cannot use %(old_name)s with %(new_name)s" -msgstr "" - -#: ipaserver/plugins/permission.py:894 ipaserver/plugins/permission.py:909 -#, python-format -msgid "%s: group not found" -msgstr "" - -#: ipaserver/plugins/permission.py:904 -msgid "target and targetgroup are mutually exclusive" -msgstr "" - -#: ipaserver/plugins/permission.py:925 -msgid "subtree and type are mutually exclusive" -msgstr "" - -#: ipaserver/plugins/permission.py:963 -msgid "Bad search filter" -msgstr "" - -#: ipaserver/plugins/permission.py:973 -#, python-format -msgid "Entry %s does not exist" -msgstr "" - -#: ipaserver/plugins/permission.py:982 -msgid "" -"there must be at least one target entry specifier (e.g. target, " -"targetfilter, attrs)" -msgstr "" - -#: ipaserver/plugins/permission.py:994 ipaserver/plugins/permission.py:1022 -#, python-format -msgid "Added permission \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/permission.py:1049 -msgid "attrs and included attributes are mutually exclusive" -msgstr "" - -#: ipaserver/plugins/permission.py:1081 -#, python-format -msgid "Cannot store permission ACI to %s" -msgstr "" - -#: ipaserver/plugins/permission.py:1092 -#, python-format -msgid "Deleted permission \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/permission.py:1112 -msgid "cannot delete managed permissions" -msgstr "" - -#: ipaserver/plugins/permission.py:1118 -#, python-format -msgid "ACI of permission %s was not found" -msgstr "" - -#: ipaserver/plugins/permission.py:1127 -#, python-format -msgid "Modified permission \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/permission.py:1162 -msgid "cannot rename managed permissions" -msgstr "" - -#: ipaserver/plugins/permission.py:1169 ipaserver/plugins/permission.py:1173 -msgid "not modifiable on managed permissions" -msgstr "" - -#: ipaserver/plugins/permission.py:1180 -msgid "only available on managed permissions" -msgstr "" - -#: ipaserver/plugins/permission.py:1187 ipaserver/plugins/permission.py:1313 -msgid "attrs and included/excluded attributes are mutually exclusive" -msgstr "" - -#: ipaserver/plugins/permission.py:1198 -msgid "cannot set bindtype for a permission that is assigned to a privilege" -msgstr "" - -#: ipaserver/plugins/permission.py:1302 -#, python-format -msgid "%(count)d permission matched" -msgid_plural "%(count)d permissions matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/pwpolicy.py:43 -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" -"Grace period defines the number of LDAP logins allowed after expiration.\n" -"-1 means do not enforce expiration to match previous behavior. 0 allows\n" -"no additional logins after expiration.\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 "" - -#: ipaserver/plugins/pwpolicy.py:96 -msgid "Class of Service object used for linking policies with groups" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:147 -#, python-format -msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:175 -msgid "Add Class of Service entry" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:198 -msgid "Delete Class of Service entry" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:204 -msgid "Modify Class of Service entry" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:222 -msgid "Display Class of Service entry" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:228 -msgid "Search for Class of Service entry" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:241 -msgid "password policy" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:242 -msgid "password policies" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:301 -msgid "Password Policies" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:374 -msgid "Max repeat" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:375 -msgid "Maximum number of same consecutive characters" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:383 -msgid "Max sequence" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:384 -msgid "The max. length of monotonic character sequences (abcd)" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:392 -msgid "Dictionary check" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:393 -msgid "Check if the password is a dictionary word" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:399 -msgid "User check" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:400 -msgid "Check if the password contains the username" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:406 -msgid "Grace login limit" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:407 -msgid "Number of LDAP authentications allowed after expiration" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:483 -msgid "" -"Minimum length must be >= 6 if maxrepeat, maxsequence, dictcheck or " -"usercheck are defined" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:509 -msgid "Maximum password life must be equal to or greater than the minimum." -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:569 -msgid "cannot delete global password policy" -msgstr "" - -#: ipaserver/plugins/pwpolicy.py:605 -msgid "priority cannot be set on global policy" -msgstr "" - -#: ipaserver/plugins/schema.py:24 -msgid "" -"\n" -"API Schema\n" -msgstr "" - -#: ipaserver/plugins/schema.py:26 -msgid "" -"\n" -"Provides API introspection capabilities.\n" -msgstr "" - -#: ipaserver/plugins/schema.py:30 -msgid "" -"\n" -" Show user-find details:\n" -" ipa command-show user-find\n" -msgstr "" - -#: ipaserver/plugins/schema.py:33 -msgid "" -"\n" -" Find user-find parameters:\n" -" ipa param-find user-find\n" -msgstr "" - -#: ipaserver/plugins/schema.py:54 -msgid "Documentation" -msgstr "" - -#: ipaserver/plugins/schema.py:59 -msgid "Exclude from" -msgstr "" - -#: ipaserver/plugins/schema.py:64 -msgid "Include in" -msgstr "" - -#: ipaserver/plugins/schema.py:135 -msgid "Help topic" -msgstr "" - -#: ipaserver/plugins/schema.py:172 -msgid "Parameters" -msgstr "" - -#: ipaserver/plugins/schema.py:207 -msgid "Method of" -msgstr "" - -#: ipaserver/plugins/schema.py:212 -msgid "Method name" -msgstr "" - -#: ipaserver/plugins/schema.py:270 -msgid "Display information about a command." -msgstr "" - -#: ipaserver/plugins/schema.py:275 -msgid "Search for commands." -msgstr "" - -#: ipaserver/plugins/schema.py:280 -msgid "Return command defaults" -msgstr "" - -#: ipaserver/plugins/schema.py:291 -#, python-brace-format -msgid "{oname}: {command_name} not found" -msgstr "" - -#: ipaserver/plugins/schema.py:344 -msgid "Display information about a class." -msgstr "" - -#: ipaserver/plugins/schema.py:349 -msgid "Search for classes." -msgstr "" - -#: ipaserver/plugins/schema.py:436 -msgid "Display information about a help topic." -msgstr "" - -#: ipaserver/plugins/schema.py:441 -msgid "Search for help topics." -msgstr "" - -#: ipaserver/plugins/schema.py:453 -msgid "Required" -msgstr "" - -#: ipaserver/plugins/schema.py:458 -msgid "Multi-value" -msgstr "" - -#: ipaserver/plugins/schema.py:510 -msgid "Always ask" -msgstr "" - -#: ipaserver/plugins/schema.py:515 -msgid "CLI metavar" -msgstr "" - -#: ipaserver/plugins/schema.py:520 -msgid "CLI name" -msgstr "" - -#: ipaserver/plugins/schema.py:525 -msgid "Confirm (password)" -msgstr "" - -#: ipaserver/plugins/schema.py:530 -msgid "Default" -msgstr "" - -#: ipaserver/plugins/schema.py:535 -msgid "Default from" -msgstr "" - -#: ipaserver/plugins/schema.py:540 -msgid "Label" -msgstr "" - -#: ipaserver/plugins/schema.py:545 -msgid "Convert on server" -msgstr "" - -#: ipaserver/plugins/schema.py:550 -msgid "Option group" -msgstr "" - -#: ipaserver/plugins/schema.py:555 -msgid "Sensitive" -msgstr "" - -#: ipaserver/plugins/schema.py:560 -msgid "Positional argument" -msgstr "" - -#: ipaserver/plugins/schema.py:645 -#, python-format -msgid "%(metaobject)s: %(oname)s not found" -msgstr "" - -#: ipaserver/plugins/schema.py:684 -msgid "Display information about a command parameter." -msgstr "" - -#: ipaserver/plugins/schema.py:689 -msgid "Search command parameters." -msgstr "" - -#: ipaserver/plugins/schema.py:746 -#, python-format -msgid "%(command_name)s: %(oname)s not found" -msgstr "" - -#: ipaserver/plugins/schema.py:771 -msgid "Display information about a command output." -msgstr "" - -#: ipaserver/plugins/schema.py:776 -msgid "Search for command outputs." -msgstr "" - -#: ipaserver/plugins/schema.py:781 -msgid "Store and provide schema for commands and topics" -msgstr "" - -#: ipaserver/plugins/schema.py:787 -msgid "Fingerprint of schema cached by client" -msgstr "" - -#: ipaserver/plugins/server.py:36 -msgid "" -"\n" -"IPA servers\n" -msgstr "" - -#: ipaserver/plugins/server.py:38 -msgid "" -"\n" -"Get information about installed IPA servers.\n" -msgstr "" - -#: ipaserver/plugins/server.py:42 -msgid "" -"\n" -" Find all servers:\n" -" ipa server-find\n" -msgstr "" - -#: ipaserver/plugins/server.py:45 -msgid "" -"\n" -" Show specific server:\n" -" ipa server-show ipa.example.com\n" -msgstr "" - -#: ipaserver/plugins/server.py:61 -msgid "server" -msgstr "" - -#: ipaserver/plugins/server.py:62 -msgid "servers" -msgstr "" - -#: ipaserver/plugins/server.py:70 -msgid "IPA Servers" -msgstr "" - -#: ipaserver/plugins/server.py:133 -msgid "Server DNS location" -msgstr "" - -#: ipaserver/plugins/server.py:140 -msgid "Service weight" -msgstr "" - -#: ipaserver/plugins/server.py:141 -msgid "Weight for server services" -msgstr "" - -#: ipaserver/plugins/server.py:148 -msgid "Service relative weight" -msgstr "" - -#: ipaserver/plugins/server.py:149 -msgid "Relative weight for server services (counts per location)" -msgstr "" - -#: ipaserver/plugins/server.py:154 -msgid "Enabled server roles" -msgstr "" - -#: ipaserver/plugins/server.py:155 -msgid "List of enabled roles" -msgstr "" - -#: ipaserver/plugins/server.py:222 -msgid "Modify information about an IPA server." -msgstr "" - -#: ipaserver/plugins/server.py:224 -#, python-format -msgid "Modified IPA server \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/server.py:306 -#, python-format -msgid "%(count)d IPA server matched" -msgid_plural "%(count)d IPA servers matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/server.py:444 -#, python-format -msgid "Deleted IPA server \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/server.py:449 -msgid "Ignore topology errors" -msgstr "" - -#: ipaserver/plugins/server.py:450 -msgid "Ignore topology connectivity problems after removal" -msgstr "" - -#: ipaserver/plugins/server.py:455 -msgid "Ignore check for last remaining CA or DNS server" -msgstr "" - -#: ipaserver/plugins/server.py:456 -msgid "Skip a check whether the last CA master or DNS server is removed" -msgstr "" - -#: ipaserver/plugins/server.py:462 -msgid "Force server removal" -msgstr "" - -#: ipaserver/plugins/server.py:463 -msgid "Force server removal even if it does not exist" -msgstr "" - -#: ipaserver/plugins/server.py:500 -msgid "" -"Replica is active DNSSEC key master. Uninstall could break your DNS system. " -"Please disable or replace DNSSEC key master first." -msgstr "" - -#: ipaserver/plugins/server.py:506 -msgid "Deleting this server will leave your installation without a DNS." -msgstr "" - -#: ipaserver/plugins/server.py:520 -msgid "" -"Deleting this server is not allowed as it would leave your installation " -"without a KRA." -msgstr "" - -#: ipaserver/plugins/server.py:530 -msgid "" -"Deleting this server is not allowed as it would leave your installation " -"without a CA." -msgstr "" - -#: ipaserver/plugins/server.py:545 -msgid "Ignoring these warnings and proceeding with removal" -msgstr "" - -#: ipaserver/plugins/server.py:595 -#, python-format -msgid "" -"Failed to clean memberPrincipal %(principal)s from s4u2proxy entry %(dn)s: " -"%(err)s" -msgstr "" - -#: ipaserver/plugins/server.py:616 -#, python-format -msgid "Failed to clean up DNA hostname entries for %(master)s: %(err)s" -msgstr "" - -#: ipaserver/plugins/server.py:637 -#, python-format -msgid "Failed to remove server %(master)s from server list: %(err)s" -msgstr "" - -#: ipaserver/plugins/server.py:663 -#, python-format -msgid "Failed to clean up Custodia keys for %(master)s: %(err)s" -msgstr "" - -#: ipaserver/plugins/server.py:701 -#, python-format -msgid "Failed to cleanup server principals/keys: %(err)s" -msgstr "" - -#: ipaserver/plugins/server.py:717 -#, python-format -msgid "Failed to cleanup %(hostname)s DNS entries: %(err)s" -msgstr "" - -#: ipaserver/plugins/server.py:722 -msgid "You may need to manually remove them from the tree" -msgstr "" - -#: ipaserver/plugins/server.py:737 -#, python-format -msgid "Forcing removal of %(hostname)s" -msgstr "" - -#: ipaserver/plugins/server.py:747 -msgid "Ignoring topology connectivity errors." -msgstr "" - -#: ipaserver/plugins/server.py:766 -#, python-format -msgid "Failed to remove server from security domain: %s" -msgstr "" - -#: ipaserver/plugins/server.py:793 -msgid "Server has already been deleted" -msgstr "" - -#: ipaserver/plugins/server.py:843 -msgid "Agreements deleted" -msgstr "" - -#: ipaserver/plugins/server.py:854 -msgid "Following segments were not deleted:" -msgstr "" - -#: ipaserver/plugins/server.py:927 ipaserver/plugins/trust.py:1869 -#, python-format -msgid "must be \"%s\"" -msgstr "" - -#: ipaserver/plugins/server.py:939 -msgid "not allowed to perform server connection check" -msgstr "" - -#: ipaserver/plugins/server.py:965 -msgid "Set enabled/hidden state of a server." -msgstr "" - -#: ipaserver/plugins/server.py:971 -msgid "State" -msgstr "" - -#: ipaserver/plugins/server.py:972 -msgid "Server state" -msgstr "" - -#: ipaserver/plugins/server.py:977 -#, python-format -msgid "Changed server state of \"%(value)s\"." -msgstr "" - -#: ipaserver/plugins/server.py:986 -msgid "Cannot hide CA renewal master." -msgstr "" - -#: ipaserver/plugins/server.py:988 -msgid "Cannot hide DNSSec key master." -msgstr "" - -#: ipaserver/plugins/server.py:1000 -#, python-format -msgid "Cannot hide last enabled %(name)s server." -msgstr "" - #: ipaserver/plugins/service.py:60 msgid "" "\n" @@ -26550,703 +27559,6 @@ msgstr "" msgid "Remove one or more passkey mappings from the stage user entry." msgstr "" -#: ipaserver/plugins/sudorule.py:43 -msgid "" -"\n" -"Sudo Rules\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:45 -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" -msgstr "" - -#: ipaserver/plugins/sudorule.py:50 -msgid "" -"\n" -"IPA provides a means to configure the various aspects of Sudo:\n" -" Users: The user(s)/group(s) allowed to invoke Sudo.\n" -" Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " -"Sudo.\n" -" Allow Command: The specific command(s) permitted to be run via Sudo.\n" -" Deny Command: The specific command(s) prohibited to be run via Sudo.\n" -" RunAsUser: The user(s) or group(s) of users whose rights Sudo will be " -"invoked with.\n" -" RunAsGroup: The group(s) whose gid rights Sudo will be invoked with.\n" -" Options: The various Sudoers Options that can modify Sudo's behavior.\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:59 -msgid "" -"\n" -"Each option needs to be added separately and no validation is done whether\n" -"the option is known by sudo or is in a valid format. Environment variables\n" -"also need to be set individually. For example env_keep=\"FOO BAR\" in " -"sudoers\n" -"needs be represented as --sudooption env_keep=FOO --sudooption " -"env_keep+=BAR.\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:64 -msgid "" -"\n" -"An order can be added to a sudorule to control the order in which they\n" -"are evaluated (if the client supports it). This order is an integer and\n" -"must be unique.\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:68 -msgid "" -"\n" -"IPA provides a designated binddn to use with Sudo located at:\n" -"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:71 -msgid "" -"\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 ldap://ipa." -"example.com -ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc," -"dc=example,dc=com\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:78 -msgid "" -"\n" -" Create a new rule:\n" -" ipa sudorule-add readfiles\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:81 -msgid "" -"\n" -" Add sudo command object and add it as allowed command in the rule:\n" -" ipa sudocmd-add /usr/bin/less\n" -" ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:85 -msgid "" -"\n" -" Add a host to the rule:\n" -" ipa sudorule-add-host readfiles --hosts server.example.com\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:88 -msgid "" -"\n" -" Add a user to the rule:\n" -" ipa sudorule-add-user readfiles --users jsmith\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:91 -msgid "" -"\n" -" Add a special Sudo rule for default Sudo server configuration:\n" -" ipa sudorule-add defaults\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:94 -msgid "" -"\n" -" Set a default Sudo option:\n" -" ipa sudorule-add-option defaults --sudooption '!authenticate'\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:97 -msgid "" -"\n" -" Set multiple default Sudo options:\n" -" ipa sudorule-add-option defaults --sudooption '!authenticate' --" -"sudooption mail_badpass\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:101 -msgid "" -"\n" -" Set SELinux type and role transitions on a rule:\n" -" ipa sudorule-add-option sysadmin_sudo --sudooption type=unconfined_t\n" -" ipa sudorule-add-option sysadmin_sudo --sudooption role=unconfined_r\n" -msgstr "" - -#: ipaserver/plugins/sudorule.py:120 -msgid "this option has been deprecated." -msgstr "" - -#: ipaserver/plugins/sudorule.py:148 -msgid "sudo rules" -msgstr "" - -#: ipaserver/plugins/sudorule.py:236 -msgid "Sudo Rules" -msgstr "" - -#: ipaserver/plugins/sudorule.py:237 -msgid "Sudo Rule" -msgstr "" - -#: ipaserver/plugins/sudorule.py:372 -#, python-format -msgid "order must be a unique value (%(order)d already used by %(rule)s)" -msgstr "" - -#: ipaserver/plugins/sudorule.py:403 -#, python-format -msgid "Added Sudo Rule \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/sudorule.py:410 -#, python-format -msgid "Deleted Sudo Rule \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/sudorule.py:417 -#, python-format -msgid "Modified Sudo Rule \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/sudorule.py:436 -#, python-format -msgid "" -"%(type)s category cannot be set to 'all' while there are allowed %(objects)s" -msgstr "" - -#: ipaserver/plugins/sudorule.py:442 ipaserver/plugins/user.py:182 -msgid "users" -msgstr "" - -#: ipaserver/plugins/sudorule.py:452 -msgid "command" -msgstr "" - -#: ipaserver/plugins/sudorule.py:452 -msgid "commands" -msgstr "" - -#: ipaserver/plugins/sudorule.py:458 -msgid "runAs user" -msgstr "" - -#: ipaserver/plugins/sudorule.py:458 -msgid "runAs users" -msgstr "" - -#: ipaserver/plugins/sudorule.py:463 -msgid "group runAs" -msgstr "" - -#: ipaserver/plugins/sudorule.py:463 -msgid "runAs groups" -msgstr "" - -#: ipaserver/plugins/sudorule.py:484 -#, python-format -msgid "%(count)d Sudo Rule matched" -msgid_plural "%(count)d Sudo Rules matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/sudorule.py:556 -msgid "commands cannot be added when command category='all'" -msgstr "" - -#: ipaserver/plugins/sudorule.py:818 ipaserver/plugins/sudorule.py:940 -msgid "users cannot be added when runAs user or runAs group category='all'" -msgstr "" - -#: ipaserver/plugins/sudorule.py:825 -#, python-format -msgid "RunAsUser does not accept '%(name)s' as a user name" -msgstr "" - -#: ipaserver/plugins/sudorule.py:833 -#, python-format -msgid "RunAsUser does not accept '%(name)s' as a group name" -msgstr "" - -#: ipaserver/plugins/sudorule.py:947 -#, python-format -msgid "RunAsGroup does not accept '%(name)s' as a group name" -msgstr "" - -#: ipaserver/plugins/trust.py:83 -msgid "" -"\n" -"Cross-realm trusts\n" -"\n" -"Manage trust relationship between IPA and Active Directory domains.\n" -"\n" -"In order to allow users from a remote domain to access resources in IPA " -"domain,\n" -"trust relationship needs to be established. Currently IPA supports only " -"trusts\n" -"between IPA and Active Directory domains under control of Windows Server " -"2008\n" -"or later, with functional level 2008 or later.\n" -"\n" -"Please note that DNS on both IPA and Active Directory domain sides should " -"be\n" -"configured properly to discover each other. Trust relationship relies on\n" -"ability to discover special resources in the other domain via DNS records.\n" -"\n" -"Examples:\n" -"\n" -"1. Establish cross-realm trust with Active Directory using AD administrator\n" -" credentials:\n" -"\n" -" ipa trust-add --type=ad --admin --password\n" -"\n" -"2. List all existing trust relationships:\n" -"\n" -" ipa trust-find\n" -"\n" -"3. Show details of the specific trust relationship:\n" -"\n" -" ipa trust-show \n" -"\n" -"4. Delete existing trust relationship:\n" -"\n" -" ipa trust-del \n" -"\n" -"Once trust relationship is established, remote users will need to be mapped\n" -"to local POSIX groups in order to actually use IPA resources. The mapping\n" -"should be done via use of external membership of non-POSIX group and then\n" -"this group should be included into one of local POSIX groups.\n" -"\n" -"Example:\n" -"\n" -"1. Create group for the trusted domain admins' mapping and their local " -"POSIX\n" -"group:\n" -"\n" -" ipa group-add --desc=' admins external map' " -"ad_admins_external --external\n" -" ipa group-add --desc=' admins' ad_admins\n" -"\n" -"2. Add security identifier of Domain Admins of the to the\n" -" ad_admins_external group:\n" -"\n" -" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" -"\n" -"3. Allow members of ad_admins_external group to be associated with\n" -" ad_admins POSIX group:\n" -"\n" -" ipa group-add-member ad_admins --groups ad_admins_external\n" -"\n" -"4. List members of external members of ad_admins_external group to see\n" -" their SIDs:\n" -"\n" -" ipa group-show ad_admins_external\n" -"\n" -"\n" -"GLOBAL TRUST CONFIGURATION\n" -"\n" -"When IPA AD trust subpackage is installed and ipa-adtrust-install is run, a\n" -"local domain configuration (SID, GUID, NetBIOS name) is generated. These\n" -"identifiers are then used when communicating with a trusted domain of the\n" -"particular type.\n" -"\n" -"1. Show global trust configuration for Active Directory type of trusts:\n" -"\n" -" ipa trustconfig-show --type ad\n" -"\n" -"2. Modify global configuration for all trusts of Active Directory type and " -"set\n" -" a different fallback primary group (fallback primary group GID is used as " -"a\n" -" primary user GID if user authenticating to IPA domain does not have any\n" -" other primary GID already set):\n" -"\n" -" ipa trustconfig-mod --type ad --fallback-primary-group \"another AD " -"group\"\n" -"\n" -"3. Change primary fallback group back to default hidden group (any group " -"with\n" -" posixGroup object class is allowed):\n" -"\n" -" ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB " -"Group\"\n" -msgstr "" - -#: ipaserver/plugins/trust.py:226 -#, python-format -msgid "" -" Alternatively, following servers are capable of running this command: " -"%(masters)s" -msgstr "" - -#: ipaserver/plugins/trust.py:239 ipaserver/plugins/trust.py:875 -#: ipaserver/plugins/trust.py:891 ipaserver/plugins/trust.py:912 -#: ipaserver/plugins/trust.py:922 ipaserver/plugins/trust.py:1075 -#: ipaserver/plugins/trust.py:1110 -msgid "AD Trust setup" -msgstr "" - -#: ipaserver/plugins/trust.py:250 -msgid "" -"Cannot perform the selected command without Samba 4 support installed. Make " -"sure you have installed server-trust-ad sub-package of IPA." -msgstr "" - -#: ipaserver/plugins/trust.py:260 -msgid "" -"Cannot perform the selected command without Samba 4 instance configured on " -"this machine. Make sure you have run ipa-adtrust-install on this server." -msgstr "" - -#: ipaserver/plugins/trust.py:477 -msgid "" -"Fetching domains from trusted forest failed. See details in the error_log" -msgstr "" - -#: ipaserver/plugins/trust.py:490 -msgid "trust" -msgstr "" - -#: ipaserver/plugins/trust.py:491 -msgid "trusts" -msgstr "" - -#: ipaserver/plugins/trust.py:534 -msgid "Trust" -msgstr "" - -#: ipaserver/plugins/trust.py:552 -msgid "SID blocklist incoming" -msgstr "" - -#: ipaserver/plugins/trust.py:556 -msgid "SID blocklist outgoing" -msgstr "" - -#: ipaserver/plugins/trust.py:572 -msgid "UPN suffixes" -msgstr "" - -#: ipaserver/plugins/trust.py:589 -#, python-brace-format -msgid "invalid SID: {SID}" -msgstr "" - -#: ipaserver/plugins/trust.py:658 -msgid "" -"\n" -"Add new trust to use.\n" -"\n" -"This command establishes trust relationship to another domain\n" -"which becomes 'trusted'. As result, users of the trusted domain\n" -"may access resources of this domain.\n" -"\n" -"Only trusts to Active Directory domains are supported right now.\n" -"\n" -"The command can be safely run multiple times against the same domain,\n" -"this will cause change to trust relationship credentials on both\n" -"sides.\n" -"\n" -"Note that if the command was previously run with a specific range type,\n" -"or with automatic detection of the range type, and you want to configure a\n" -"different range type, you may need to delete first the ID range using\n" -"ipa idrange-del before retrying the command with the desired range type.\n" -" " -msgstr "" - -#: ipaserver/plugins/trust.py:716 -msgid "Type of trusted domain ID range, one of allowed values" -msgstr "" - -#: ipaserver/plugins/trust.py:728 -msgid "External trust" -msgstr "" - -#: ipaserver/plugins/trust.py:730 -msgid "" -"Establish external trust to a domain in another forest. The trust is not " -"transitive beyond the domain." -msgstr "" - -#: ipaserver/plugins/trust.py:736 -#, python-format -msgid "Added Active Directory trust for realm \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/trust.py:737 -#, python-format -msgid "Re-established trust to domain \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/trust.py:833 -msgid "missing base_id" -msgstr "" - -#: ipaserver/plugins/trust.py:835 -msgid "pysss_murmur is not available on the server and no base-id is given." -msgstr "" - -#: ipaserver/plugins/trust.py:845 -msgid "trust type" -msgstr "" - -#: ipaserver/plugins/trust.py:846 -msgid "only \"ad\" is supported" -msgstr "" - -#: ipaserver/plugins/trust.py:853 -msgid "" -"Cannot establish a trust to AD deployed in the same domain as IPA. Such " -"setup is not supported." -msgstr "" - -#: ipaserver/plugins/trust.py:866 -msgid "Realm-domain mismatch" -msgstr "" - -#: ipaserver/plugins/trust.py:867 -msgid "" -"To establish trust with Active Directory, the domain name and the realm name " -"of the IPA server must match" -msgstr "" - -#: ipaserver/plugins/trust.py:893 -#, python-format -msgid "" -"Trusted domain %(domain)s is included among IPA realm domains. It needs to " -"be removed prior to establishing the trust. See the \"ipa realmdomains-mod --" -"del-domain\" command." -msgstr "" - -#: ipaserver/plugins/trust.py:914 -msgid "Trusted domain and administrator account use different realms" -msgstr "" - -#: ipaserver/plugins/trust.py:923 -msgid "Realm administrator password should be specified" -msgstr "" - -#: ipaserver/plugins/trust.py:944 -msgid "id range type" -msgstr "" - -#: ipaserver/plugins/trust.py:946 -msgid "" -"Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-" -"type when adding an AD trust." -msgstr "" - -#: ipaserver/plugins/trust.py:956 -msgid "id range" -msgstr "" - -#: ipaserver/plugins/trust.py:958 -msgid "" -"An id range already exists for this trust. You should either delete the old " -"range, or exclude --base-id/--range-size options from the command." -msgstr "" - -#: ipaserver/plugins/trust.py:980 -msgid "range exists" -msgstr "" - -#: ipaserver/plugins/trust.py:982 -msgid "" -"ID range with the same name but different domain SID already exists. The ID " -"range for the new trusted domain must be created manually." -msgstr "" - -#: ipaserver/plugins/trust.py:990 -msgid "range type change" -msgstr "" - -#: ipaserver/plugins/trust.py:991 -msgid "" -"ID range for the trusted domain already exists, but it has a different type. " -"Please remove the old range manually, or do not enforce type via --range-" -"type option." -msgstr "" - -#: ipaserver/plugins/trust.py:1029 -#, python-brace-format -msgid "Unable to resolve domain controller for {domain} domain. " -msgstr "" - -#: ipaserver/plugins/trust.py:1043 -msgid "" -"Forward policy is defined for it in IPA DNS, perhaps forwarder points to " -"incorrect host?" -msgstr "" - -#: ipaserver/plugins/trust.py:1049 -#, python-brace-format -msgid "" -"IPA manages DNS, please verify your DNS configuration and make sure that " -"service records of the '{domain}' domain can be resolved. Examples how to " -"configure DNS with CLI commands or the Web UI can be found in the " -"documentation. " -msgstr "" - -#: ipaserver/plugins/trust.py:1061 -#, python-brace-format -msgid "" -"Since IPA does not manage DNS records, ensure DNS is configured to resolve " -"'{domain}' domain from IPA hosts and back." -msgstr "" - -#: ipaserver/plugins/trust.py:1076 -msgid "Unable to verify write permissions to the AD" -msgstr "" - -#: ipaserver/plugins/trust.py:1111 -msgid "Not enough arguments specified to perform trust setup" -msgstr "" - -#: ipaserver/plugins/trust.py:1119 -#, python-format -msgid "Deleted trust \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/trust.py:1124 -msgid "" -"\n" -" Modify a trust (for future use).\n" -"\n" -" Currently only the default option to modify the LDAP attributes is\n" -" available. More specific options will be added in coming releases.\n" -" " -msgstr "" - -#: ipaserver/plugins/trust.py:1131 -#, python-format -msgid "Modified trust \"%(value)s\" (change will be effective in 60 seconds)" -msgstr "" - -#: ipaserver/plugins/trust.py:1149 -#, python-format -msgid "%(count)d trust matched" -msgid_plural "%(count)d trusts matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/trust.py:1238 -msgid "trust configuration" -msgstr "" - -#: ipaserver/plugins/trust.py:1244 ipaserver/plugins/trust.py:1245 -msgid "Global Trust Configuration" -msgstr "" - -#: ipaserver/plugins/trust.py:1270 -msgid "IPA AD trust agents" -msgstr "" - -#: ipaserver/plugins/trust.py:1271 -msgid "IPA servers configured as AD trust agents" -msgstr "" - -#: ipaserver/plugins/trust.py:1276 -msgid "IPA AD trust controllers" -msgstr "" - -#: ipaserver/plugins/trust.py:1277 -msgid "IPA servers configured as AD trust controllers" -msgstr "" - -#: ipaserver/plugins/trust.py:1291 -msgid "unsupported trust type" -msgstr "" - -#: ipaserver/plugins/trust.py:1358 -#, python-format -msgid "Modified \"%(value)s\" trust configuration" -msgstr "" - -#: ipaserver/plugins/trust.py:1423 -msgid "SID" -msgstr "" - -#: ipaserver/plugins/trust.py:1549 -msgid "sidgen_was_run" -msgstr "" - -#: ipaserver/plugins/trust.py:1551 -msgid "" -"This command relies on the existence of the \"editors\" group, but this " -"group was not found." -msgstr "" - -#: ipaserver/plugins/trust.py:1570 -msgid "trust domain" -msgstr "" - -#: ipaserver/plugins/trust.py:1571 -msgid "trust domains" -msgstr "" - -#: ipaserver/plugins/trust.py:1579 -msgid "Trusted domains" -msgstr "" - -#: ipaserver/plugins/trust.py:1580 -msgid "Trusted domain" -msgstr "" - -#: ipaserver/plugins/trust.py:1594 -msgid "Domain enabled" -msgstr "" - -#: ipaserver/plugins/trust.py:1666 -#, python-format -msgid "Removed information about the trusted domain \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/trust.py:1684 -msgid "" -"cannot delete root domain of the trust, use trust-del to delete the trust " -"itself" -msgstr "" - -#: ipaserver/plugins/trust.py:1835 -msgid "" -"List of trust domains successfully refreshed. Use trustdomain-find command " -"to list them." -msgstr "" - -#: ipaserver/plugins/trust.py:1843 -msgid "Configure this server as a trust agent." -msgstr "" - -#: ipaserver/plugins/trust.py:1859 -msgid "Enable support for trusted domains for old clients" -msgstr "" - -#: ipaserver/plugins/trust.py:1875 -msgid "not allowed to remotely add agent" -msgstr "" - -#: ipaserver/plugins/trust.py:1911 -#, python-format -msgid "Enabled trust domain \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/trust.py:1920 -msgid "Root domain of the trust is always enabled for the existing trust" -msgstr "" - -#: ipaserver/plugins/trust.py:1953 -#, python-format -msgid "Disabled trust domain \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/trust.py:1962 -msgid "" -"cannot disable root domain of the trust, use trust-del to delete the trust " -"itself" -msgstr "" - #: ipaserver/plugins/user.py:82 msgid "" "\n" @@ -27448,6 +27760,14 @@ msgstr "" msgid "Removed certificates from user \"%(value)s\"" msgstr "" +#: ipaserver/plugins/user.py:1373 ipaserver/plugins/baseuser.py:1063 +msgid "Add one or more certificate mappings to the user entry." +msgstr "" + +#: ipaserver/plugins/user.py:1378 ipaserver/plugins/baseuser.py:1082 +msgid "Remove one or more certificate mappings from the user entry." +msgstr "" + #: ipaserver/plugins/user.py:1393 msgid "Add new principal alias to the user entry" msgstr "" @@ -27466,414 +27786,168 @@ msgstr "" msgid "Removed aliases from user \"%(value)s\"" msgstr "" -#: ipaserver/plugins/vault.py:52 +#: ipaserver/plugins/user.py:1410 ipaserver/plugins/baseuser.py:1109 +msgid "Remove one or more passkey mappings from the user entry." +msgstr "" + +#: ipaserver/plugins/baseuser.py:61 msgid "" "\n" -"Vaults\n" -msgstr "" - -#: ipaserver/plugins/vault.py:54 -msgid "" +"Baseuser\n" "\n" -"Manage vaults.\n" +"This contains common definitions for user/stageuser\n" msgstr "" -#: ipaserver/plugins/vault.py:56 +#: ipaserver/plugins/baseuser.py:92 +msgid "must be TRUE or FALSE" +msgstr "" + +#: ipaserver/plugins/baseuser.py:158 msgid "" -"\n" -"Vault is a secure place to store a secret. One vault can only\n" -"store one secret. When archiving a secret in a vault, the\n" -"existing secret (if any) is overwritten.\n" +"Object class ipaNTUserAttrs is missing, user entry cannot have SMB " +"attributes." msgstr "" -#: ipaserver/plugins/vault.py:60 -msgid "" -"\n" -"Based on the ownership there are three vault categories:\n" -"* user/private vault\n" -"* service vault\n" -"* shared vault\n" +#: ipaserver/plugins/baseuser.py:323 +msgid "User password expiration" msgstr "" -#: ipaserver/plugins/vault.py:65 -msgid "" -"\n" -"User vaults are vaults owned used by a particular user. Private\n" -"vaults are vaults owned the current user. Service vaults are\n" -"vaults owned by a service. Shared vaults are owned by the admin\n" -"but they can be used by other users or services.\n" +#: ipaserver/plugins/baseuser.py:434 +msgid "External IdP configuration" msgstr "" -#: ipaserver/plugins/vault.py:70 -msgid "" -"\n" -"Based on the security mechanism there are three types of\n" -"vaults:\n" -"* standard vault\n" -"* symmetric vault\n" -"* asymmetric vault\n" +#: ipaserver/plugins/baseuser.py:438 +msgid "External IdP user identifier" msgstr "" -#: ipaserver/plugins/vault.py:76 -msgid "" -"\n" -"Standard vault uses a secure mechanism to transport and\n" -"store the secret. The secret can only be retrieved by users\n" -"that have access to the vault.\n" +#: ipaserver/plugins/baseuser.py:439 +msgid "A string that identifies the user at external IdP" msgstr "" -#: ipaserver/plugins/vault.py:80 -msgid "" -"\n" -"Symmetric vault is similar to the standard vault, but it\n" -"pre-encrypts the secret using a password before transport.\n" -"The secret can only be retrieved using the same password.\n" +#: ipaserver/plugins/baseuser.py:474 +msgid "SMB logon script path" msgstr "" -#: ipaserver/plugins/vault.py:84 -msgid "" -"\n" -"Asymmetric vault is similar to the standard vault, but it\n" -"pre-encrypts the secret using a public key before transport.\n" -"The secret can only be retrieved using the private key.\n" +#: ipaserver/plugins/baseuser.py:479 +msgid "SMB profile path" msgstr "" -#: ipaserver/plugins/vault.py:90 -msgid "" -"\n" -" List vaults:\n" -" ipa vault-find\n" -" [--user |--service |--shared]\n" +#: ipaserver/plugins/baseuser.py:484 +msgid "SMB Home Directory" msgstr "" -#: ipaserver/plugins/vault.py:94 -msgid "" -"\n" -" Add a standard vault:\n" -" ipa vault-add \n" -" [--user |--service |--shared]\n" -" --type standard\n" +#: ipaserver/plugins/baseuser.py:489 +msgid "SMB Home Directory Drive" msgstr "" -#: ipaserver/plugins/vault.py:99 -msgid "" -"\n" -" Add a symmetric vault:\n" -" ipa vault-add \n" -" [--user |--service |--shared]\n" -" --type symmetric --password-file password.txt\n" +#: ipaserver/plugins/baseuser.py:498 ipaserver/plugins/baseuser.py:499 +msgid "Passkey mapping" msgstr "" -#: ipaserver/plugins/vault.py:104 -msgid "" -"\n" -" Add an asymmetric vault:\n" -" ipa vault-add \n" -" [--user |--service |--shared]\n" -" --type asymmetric --public-key-file public.pem\n" -msgstr "" - -#: ipaserver/plugins/vault.py:109 -msgid "" -"\n" -" Show a vault:\n" -" ipa vault-show \n" -" [--user |--service |--shared]\n" -msgstr "" - -#: ipaserver/plugins/vault.py:113 -msgid "" -"\n" -" Modify vault description:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --desc \n" -msgstr "" - -#: ipaserver/plugins/vault.py:118 -msgid "" -"\n" -" Modify vault type:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --type \n" -" [old password/private key]\n" -" [new password/public key]\n" -msgstr "" - -#: ipaserver/plugins/vault.py:125 -msgid "" -"\n" -" Modify symmetric vault password:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --change-password\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --old-password \n" -" --new-password \n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --old-password-file \n" -" --new-password-file \n" -msgstr "" - -#: ipaserver/plugins/vault.py:138 -msgid "" -"\n" -" Modify asymmetric vault keys:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --private-key-file \n" -" --public-key-file \n" -msgstr "" - -#: ipaserver/plugins/vault.py:144 -msgid "" -"\n" -" Delete a vault:\n" -" ipa vault-del \n" -" [--user |--service |--shared]\n" -msgstr "" - -#: ipaserver/plugins/vault.py:148 -msgid "" -"\n" -" Display vault configuration:\n" -" ipa vaultconfig-show\n" -msgstr "" - -#: ipaserver/plugins/vault.py:151 -msgid "" -"\n" -" Archive data into standard vault:\n" -" ipa vault-archive \n" -" [--user |--service |--shared]\n" -" --in \n" -msgstr "" - -#: ipaserver/plugins/vault.py:156 -msgid "" -"\n" -" Archive data into symmetric vault:\n" -" ipa vault-archive \n" -" [--user |--service |--shared]\n" -" --in \n" -" --password-file password.txt\n" -msgstr "" - -#: ipaserver/plugins/vault.py:162 -msgid "" -"\n" -" Archive data into asymmetric vault:\n" -" ipa vault-archive \n" -" [--user |--service |--shared]\n" -" --in \n" -msgstr "" - -#: ipaserver/plugins/vault.py:167 -msgid "" -"\n" -" Retrieve data from standard vault:\n" -" ipa vault-retrieve \n" -" [--user |--service |--shared]\n" -" --out \n" -msgstr "" - -#: ipaserver/plugins/vault.py:172 -msgid "" -"\n" -" Retrieve data from symmetric vault:\n" -" ipa vault-retrieve \n" -" [--user |--service |--shared]\n" -" --out \n" -" --password-file password.txt\n" -msgstr "" - -#: ipaserver/plugins/vault.py:178 -msgid "" -"\n" -" Retrieve data from asymmetric vault:\n" -" ipa vault-retrieve \n" -" [--user |--service |--shared]\n" -" --out --private-key-file private.pem\n" -msgstr "" - -#: ipaserver/plugins/vault.py:183 -msgid "" -"\n" -" Add vault owners:\n" -" ipa vault-add-owner \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" -msgstr "" - -#: ipaserver/plugins/vault.py:188 -msgid "" -"\n" -" Delete vault owners:\n" -" ipa vault-remove-owner \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" -msgstr "" - -#: ipaserver/plugins/vault.py:193 -msgid "" -"\n" -" Add vault members:\n" -" ipa vault-add-member \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" -msgstr "" - -#: ipaserver/plugins/vault.py:198 -msgid "" -"\n" -" Delete vault members:\n" -" ipa vault-remove-member \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" -msgstr "" - -#: ipaserver/plugins/vault.py:250 -msgid "" -"\n" -" Vault Container object.\n" -" " -msgstr "" - -#: ipaserver/plugins/vault.py:256 -msgid "vaultcontainer" -msgstr "" - -#: ipaserver/plugins/vault.py:257 -msgid "vaultcontainers" -msgstr "" - -#: ipaserver/plugins/vault.py:265 -msgid "Vault Containers" -msgstr "" - -#: ipaserver/plugins/vault.py:266 -msgid "Vault Container" -msgstr "" - -#: ipaserver/plugins/vault.py:355 -msgid "Service, shared and user options cannot be specified simultaneously" -msgstr "" - -#: ipaserver/plugins/vault.py:365 ipaserver/plugins/vault.py:695 -msgid "Host is not supported" -msgstr "" - -#: ipaserver/plugins/vault.py:407 ipaserver/plugins/vault.py:431 -#: ipaserver/plugins/vault.py:798 ipaserver/plugins/vault.py:836 -#: ipaserver/plugins/vault.py:892 ipaserver/plugins/vault.py:948 -#: ipaserver/plugins/vault.py:970 ipaserver/plugins/vault.py:1011 -#: ipaserver/plugins/vault.py:1067 ipaserver/plugins/vault.py:1146 -msgid "KRA service is not enabled" -msgstr "" - -#: ipaserver/plugins/vault.py:422 -msgid "Deleted vault container" -msgstr "" - -#: ipaserver/plugins/vault.py:447 ipaserver/plugins/vault.py:472 -#: ipaserver/plugins/vault.py:1203 ipaserver/plugins/vault.py:1228 +#: ipaserver/plugins/baseuser.py:519 ipaserver/plugins/baseuser.py:523 #, python-format -msgid "owner %s" +msgid "invalid e-mail format: %(email)s" msgstr "" -#: ipaserver/plugins/vault.py:492 +#: ipaserver/plugins/baseuser.py:550 +#, python-format +msgid "manager %(manager)s not found" +msgstr "" + +#: ipaserver/plugins/baseuser.py:943 +msgid "Issuer of the certificate" +msgstr "" + +#: ipaserver/plugins/baseuser.py:950 +msgid "Subject of the certificate" +msgstr "" + +#: ipaserver/plugins/baseuser.py:995 +msgid "cannot have an empty subject" +msgstr "" + +#: ipaserver/plugins/baseuser.py:1035 +msgid "cannot specify both subject/issuer and certificate" +msgstr "" + +#: ipaserver/plugins/baseuser.py:1039 +msgid "cannot specify both subject/issuer and ipacertmapdata" +msgstr "" + +#: ipaserver/plugins/baseuser.py:1064 +#, python-format +msgid "Added certificate mappings to user \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/baseuser.py:1083 +#, python-format +msgid "Removed certificate mappings from user \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/baseuser.py:1092 +#, python-format +msgid "Added passkey mappings to user \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/baseuser.py:1110 +#, python-format +msgid "Removed passkey mappings from user \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/dogtag.py:650 +msgid "REST API is not logged in." +msgstr "" + +#: ipaserver/plugins/dogtag.py:672 +#, python-format +msgid "Non-2xx response from CA REST API: %(status)d. %(explanation)s" +msgstr "" + +#: ipaserver/plugins/dogtag.py:698 +msgid "Unable to communicate with CMS" +msgstr "" + +#: ipaserver/plugins/dogtag.py:835 ipaserver/plugins/dogtag.py:922 +#: ipaserver/plugins/dogtag.py:1032 ipaserver/plugins/dogtag.py:1153 +#: ipaserver/plugins/dogtag.py:1251 ipaserver/plugins/dogtag.py:1643 +#: ipaserver/plugins/dogtag.py:1654 +msgid "Response from CA was not valid JSON" +msgstr "" + +#: ipaserver/servroles.py:296 +#, python-format +msgid "all masters must have %(role)s role enabled" +msgstr "" + +#: ipaserver/servroles.py:401 +#, python-format +msgid "must have %(role)s role enabled" +msgstr "" + +#: ipaserver/servroles.py:443 +msgid "must be enabled only on a single master" +msgstr "" + +#: ipaserver/topology.py:14 +#, python-format msgid "" "\n" -" Vault object.\n" -" " +"Replication topology in suffix '%(suffix)s' is disconnected:\n" +"%(errors)s" msgstr "" -#: ipaserver/plugins/vault.py:498 -msgid "vault" -msgstr "" - -#: ipaserver/plugins/vault.py:499 -msgid "vaults" -msgstr "" - -#: ipaserver/plugins/vault.py:522 -msgid "Vaults" -msgstr "" - -#: ipaserver/plugins/vault.py:523 -msgid "Vault" -msgstr "" - -#: ipaserver/plugins/vault.py:680 -msgid "Service, shared, and user options cannot be specified simultaneously" -msgstr "" - -#: ipaserver/plugins/vault.py:784 -msgid "Add a vault." -msgstr "" - -#: ipaserver/plugins/vault.py:790 +#: ipaserver/topology.py:18 #, python-format -msgid "Added vault \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/vault.py:829 -#, python-format -msgid "Deleted vault \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/vault.py:881 -#, python-format -msgid "%(count)d vault matched" -msgid_plural "%(count)d vaults matched" -msgstr[0] "" -msgstr[1] "" - -#: ipaserver/plugins/vault.py:899 msgid "" -"Service(s), shared, and user(s) options cannot be specified simultaneously" +"\n" +"Removal of '%(hostname)s' leads to disconnected topology in suffix " +"'%(suffix)s':\n" +"%(errors)s" msgstr "" -#: ipaserver/plugins/vault.py:939 +#: ipaserver/topology.py:120 #, python-format -msgid "Modified vault \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/vault.py:981 -msgid "Vault configuration" -msgstr "" - -#: ipaserver/plugins/vault.py:991 -msgid "IPA servers configured as key recovery agents" -msgstr "" - -#: ipaserver/plugins/vault.py:1052 ipaserver/plugins/vault.py:1131 -msgid "Key wrapping algorithm" -msgstr "" - -#: ipaserver/plugins/vault.py:1061 -#, python-format -msgid "Archived data into vault \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/vault.py:1120 -msgid "Retrieve data from a vault." -msgstr "" - -#: ipaserver/plugins/vault.py:1140 -#, python-format -msgid "Retrieved data from vault \"%(value)s\"" -msgstr "" - -#: ipaserver/plugins/vault.py:1169 -msgid "No archived data." -msgstr "" - -#: ipaserver/plugins/vault.py:1262 -msgid "Checks if any of the servers has the KRA service enabled" +msgid "Topology does not allow server %(server)s to replicate with servers:" msgstr "" #: ipaserver/dcerpc.py:87 @@ -28056,79 +28130,6 @@ msgid "" "instead" msgstr "" -#: ipaserver/dcerpc_common.py:20 -msgid "Trusting forest" -msgstr "" - -#: ipaserver/dcerpc_common.py:21 -msgid "Trusted forest" -msgstr "" - -#: ipaserver/dcerpc_common.py:26 -msgid "Established and verified" -msgstr "" - -#: ipaserver/dcerpc_common.py:27 -msgid "Waiting for confirmation by remote side" -msgstr "" - -#: ipaserver/dcerpc_common.py:30 -msgid "Unknown" -msgstr "" - -#: ipaserver/dcerpc_common.py:36 -msgid "Non-Active Directory domain" -msgstr "" - -#: ipaserver/dcerpc_common.py:38 -msgid "RFC4120-compliant Kerberos realm" -msgstr "" - -#: ipaserver/dcerpc_common.py:39 -msgid "" -"Non-transitive external trust to a domain in another Active Directory forest" -msgstr "" - -#: ipaserver/dcerpc_common.py:41 -msgid "Non-transitive external trust to an RFC4120-compliant Kerberos realm" -msgstr "" - -#: ipaserver/servroles.py:296 -#, python-format -msgid "all masters must have %(role)s role enabled" -msgstr "" - -#: ipaserver/servroles.py:401 -#, python-format -msgid "must have %(role)s role enabled" -msgstr "" - -#: ipaserver/servroles.py:443 -msgid "must be enabled only on a single master" -msgstr "" - -#: ipaserver/topology.py:14 -#, python-format -msgid "" -"\n" -"Replication topology in suffix '%(suffix)s' is disconnected:\n" -"%(errors)s" -msgstr "" - -#: ipaserver/topology.py:18 -#, python-format -msgid "" -"\n" -"Removal of '%(hostname)s' leads to disconnected topology in suffix " -"'%(suffix)s':\n" -"%(errors)s" -msgstr "" - -#: ipaserver/topology.py:120 -#, python-format -msgid "Topology does not allow server %(server)s to replicate with servers:" -msgstr "" - #: ipaserver/rpcserver.py:556 msgid "Request must be a dict" msgstr ""