diff --git a/ipaserver/plugins/internal.py b/ipaserver/plugins/internal.py
index 79b870314..e8642b6f0 100644
--- a/ipaserver/plugins/internal.py
+++ b/ipaserver/plugins/internal.py
@@ -1733,7 +1733,7 @@ class i18n_messages(Command):
"otp_reset_info":
_(" "
"OTP (One-Time Password):"
- "Leave blank if you are not using OTP tokens"
+ "Leave blank if you are not using OTP tokens "
"for authentication."),
"otp_long": _("One-Time Password"),
"otp_sync_fail": _("Token synchronization failed"),
diff --git a/po/ipa.pot b/po/ipa.pot
index ca0e70a5a..85c6901a5 100644
--- a/po/ipa.pot
+++ b/po/ipa.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: freeipa 4.12.0.dev202311201343+gitd97d62dea\n"
+"Project-Id-Version: freeipa 4.12.0.dev202404050516+git8084b94c1\n"
"Report-Msgid-Bugs-To: https://pagure.io/freeipa/new_issue\n"
-"POT-Creation-Date: 2023-11-20 14:44+0100\n"
+"POT-Creation-Date: 2024-04-05 08:19+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -859,10 +859,6 @@ msgstr ""
msgid "The hostname must not be: %s\n"
msgstr ""
-#: ipaclient/plugins/ca.py:19 ipaclient/plugins/cert.py:39
-msgid "Write certificate (chain if --chain used) to file"
-msgstr ""
-
#: ipaclient/plugins/certmap.py:19
msgid "Input file"
msgstr ""
@@ -871,7 +867,7 @@ msgstr ""
msgid "File to load the certificate from"
msgstr ""
-#: ipaclient/plugins/certmap.py:41 ipaclient/plugins/cert.py:130
+#: ipaclient/plugins/certmap.py:41 ipaclient/plugins/cert.py:129
msgid "cannot specify both raw certificate and file"
msgstr ""
@@ -942,20 +938,14 @@ msgstr ""
msgid "Server \"%(srv)s\" has %(n)d agreements with servers:"
msgstr ""
-#: ipaclient/plugins/cert.py:107
-msgid "Unrevoked"
+#: ipaclient/plugins/automember.py:33 ipaserver/plugins/automember.py:342
+msgid "Failed to add"
msgstr ""
-#: ipaclient/plugins/cert.py:110 ipaserver/plugins/internal.py:299
-msgid "Error"
-msgstr ""
-
-#: ipaclient/plugins/cert.py:120
-msgid "Input filename"
-msgstr ""
-
-#: ipaclient/plugins/cert.py:121
-msgid "File to load the certificate from."
+#: ipaclient/plugins/automember.py:42
+msgid ""
+"IMPORTANT: In case of a high number of users, hosts or groups, the operation "
+"may require high CPU usage."
msgstr ""
#: ipaclient/plugins/dns.py:137 ipaserver/plugins/dns.py:3557
@@ -1041,16 +1031,6 @@ msgstr ""
msgid "file to store DNS records in nsupdate format"
msgstr ""
-#: ipaclient/plugins/automember.py:33 ipaserver/plugins/automember.py:342
-msgid "Failed to add"
-msgstr ""
-
-#: ipaclient/plugins/automember.py:42
-msgid ""
-"IMPORTANT: In case of a high number of users, hosts or groups, the operation "
-"may require high CPU usage."
-msgstr ""
-
#: ipaclient/plugins/otptoken.py:67
msgid ""
"Unable to display QR code using the configured output encoding. Please use "
@@ -1072,9 +1052,9 @@ 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
+#: ipaserver/plugins/migration.py:534 ipaserver/plugins/baseuser.py:331
+#: ipaserver/plugins/internal.py:194 ipaserver/plugins/internal.py:414
+#: ipaserver/plugins/internal.py:1742
msgid "Password"
msgstr ""
@@ -1176,34 +1156,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_yubikey.py:35
msgid "python-yubico is not installed."
msgstr ""
@@ -1232,10 +1184,10 @@ msgstr ""
#: ipaserver/plugins/automember.py:63 ipaserver/plugins/certmap.py:60
#: ipaserver/plugins/location.py:37 ipaserver/plugins/otptoken.py:49
#: ipaserver/plugins/permission.py:98 ipaserver/plugins/server.py:40
-#: ipaserver/plugins/vault.py:88 ipaserver/plugins/ca.py:36
-#: ipaserver/plugins/cert.py:99 ipaserver/plugins/host.py:104
-#: ipaserver/plugins/idp.py:31 ipaserver/plugins/passkeyconfig.py:30
-#: ipaserver/plugins/schema.py:28 ipaserver/plugins/sudorule.py:76
+#: 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 ipaserver/plugins/vault.py:89
msgid ""
"\n"
"EXAMPLES:\n"
@@ -1260,11 +1212,6 @@ msgstr ""
msgid "No free YubiKey slot!"
msgstr ""
-#: ipaclient/plugins/stageuser.py:14 ipaclient/plugins/user.py:87
-#: ipaserver/plugins/baseuser.py:1091 ipaserver/plugins/user.py:1405
-msgid "Add one or more passkey mappings to the user entry."
-msgstr ""
-
#: ipaclient/plugins/sudorule.py:30
#, python-format
msgid "Enabled Sudo Rule \"%s\""
@@ -1285,19 +1232,7 @@ msgstr ""
msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\""
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 ""
-
-#: ipaclient/plugins/vault.py:68 ipaclient/plugins/vault.py:875
+#: ipaclient/plugins/vault.py:68 ipaclient/plugins/vault.py:910
#, python-format
msgid "Cannot read file '%(filename)s': %(exc)s"
msgstr ""
@@ -1316,13 +1251,13 @@ msgstr ""
msgid "Create a new vault."
msgstr ""
-#: ipaclient/plugins/vault.py:188 ipaclient/plugins/vault.py:769
-#: ipaclient/plugins/vault.py:1012
+#: ipaclient/plugins/vault.py:188 ipaclient/plugins/vault.py:804
+#: ipaclient/plugins/vault.py:1047
msgid "Vault password"
msgstr ""
-#: ipaclient/plugins/vault.py:193 ipaclient/plugins/vault.py:774
-#: ipaclient/plugins/vault.py:1017
+#: ipaclient/plugins/vault.py:193 ipaclient/plugins/vault.py:809
+#: ipaclient/plugins/vault.py:1052
msgid "File containing the vault password"
msgstr ""
@@ -1338,8 +1273,8 @@ msgstr ""
msgid "Public key can be specified only for asymmetric vault"
msgstr ""
-#: ipaclient/plugins/vault.py:284 ipaclient/plugins/vault.py:908
-#: ipaclient/plugins/vault.py:1154
+#: ipaclient/plugins/vault.py:284 ipaclient/plugins/vault.py:943
+#: ipaclient/plugins/vault.py:1189
msgid "Password specified multiple times"
msgstr ""
@@ -1356,7 +1291,7 @@ msgstr ""
msgid "Invalid or unsupported vault public key: %s"
msgstr ""
-#: ipaclient/plugins/vault.py:369 ipaserver/plugins/vault.py:933
+#: ipaclient/plugins/vault.py:369 ipaserver/plugins/vault.py:936
msgid "Modify a vault."
msgstr ""
@@ -1400,69 +1335,134 @@ msgstr ""
msgid "Missing new vault public key"
msgstr ""
-#: ipaclient/plugins/vault.py:660 ipaserver/plugins/vault.py:659
+#: ipaclient/plugins/vault.py:658 ipaserver/plugins/vault.py:660
#, python-brace-format
msgid "{algo} is not a supported vault wrapping algorithm"
msgstr ""
-#: ipaclient/plugins/vault.py:755 ipaserver/plugins/vault.py:1033
+#: ipaclient/plugins/vault.py:790 ipaserver/plugins/vault.py:1036
msgid "Archive data into a vault."
msgstr ""
-#: ipaclient/plugins/vault.py:760
+#: ipaclient/plugins/vault.py:795
msgid "Binary data to archive"
msgstr ""
-#: ipaclient/plugins/vault.py:764
+#: ipaclient/plugins/vault.py:799
msgid "File containing data to archive"
msgstr ""
-#: ipaclient/plugins/vault.py:778
+#: ipaclient/plugins/vault.py:813
msgid "Override existing password"
msgstr ""
-#: ipaclient/plugins/vault.py:861
+#: ipaclient/plugins/vault.py:896
msgid "Input data specified multiple times"
msgstr ""
-#: ipaclient/plugins/vault.py:866 ipaclient/plugins/vault.py:879
+#: ipaclient/plugins/vault.py:901 ipaclient/plugins/vault.py:914
#, python-format
msgid ""
"Size of data exceeds the limit. Current vault data size limit is %(limit)d B"
msgstr ""
-#: ipaclient/plugins/vault.py:962 ipaclient/plugins/vault.py:1204
+#: ipaclient/plugins/vault.py:997 ipaclient/plugins/vault.py:1239
msgid "Invalid vault type"
msgstr ""
-#: ipaclient/plugins/vault.py:1002
+#: ipaclient/plugins/vault.py:1037
msgid "Retrieve a data from a vault."
msgstr ""
-#: ipaclient/plugins/vault.py:1007
+#: ipaclient/plugins/vault.py:1042
msgid "File to store retrieved data"
msgstr ""
-#: ipaclient/plugins/vault.py:1022
+#: ipaclient/plugins/vault.py:1057
msgid "Vault private key"
msgstr ""
-#: ipaclient/plugins/vault.py:1027
+#: ipaclient/plugins/vault.py:1062
msgid "File containing the vault private key"
msgstr ""
-#: ipaclient/plugins/vault.py:1034 ipaserver/plugins/internal.py:763
+#: ipaclient/plugins/vault.py:1069 ipaserver/plugins/internal.py:763
msgid "Data"
msgstr ""
-#: ipaclient/plugins/vault.py:1180
+#: ipaclient/plugins/vault.py:1215
msgid "Private key specified multiple times"
msgstr ""
-#: ipaclient/plugins/vault.py:1193
+#: ipaclient/plugins/vault.py:1228
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/ca.py:19 ipaclient/plugins/cert.py:39
+msgid "Write certificate (chain if --chain used) to file"
+msgstr ""
+
+#: ipaclient/plugins/cert.py:106
+msgid "Unrevoked"
+msgstr ""
+
+#: ipaclient/plugins/cert.py:109 ipaserver/plugins/internal.py:299
+msgid "Error"
+msgstr ""
+
+#: ipaclient/plugins/cert.py:119
+msgid "Input filename"
+msgstr ""
+
+#: ipaclient/plugins/cert.py:120
+msgid "File to load the certificate from."
+msgstr ""
+
+#: ipaclient/plugins/stageuser.py:14 ipaclient/plugins/user.py:87
+#: ipaserver/plugins/baseuser.py:1091 ipaserver/plugins/user.py:1405
+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"
@@ -1620,7 +1620,7 @@ msgid "Attributes"
msgstr ""
#: ipaserver/plugins/otptoken.py:165 ipaserver/plugins/permission.py:347
-#: ipaserver/plugins/vault.py:598 ipaserver/plugins/schema.py:448
+#: ipaserver/plugins/schema.py:448 ipaserver/plugins/vault.py:599
msgid "Type"
msgstr ""
@@ -1876,7 +1876,7 @@ msgstr ""
msgid "description"
msgstr ""
-#: ipaserver/plugins/automount.py:252 ipaserver/plugins/host.py:502
+#: ipaserver/plugins/automount.py:252 ipaserver/plugins/host.py:503
msgid "Location"
msgstr ""
@@ -1892,19 +1892,18 @@ 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/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/idviews.py:143
-#: ipaserver/plugins/idviews.py:784 ipaserver/plugins/vault.py:592
+#: ipaserver/plugins/hbacsvcgroup.py:120 ipaserver/plugins/netgroup.py:210
+#: ipaserver/plugins/sudocmdgroup.py:130 ipaserver/plugins/radiusproxy.py:117
+#: ipaserver/plugins/automember.py:257 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/ca.py:91
-#: ipaserver/plugins/group.py:349 ipaserver/plugins/host.py:492
-#: ipaserver/plugins/sudorule.py:247
+#: ipaserver/plugins/sudorule.py:247 ipaserver/plugins/group.py:349
+#: ipaserver/plugins/host.py:493 ipaserver/plugins/idviews.py:143
+#: ipaserver/plugins/idviews.py:786 ipaserver/plugins/vault.py:593
msgid "Description"
msgstr ""
@@ -1912,13 +1911,11 @@ msgstr ""
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."
@@ -1948,8 +1945,8 @@ msgstr ""
msgid "Time limit of search in seconds"
msgstr ""
-#: ipaserver/plugins/serverrole.py:131 ipaserver/plugins/hbactest.py:304
-#: ipaserver/plugins/baseldap.py:1986 ipaserver/plugins/cert.py:1574
+#: ipaserver/plugins/serverrole.py:131 ipaserver/plugins/baseldap.py:1986
+#: ipaserver/plugins/cert.py:1574 ipaserver/plugins/hbactest.py:306
msgid "Size Limit"
msgstr ""
@@ -1960,7 +1957,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."
@@ -2659,7 +2655,7 @@ msgstr ""
msgid "A IP Address"
msgstr ""
-#: ipaserver/plugins/dns.py:983 ipaserver/plugins/host.py:711
+#: ipaserver/plugins/dns.py:983 ipaserver/plugins/host.py:712
msgid "IP Address"
msgstr ""
@@ -2738,8 +2734,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 ""
@@ -2986,9 +2982,8 @@ msgstr ""
msgid "NAPTR Service"
msgstr ""
-#: ipaserver/plugins/hbactest.py:285 ipaserver/plugins/dns.py:1324
+#: ipaserver/plugins/hbactest.py:287 ipaserver/plugins/service.py:524
#: ipaserver/plugins/internal.py:1360 ipaserver/plugins/internal.py:1704
-#: ipaserver/plugins/service.py:523
msgid "Service"
msgstr ""
@@ -3308,9 +3303,9 @@ msgstr ""
msgid "Add new DNS resource record."
msgstr ""
-#: ipaserver/plugins/realmdomains.py:151 ipaserver/plugins/dns.py:2890
#: ipaserver/plugins/dns.py:3578 ipaserver/plugins/permission.py:1096
-#: ipaserver/plugins/host.py:703 ipaserver/plugins/service.py:697
+#: ipaserver/plugins/realmdomains.py:151 ipaserver/plugins/host.py:704
+#: ipaserver/plugins/service.py:698
msgid "Force"
msgstr ""
@@ -3479,38 +3474,38 @@ 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
+#: ipaserver/plugins/sudorule.py:291 ipaserver/plugins/baseuser.py:250
+#: ipaserver/plugins/user.py:179 ipaserver/plugins/internal.py:1205
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/sudorule.py:295 ipaserver/plugins/group.py:334
+#: 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
+#: ipaserver/plugins/sudorule.py:304 ipaserver/plugins/host.py:481
+#: ipaserver/plugins/internal.py:1179
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/selinuxusermap.py:284 ipaserver/plugins/sudorule.py:308
+#: ipaserver/plugins/internal.py:1078 ipaserver/plugins/internal.py:1178
msgid "Host Groups"
msgstr ""
-#: ipaserver/plugins/internal.py:961 ipaserver/plugins/service.py:522
+#: ipaserver/plugins/service.py:523 ipaserver/plugins/internal.py:961
msgid "Services"
msgstr ""
@@ -3545,9 +3540,9 @@ msgstr ""
msgid "host groups to add"
msgstr ""
+#: ipaserver/plugins/baseldap.py:1770 ipaserver/plugins/baseldap.py:2257
#: 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 ""
@@ -3836,7 +3831,7 @@ msgid ""
" ipa host-allow-create-keytab test2 --users=tuser1\n"
msgstr ""
-#: ipaserver/plugins/service.py:767
+#: ipaserver/plugins/service.py:768
msgid "Host name"
msgstr ""
@@ -3873,22 +3868,22 @@ msgstr ""
msgid "Generate a random password to be used in bulk enrollment"
msgstr ""
-#: ipaserver/plugins/host.py:527
+#: ipaserver/plugins/host.py:528
msgid "Random password"
msgstr ""
-#: ipaserver/plugins/certmap.py:605 ipaserver/plugins/idviews.py:1068
-#: ipaserver/plugins/baseuser.py:462 ipaserver/plugins/baseuser.py:956
-#: 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/certmap.py:605 ipaserver/plugins/ca.py:114
+#: ipaserver/plugins/cert.py:353 ipaserver/plugins/baseuser.py:462
+#: ipaserver/plugins/baseuser.py:956 ipaserver/plugins/host.py:533
+#: ipaserver/plugins/idviews.py:1070 ipaserver/plugins/service.py:557
+#: ipaserver/plugins/internal.py:644 ipaserver/plugins/internal.py:728
msgid "Certificate"
msgstr ""
msgid "Base-64 encoded server certificate"
msgstr ""
-#: ipaserver/plugins/host.py:574 ipaserver/plugins/service.py:530
+#: ipaserver/plugins/host.py:575 ipaserver/plugins/service.py:531
msgid "Principal name"
msgstr ""
@@ -3898,11 +3893,11 @@ msgstr ""
msgid "Hardware MAC address(es) on this host"
msgstr ""
-#: ipaserver/plugins/baseuser.py:402 ipaserver/plugins/host.py:603
+#: ipaserver/plugins/host.py:604 ipaserver/plugins/idviews.py:1064
msgid "SSH public key"
msgstr ""
-#: ipaserver/plugins/host.py:613
+#: ipaserver/plugins/host.py:614
msgid "Class"
msgstr ""
@@ -3935,7 +3930,7 @@ msgstr ""
msgid "Member of host-groups"
msgstr ""
-#: ipaserver/plugins/baseldap.py:80
+#: ipaserver/plugins/role.py:142
msgid "Roles"
msgstr ""
@@ -4110,7 +4105,7 @@ 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 ""
@@ -4141,7 +4136,7 @@ msgstr ""
msgid "Display information about a host."
msgstr ""
-#: ipaserver/plugins/service.py:1029 ipaserver/plugins/user.py:976
+#: ipaserver/plugins/service.py:1030 ipaserver/plugins/user.py:976
msgid "file to store certificate in"
msgstr ""
@@ -4282,44 +4277,44 @@ msgid ""
"other Identity Management solutions.\n"
msgstr ""
-#: ipaserver/plugins/idviews.py:780
+#: ipaserver/plugins/idviews.py:782
msgid "Anchor to override"
msgstr ""
-#: ipaserver/plugins/group.py:343
+#: ipaserver/plugins/idviews.py:1137
msgid "Group name"
msgstr ""
-#: ipaserver/plugins/idviews.py:1140 ipaserver/plugins/baseuser.py:353
-#: ipaserver/plugins/group.py:354
+#: ipaserver/plugins/group.py:354 ipaserver/plugins/idviews.py:1047
+#: ipaserver/plugins/idviews.py:1142
msgid "GID"
msgstr ""
-#: ipaserver/plugins/idviews.py:1141 ipaserver/plugins/baseuser.py:354
+#: ipaserver/plugins/idviews.py:1048 ipaserver/plugins/idviews.py:1143
msgid "Group ID Number"
msgstr ""
-#: ipaserver/plugins/baseuser.py:259
+#: ipaserver/plugins/idviews.py:1034
msgid "User login"
msgstr ""
-#: ipaserver/plugins/baseuser.py:348
+#: ipaserver/plugins/idviews.py:1039
msgid "UID"
msgstr ""
-#: ipaserver/plugins/idviews.py:1038
+#: ipaserver/plugins/idviews.py:1040
msgid "User ID Number"
msgstr ""
-#: ipaserver/plugins/idviews.py:1042 ipaserver/plugins/baseuser.py:292
+#: ipaserver/plugins/baseuser.py:292 ipaserver/plugins/idviews.py:1044
msgid "GECOS"
msgstr ""
-#: ipaserver/plugins/baseuser.py:289
+#: ipaserver/plugins/idviews.py:1053
msgid "Home directory"
msgstr ""
-#: ipaserver/plugins/baseuser.py:298
+#: ipaserver/plugins/idviews.py:1057
msgid "Login shell"
msgstr ""
@@ -4327,52 +4322,52 @@ msgstr ""
msgid "ID View Name"
msgstr ""
-#: ipaserver/plugins/idviews.py:1296
+#: ipaserver/plugins/idviews.py:1298
msgid "Add a new Group ID override."
msgstr ""
-#: ipaserver/plugins/idviews.py:1302
+#: ipaserver/plugins/idviews.py:1304
msgid "Delete an Group ID override."
msgstr ""
-#: ipaserver/plugins/idviews.py:1314
+#: ipaserver/plugins/idviews.py:1316
msgid "Search for an Group ID override."
msgstr ""
msgid "Results should contain primary key attribute only (\"anchor\")"
msgstr ""
-#: ipaserver/plugins/idviews.py:1308
+#: ipaserver/plugins/idviews.py:1310
msgid "Modify an Group ID override."
msgstr ""
msgid "Rename the Group ID override object"
msgstr ""
-#: ipaserver/plugins/idviews.py:1330
+#: ipaserver/plugins/idviews.py:1332
msgid "Display information about an Group ID override."
msgstr ""
-#: ipaserver/plugins/idviews.py:1197
+#: ipaserver/plugins/idviews.py:1199
msgid "Add a new User ID override."
msgstr ""
-#: ipaserver/plugins/idviews.py:1222
+#: ipaserver/plugins/idviews.py:1224
msgid "Delete an User ID override."
msgstr ""
-#: ipaserver/plugins/idviews.py:1260
+#: ipaserver/plugins/idviews.py:1262
msgid "Search for an User ID override."
msgstr ""
-#: ipaserver/plugins/idviews.py:1228
+#: ipaserver/plugins/idviews.py:1230
msgid "Modify an User ID override."
msgstr ""
msgid "Rename the User ID override object"
msgstr ""
-#: ipaserver/plugins/idviews.py:1284
+#: ipaserver/plugins/idviews.py:1286
msgid "Display information about an User ID override."
msgstr ""
@@ -4385,8 +4380,8 @@ msgid ""
"hostgroups. If any other ID View is applied to the host, it is overriden."
msgstr ""
+#: ipaserver/plugins/sudorule.py:447 ipaserver/plugins/host.py:293
#: ipaserver/plugins/idviews.py:462 ipaserver/plugins/idviews.py:505
-#: ipaserver/plugins/host.py:293 ipaserver/plugins/sudorule.py:447
msgid "hosts"
msgstr ""
@@ -4567,7 +4562,7 @@ msgid ""
" ipa krbtpolicy-mod admin --maxlife=3600\n"
msgstr ""
-#: ipaserver/plugins/passwd.py:94 ipaserver/plugins/krbtpolicy.py:134
+#: ipaserver/plugins/hbactest.py:272 ipaserver/plugins/krbtpolicy.py:134
msgid "User name"
msgstr ""
@@ -4991,7 +4986,7 @@ msgstr ""
msgid "Search for netgroups without these member users."
msgstr ""
-#: ipaserver/plugins/group.py:424 ipaserver/plugins/group.py:698
+#: ipaserver/plugins/group.py:424 ipaserver/plugins/group.py:700
#: ipaserver/plugins/user.py:169
msgid "group"
msgstr ""
@@ -5689,8 +5684,8 @@ msgid "Display information about password policy."
msgstr ""
#: ipaserver/plugins/pwpolicy.py:643 ipaserver/plugins/baseuser.py:251
-#: ipaserver/plugins/internal.py:1203 ipaserver/plugins/internal.py:1327
-#: ipaserver/plugins/internal.py:1715 ipaserver/plugins/user.py:180
+#: ipaserver/plugins/user.py:180 ipaserver/plugins/internal.py:1203
+#: ipaserver/plugins/internal.py:1327 ipaserver/plugins/internal.py:1715
msgid "User"
msgstr ""
@@ -5819,7 +5814,7 @@ msgid ""
" ipa realmdomains-mod --del-domain=olddomain.com\n"
msgstr ""
-#: ipaserver/plugins/realmdomains.py:115 ipaserver/plugins/trust.py:1249
+#: ipaserver/plugins/realmdomains.py:115 ipaserver/plugins/trust.py:1251
#: ipaserver/plugins/internal.py:720 ipaserver/plugins/internal.py:1562
msgid "Domain"
msgstr ""
@@ -6187,15 +6182,15 @@ msgstr ""
msgid "Principal"
msgstr ""
-#: ipaserver/plugins/service.py:531
+#: ipaserver/plugins/service.py:532
msgid "Service principal"
msgstr ""
-#: ipaserver/plugins/service.py:598
+#: ipaserver/plugins/service.py:599
msgid "PAC type"
msgstr ""
-#: ipaserver/plugins/service.py:599
+#: ipaserver/plugins/service.py:600
msgid ""
"Override default list of supported PAC types. Use 'NONE' to disable PAC "
"support for this service, e.g. this might be necessary for NFS services."
@@ -6207,42 +6202,42 @@ msgstr ""
msgid "force principal name even if not in DNS"
msgstr ""
-#: ipaserver/plugins/service.py:1061
+#: ipaserver/plugins/service.py:1062
msgid "Add hosts that can manage this service."
msgstr ""
-#: ipaserver/plugins/service.py:1117
+#: ipaserver/plugins/service.py:1118
msgid ""
"Allow users, groups, hosts or host groups to create a keytab of this service."
msgstr ""
-#: ipaserver/plugins/service.py:1078
+#: ipaserver/plugins/service.py:1079
msgid ""
"Allow users, groups, hosts or host groups to retrieve a keytab of this "
"service."
msgstr ""
-#: ipaserver/plugins/service.py:887
+#: ipaserver/plugins/service.py:888
msgid "Delete an IPA service."
msgstr ""
-#: ipaserver/plugins/service.py:1156
+#: ipaserver/plugins/service.py:1157
msgid "Disable the Kerberos key and SSL certificate of a service."
msgstr ""
-#: ipaserver/plugins/service.py:1137
+#: ipaserver/plugins/service.py:1138
msgid ""
"Disallow users, groups, hosts or host groups to create a keytab of this "
"service."
msgstr ""
-#: ipaserver/plugins/service.py:1098
+#: ipaserver/plugins/service.py:1099
msgid ""
"Disallow users, groups, hosts or host groups to retrieve a keytab of this "
"service."
msgstr ""
-#: ipaserver/plugins/service.py:957
+#: ipaserver/plugins/service.py:958
msgid "Search for IPA services."
msgstr ""
@@ -6255,15 +6250,15 @@ msgstr ""
msgid "Search for services without these managed by hosts."
msgstr ""
-#: ipaserver/plugins/service.py:907
+#: ipaserver/plugins/service.py:908
msgid "Modify an existing IPA service."
msgstr ""
-#: ipaserver/plugins/service.py:1070
+#: ipaserver/plugins/service.py:1071
msgid "Remove hosts that can manage this service."
msgstr ""
-#: ipaserver/plugins/service.py:1024
+#: ipaserver/plugins/service.py:1025
msgid "Display information about an IPA service."
msgstr ""
@@ -7047,7 +7042,7 @@ msgstr ""
msgid "Last name"
msgstr ""
-#: ipaserver/plugins/schema.py:152
+#: ipaserver/plugins/baseuser.py:273
msgid "Full name"
msgstr ""
@@ -8066,51 +8061,51 @@ msgid ""
" Not matched rules: can_login\n"
msgstr ""
-#: ipaserver/plugins/hbactest.py:256
+#: ipaserver/plugins/hbactest.py:258
msgid "Simulate use of Host-based access controls"
msgstr ""
-#: ipaserver/plugins/hbactest.py:281
+#: ipaserver/plugins/hbactest.py:283
msgid "Target host"
msgstr ""
-#: ipaserver/plugins/hbactest.py:289
+#: ipaserver/plugins/hbactest.py:291
msgid "Rules to test. If not specified, --enabled is assumed"
msgstr ""
-#: ipaserver/plugins/hbactest.py:293
+#: ipaserver/plugins/hbactest.py:295
msgid "Hide details which rules are matched, not matched, or invalid"
msgstr ""
-#: ipaserver/plugins/hbactest.py:297
+#: ipaserver/plugins/hbactest.py:299
msgid "Include all enabled IPA rules into test [default]"
msgstr ""
-#: ipaserver/plugins/hbactest.py:301
+#: ipaserver/plugins/hbactest.py:303
msgid "Include all disabled IPA rules into test"
msgstr ""
-#: ipaserver/plugins/hbactest.py:305
+#: ipaserver/plugins/hbactest.py:307
msgid "Maximum number of rules to process when no --rules is specified"
msgstr ""
-#: ipaserver/plugins/hbactest.py:260
+#: ipaserver/plugins/hbactest.py:262
msgid "Warning"
msgstr ""
-#: ipaserver/plugins/hbactest.py:261
+#: ipaserver/plugins/hbactest.py:263
msgid "Matched rules"
msgstr ""
-#: ipaserver/plugins/hbactest.py:262
+#: ipaserver/plugins/hbactest.py:264
msgid "Not matched rules"
msgstr ""
-#: ipaserver/plugins/hbactest.py:263
+#: ipaserver/plugins/hbactest.py:265
msgid "Non-existent or invalid rules"
msgstr ""
-#: ipaserver/plugins/hbactest.py:264
+#: ipaserver/plugins/hbactest.py:266
msgid "Result of simulation"
msgstr ""
@@ -8281,15 +8276,16 @@ msgstr ""
msgid "First RID of the secondary RID range"
msgstr ""
-#: ipaserver/plugins/idrange.py:246 ipaserver/plugins/idrange.py:657
+#: ipaserver/plugins/idrange.py:246 ipaserver/plugins/idrange.py:683
msgid "Domain SID of the trusted domain"
msgstr ""
-#: ipaserver/plugins/idrange.py:251 ipaserver/plugins/idrange.py:665
+#: ipaserver/plugins/idrange.py:251 ipaserver/plugins/idrange.py:691
msgid "Name of the trusted domain"
msgstr ""
-#: ipaserver/plugins/idrange.py:254 ipaserver/plugins/internal.py:1274
+#: ipaserver/plugins/idrange.py:254 ipaserver/plugins/trust.py:716
+#: ipaserver/plugins/internal.py:1274
msgid "Range type"
msgstr ""
@@ -8335,18 +8331,18 @@ msgid ""
" "
msgstr ""
-#: ipaserver/plugins/idrange.py:558
+#: ipaserver/plugins/idrange.py:569
msgid "Delete an ID range."
msgstr ""
-#: ipaserver/plugins/idrange.py:606
+#: ipaserver/plugins/idrange.py:632
msgid "Search for ranges."
msgstr ""
msgid "Modify ID range."
msgstr ""
-#: ipaserver/plugins/idrange.py:629
+#: ipaserver/plugins/idrange.py:655
msgid "Display information about a range."
msgstr ""
@@ -8885,11 +8881,11 @@ msgid ""
"Group\"\n"
msgstr ""
-#: ipaserver/plugins/trust.py:1589 ipaserver/plugins/internal.py:1565
+#: ipaserver/plugins/trust.py:1591 ipaserver/plugins/internal.py:1565
msgid "Domain NetBIOS name"
msgstr ""
-#: ipaserver/plugins/trust.py:1592 ipaserver/plugins/internal.py:1566
+#: ipaserver/plugins/trust.py:1594 ipaserver/plugins/internal.py:1566
msgid "Domain Security Identifier"
msgstr ""
@@ -8911,7 +8907,7 @@ msgstr ""
msgid "Fallback primary group"
msgstr ""
-#: ipaserver/plugins/certmap.py:298 ipaserver/plugins/trust.py:1584
+#: ipaserver/plugins/certmap.py:298 ipaserver/plugins/trust.py:1586
msgid "Domain name"
msgstr ""
@@ -8948,15 +8944,15 @@ msgstr ""
msgid "Trust type (ad for Active Directory, default)"
msgstr ""
-#: ipaserver/plugins/trust.py:1802
+#: ipaserver/plugins/trust.py:1804
msgid "Active Directory domain administrator"
msgstr ""
-#: ipaserver/plugins/trust.py:1806
+#: ipaserver/plugins/trust.py:1808
msgid "Active Directory domain administrator's password"
msgstr ""
-#: ipaserver/plugins/trust.py:1811
+#: ipaserver/plugins/trust.py:1813
msgid "Domain controller for the Active Directory domain (optional)"
msgstr ""
@@ -9030,13 +9026,13 @@ 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
+#: 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)"
msgstr ""
-#: ipaserver/plugins/pkinit.py:80 ipaserver/plugins/serverrole.py:132
-#: ipaserver/plugins/baseldap.py:1987 ipaserver/plugins/cert.py:1575
+#: ipaserver/plugins/serverrole.py:132 ipaserver/plugins/baseldap.py:1987
+#: ipaserver/plugins/cert.py:1575
msgid "Maximum number of entries returned (0 is unlimited)"
msgstr ""
@@ -9288,11 +9284,11 @@ msgstr ""
msgid "Show IPA server."
msgstr ""
-#: ipaserver/plugins/service.py:1199
+#: ipaserver/plugins/service.py:1200
msgid "Add new certificates to a service"
msgstr ""
-#: ipaserver/plugins/service.py:1206
+#: ipaserver/plugins/service.py:1207
msgid "Remove certificates from a service"
msgstr ""
@@ -9901,31 +9897,31 @@ msgstr ""
msgid "Vault public key"
msgstr ""
-#: ipaserver/plugins/vault.py:620
+#: ipaserver/plugins/vault.py:621
msgid "Owner users"
msgstr ""
-#: ipaserver/plugins/vault.py:625
+#: ipaserver/plugins/vault.py:626
msgid "Owner groups"
msgstr ""
-#: ipaserver/plugins/vault.py:630
+#: ipaserver/plugins/vault.py:631
msgid "Owner services"
msgstr ""
-#: ipaserver/plugins/vault.py:325 ipaserver/plugins/vault.py:635
+#: ipaserver/plugins/vault.py:326 ipaserver/plugins/vault.py:636
msgid "Failed owners"
msgstr ""
-#: ipaserver/plugins/vault.py:640
+#: ipaserver/plugins/vault.py:641
msgid "Vault service"
msgstr ""
-#: ipaserver/plugins/vault.py:334 ipaserver/plugins/vault.py:645
+#: ipaserver/plugins/vault.py:335 ipaserver/plugins/vault.py:646
msgid "Shared vault"
msgstr ""
-#: ipaserver/plugins/vault.py:650
+#: ipaserver/plugins/vault.py:651
msgid "Vault user"
msgstr ""
@@ -9953,15 +9949,15 @@ msgstr ""
msgid "owner service"
msgstr ""
-#: ipaserver/plugins/vault.py:1211
+#: ipaserver/plugins/vault.py:1225
msgid "Owners that could not be added"
msgstr ""
-#: ipaserver/plugins/vault.py:1216
+#: ipaserver/plugins/vault.py:1230
msgid "Number of owners added"
msgstr ""
-#: ipaserver/plugins/vault.py:1127
+#: ipaserver/plugins/vault.py:1135
msgid "Session key wrapped with transport certificate"
msgstr ""
@@ -9989,11 +9985,11 @@ msgstr ""
msgid "Remove owners from a vault."
msgstr ""
-#: ipaserver/plugins/vault.py:1236
+#: ipaserver/plugins/vault.py:1250
msgid "Owners that could not be removed"
msgstr ""
-#: ipaserver/plugins/vault.py:1241
+#: ipaserver/plugins/vault.py:1255
msgid "Number of owners removed"
msgstr ""
@@ -10373,307 +10369,17 @@ msgid ""
"Force DNS zone creation even if nameserver is not resolvable. (Deprecated)"
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\n"
-"ame, 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 ""
-"\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 --"
-"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 --"
-"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 --"
-"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 --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 --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 --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 ""
-
msgid "Managed suffixes"
msgstr ""
msgid "Check connection to remote IPA server."
msgstr ""
-#: ipaserver/plugins/trust.py:1852
+#: ipaserver/plugins/trust.py:1854
msgid "Remote server name"
msgstr ""
-#: ipaserver/plugins/trust.py:1853
+#: ipaserver/plugins/trust.py:1855
msgid "Remote IPA server hostname"
msgstr ""
@@ -10901,97 +10607,6 @@ msgstr ""
msgid "Comma-separated list of attributes"
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"
-"\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"
-msgstr ""
-
msgid ""
"\n"
"IPA certificate operations\n"
@@ -11611,114 +11226,6 @@ msgstr ""
msgid "Re-sync the local entitlement cache with the entitlement server."
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 a list of users to the \"localadmins\" group:\n"
-" ipa group-add-member --users=test1,test2 localadmins\n"
-"\n"
-" Remove a user from the \"localadmins\" group:\n"
-" ipa group-remove-member --users=test2 localadmins\n"
-"\n"
-" Display information about a named group.\n"
-" ipa group-show localadmins\n"
-"\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\n"
-"ame, 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 ""
-"comma-separated list of members of a trusted domain in DOM\\name or "
-"name@domain form"
-msgstr ""
-
-msgid "comma-separated list of users to add"
-msgstr ""
-
-msgid "comma-separated list of groups to add"
-msgstr ""
-
-msgid "comma-separated list of users to remove"
-msgstr ""
-
-msgid "comma-separated list of groups to remove"
-msgstr ""
-
msgid ""
"\n"
"Host-based access control\n"
@@ -11800,6 +11307,12 @@ msgstr ""
msgid "Add source hosts and hostgroups from a HBAC rule."
msgstr ""
+msgid "comma-separated list of users to add"
+msgstr ""
+
+msgid "comma-separated list of groups to add"
+msgstr ""
+
msgid "comma-separated list of hosts to remove"
msgstr ""
@@ -11816,6 +11329,12 @@ msgstr ""
msgid "Remove source hosts and hostgroups from an HBAC rule."
msgstr ""
+msgid "comma-separated list of users to remove"
+msgstr ""
+
+msgid "comma-separated list of groups to remove"
+msgstr ""
+
msgid ""
"\n"
"HBAC Service Groups\n"
@@ -11958,7 +11477,7 @@ msgid ""
" matched: allow_all\n"
msgstr ""
-#: ipaserver/plugins/hbactest.py:276
+#: ipaserver/plugins/hbactest.py:278
msgid "Source host"
msgstr ""
@@ -12358,9 +11877,6 @@ msgstr ""
msgid "comma-separated list of sudo commands to remove"
msgstr ""
-msgid "Active directory domain administrator's password"
-msgstr ""
-
msgid "GECOS field"
msgstr ""
@@ -12591,6 +12107,196 @@ msgstr ""
msgid "comma-separated list of sudo command groups to remove"
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"
+"\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"
+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 a list of users to the \"localadmins\" group:\n"
+" ipa group-add-member --users=test1,test2 localadmins\n"
+"\n"
+" Remove a user from the \"localadmins\" group:\n"
+" ipa group-remove-member --users=test2 localadmins\n"
+"\n"
+" Display information about a named group.\n"
+" ipa group-show localadmins\n"
+"\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 ""
+"comma-separated list of members of a trusted domain in DOM\\name or "
+"name@domain form"
+msgstr ""
+
+msgid "Active directory domain administrator's password"
+msgstr ""
+
#: ipaclient/frontend.py:28 ipaclient/frontend.py:90
#: ipaserver/plugins/baseldap.py:53
msgid "Failed members"
@@ -12667,60 +12373,6 @@ msgstr ""
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'"
@@ -13174,18 +12826,6 @@ msgid ""
"prevents a trust to '%(conflict)s'"
msgstr ""
-#: ipalib/misc.py:22
-#, python-format
-msgid "%(count)d variables"
-msgstr ""
-
-#: ipalib/misc.py:96
-#, python-format
-msgid "%(count)d plugin loaded"
-msgid_plural "%(count)d plugins loaded"
-msgstr[0] ""
-msgstr[1] ""
-
#: ipalib/messages.py:84
msgid "Additional instructions:"
msgstr ""
@@ -13377,6 +13017,72 @@ msgstr ""
msgid "The permission has %(right)s rights but no attributes are set."
msgstr ""
+#: ipalib/misc.py:22
+#, python-format
+msgid "%(count)d variables"
+msgstr ""
+
+#: ipalib/misc.py:96
+#, python-format
+msgid "%(count)d plugin loaded"
+msgid_plural "%(count)d plugins loaded"
+msgstr[0] ""
+msgstr[1] ""
+
+#: 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/frontend.py:425
msgid "Results are truncated, try a more specific search"
msgstr ""
@@ -13740,7 +13446,7 @@ msgstr ""
msgid "Retrieving CA status failed with status %d"
msgstr ""
-#: ipapython/ipaldap.py:1198
+#: ipapython/ipaldap.py:1207
#, python-format
msgid "objectclass %s not found"
msgstr ""
@@ -13759,49 +13465,6 @@ msgstr ""
msgid "Failed to authenticate to CA REST API"
msgstr ""
-#: ipaserver/plugins/delegation.py:67
-msgid "delegation"
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:68
-msgid "delegations"
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:69
-msgid "Delegations"
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:70
-msgid "Delegation"
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:101 ipaserver/plugins/selfservice.py:94
-#: ipaserver/plugins/aci.py:514 ipaserver/plugins/permission.py:360
-msgid "ACI"
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:132
-#, python-format
-msgid "Added delegation \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:153
-#, python-format
-msgid "Deleted delegation \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:170
-#, python-format
-msgid "Modified delegation \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/delegation.py:189
-#, python-format
-msgid "%(count)d delegation matched"
-msgid_plural "%(count)d delegations matched"
-msgstr[0] ""
-msgstr[1] ""
-
#: ipaserver/plugins/dnsserver.py:35
msgid ""
"\n"
@@ -14089,6 +13752,188 @@ msgstr ""
msgid "OTP Configuration"
msgstr ""
+#: ipaserver/plugins/sudo.py:7
+msgid "commands for controlling sudo configuration"
+msgstr ""
+
+#: ipaserver/plugins/sudocmdgroup.py:34
+msgid ""
+"\n"
+"Groups of Sudo Commands\n"
+"\n"
+"Manage groups of Sudo Commands.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new Sudo Command Group:\n"
+" ipa sudocmdgroup-add --desc='administrators commands' admincmds\n"
+"\n"
+" Remove a Sudo Command Group:\n"
+" ipa sudocmdgroup-del admincmds\n"
+"\n"
+" Manage Sudo Command Group membership, commands:\n"
+" ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/"
+"vim admincmds\n"
+"\n"
+" Manage Sudo Command Group membership, commands:\n"
+" ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds\n"
+"\n"
+" Show a Sudo Command Group:\n"
+" ipa sudocmdgroup-show admincmds\n"
+msgstr ""
+
+#: ipaserver/plugins/sudocmdgroup.py:67
+msgid "sudo command group"
+msgstr ""
+
+#: ipaserver/plugins/sudocmdgroup.py:68
+msgid "sudo command groups"
+msgstr ""
+
+#: ipaserver/plugins/sudocmdgroup.py:149
+#, python-format
+msgid "Added Sudo Command Group \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/sudocmdgroup.py:157
+#, python-format
+msgid "Deleted Sudo Command Group \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/sudocmdgroup.py:165
+#, python-format
+msgid "Modified Sudo Command Group \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/sudocmdgroup.py:174
+#, python-format
+msgid "%(count)d Sudo Command Group matched"
+msgid_plural "%(count)d Sudo Command Groups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipaserver/plugins/whoami.py:15
+msgid ""
+"\n"
+"Return information about currently authenticated identity\n"
+"\n"
+"Who am I command returns information on how to get\n"
+"more details about the identity authenticated for this\n"
+"request. The information includes:\n"
+"\n"
+" * type of object\n"
+" * command to retrieve details of the object\n"
+" * arguments and options to pass to the command\n"
+"\n"
+"The information is returned as a dictionary. Examples below use\n"
+"'key: value' output for illustrative purposes.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Look up as IPA user:\n"
+" kinit admin\n"
+" ipa console\n"
+" >> api.Command.whoami()\n"
+" ------------------------------------------\n"
+" object: user\n"
+" command: user_show/1\n"
+" arguments: admin\n"
+" ------------------------------------------\n"
+"\n"
+" Look up as a user from a trusted domain:\n"
+" kinit user@AD.DOMAIN\n"
+" ipa console\n"
+" >> api.Command.whoami()\n"
+" ------------------------------------------\n"
+" object: idoverrideuser\n"
+" command: idoverrideuser_show/1\n"
+" arguments: ('default trust view', 'user@ad.domain')\n"
+" ------------------------------------------\n"
+"\n"
+" Look up as a host:\n"
+" kinit -k\n"
+" ipa console\n"
+" >> api.Command.whoami()\n"
+" ------------------------------------------\n"
+" object: host\n"
+" command: host_show/1\n"
+" arguments: ipa.example.com\n"
+" ------------------------------------------\n"
+"\n"
+" Look up as a Kerberos service:\n"
+" kinit -k -t /path/to/keytab HTTP/ipa.example.com\n"
+" ipa console\n"
+" >> api.Command.whoami()\n"
+" ------------------------------------------\n"
+" object: service\n"
+" command: service_show/1\n"
+" arguments: HTTP/ipa.example.com\n"
+" ------------------------------------------\n"
+msgstr ""
+
+#: ipaserver/plugins/whoami.py:77
+msgid "Describe currently authenticated identity."
+msgstr ""
+
+#: ipaserver/plugins/whoami.py:82 ipaserver/plugins/whoami.py:88
+msgid "Object class name"
+msgstr ""
+
+#: ipaserver/plugins/whoami.py:83 ipaserver/plugins/whoami.py:89
+msgid "Function to get details"
+msgstr ""
+
+#: ipaserver/plugins/whoami.py:84 ipaserver/plugins/whoami.py:91
+msgid "Arguments to details function"
+msgstr ""
+
+#: ipaserver/plugins/whoami.py:111
+msgid "Cannot query Directory Manager with API"
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:67
+msgid "delegation"
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:68
+msgid "delegations"
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:69
+msgid "Delegations"
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:70
+msgid "Delegation"
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:101 ipaserver/plugins/selfservice.py:94
+#: ipaserver/plugins/aci.py:514 ipaserver/plugins/permission.py:360
+msgid "ACI"
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:132
+#, python-format
+msgid "Added delegation \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:153
+#, python-format
+msgid "Deleted delegation \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:170
+#, python-format
+msgid "Modified delegation \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/delegation.py:189
+#, python-format
+msgid "%(count)d delegation matched"
+msgid_plural "%(count)d delegations matched"
+msgstr[0] ""
+msgstr[1] ""
+
#: ipaserver/plugins/pkinit.py:13
msgid ""
"\n"
@@ -14379,145 +14224,6 @@ msgstr ""
msgid "IPA role name"
msgstr ""
-#: ipaserver/plugins/sudo.py:7
-msgid "commands for controlling sudo configuration"
-msgstr ""
-
-#: ipaserver/plugins/sudocmdgroup.py:34
-msgid ""
-"\n"
-"Groups of Sudo Commands\n"
-"\n"
-"Manage groups of Sudo Commands.\n"
-"\n"
-"EXAMPLES:\n"
-"\n"
-" Add a new Sudo Command Group:\n"
-" ipa sudocmdgroup-add --desc='administrators commands' admincmds\n"
-"\n"
-" Remove a Sudo Command Group:\n"
-" ipa sudocmdgroup-del admincmds\n"
-"\n"
-" Manage Sudo Command Group membership, commands:\n"
-" ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/"
-"vim admincmds\n"
-"\n"
-" Manage Sudo Command Group membership, commands:\n"
-" ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds\n"
-"\n"
-" Show a Sudo Command Group:\n"
-" ipa sudocmdgroup-show admincmds\n"
-msgstr ""
-
-#: ipaserver/plugins/sudocmdgroup.py:67
-msgid "sudo command group"
-msgstr ""
-
-#: ipaserver/plugins/sudocmdgroup.py:68
-msgid "sudo command groups"
-msgstr ""
-
-#: ipaserver/plugins/sudocmdgroup.py:149
-#, python-format
-msgid "Added Sudo Command Group \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/sudocmdgroup.py:157
-#, python-format
-msgid "Deleted Sudo Command Group \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/sudocmdgroup.py:165
-#, python-format
-msgid "Modified Sudo Command Group \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/sudocmdgroup.py:174
-#, python-format
-msgid "%(count)d Sudo Command Group matched"
-msgid_plural "%(count)d Sudo Command Groups matched"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ipaserver/plugins/whoami.py:15
-msgid ""
-"\n"
-"Return information about currently authenticated identity\n"
-"\n"
-"Who am I command returns information on how to get\n"
-"more details about the identity authenticated for this\n"
-"request. The information includes:\n"
-"\n"
-" * type of object\n"
-" * command to retrieve details of the object\n"
-" * arguments and options to pass to the command\n"
-"\n"
-"The information is returned as a dictionary. Examples below use\n"
-"'key: value' output for illustrative purposes.\n"
-"\n"
-"EXAMPLES:\n"
-"\n"
-" Look up as IPA user:\n"
-" kinit admin\n"
-" ipa console\n"
-" >> api.Command.whoami()\n"
-" ------------------------------------------\n"
-" object: user\n"
-" command: user_show/1\n"
-" arguments: admin\n"
-" ------------------------------------------\n"
-"\n"
-" Look up as a user from a trusted domain:\n"
-" kinit user@AD.DOMAIN\n"
-" ipa console\n"
-" >> api.Command.whoami()\n"
-" ------------------------------------------\n"
-" object: idoverrideuser\n"
-" command: idoverrideuser_show/1\n"
-" arguments: ('default trust view', 'user@ad.domain')\n"
-" ------------------------------------------\n"
-"\n"
-" Look up as a host:\n"
-" kinit -k\n"
-" ipa console\n"
-" >> api.Command.whoami()\n"
-" ------------------------------------------\n"
-" object: host\n"
-" command: host_show/1\n"
-" arguments: ipa.example.com\n"
-" ------------------------------------------\n"
-"\n"
-" Look up as a Kerberos service:\n"
-" kinit -k -t /path/to/keytab HTTP/ipa.example.com\n"
-" ipa console\n"
-" >> api.Command.whoami()\n"
-" ------------------------------------------\n"
-" object: service\n"
-" command: service_show/1\n"
-" arguments: HTTP/ipa.example.com\n"
-" ------------------------------------------\n"
-msgstr ""
-
-#: ipaserver/plugins/whoami.py:77
-msgid "Describe currently authenticated identity."
-msgstr ""
-
-#: ipaserver/plugins/whoami.py:82 ipaserver/plugins/whoami.py:88
-msgid "Object class name"
-msgstr ""
-
-#: ipaserver/plugins/whoami.py:83 ipaserver/plugins/whoami.py:89
-msgid "Function to get details"
-msgstr ""
-
-#: ipaserver/plugins/whoami.py:84 ipaserver/plugins/whoami.py:91
-msgid "Arguments to details function"
-msgstr ""
-
-#: ipaserver/plugins/whoami.py:111
-msgid "Cannot query Directory Manager with API"
-msgstr ""
-
#: ipaserver/plugins/aci.py:165
msgid "A list of ACI values"
msgstr ""
@@ -15026,6 +14732,157 @@ msgstr ""
msgid "Remove orphan automember rules"
msgstr ""
+#: 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:1720
+#: ipaserver/plugins/servicedelegation.py:213
+#: ipaserver/plugins/servicedelegation.py:303
+#, python-format
+msgid "member %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/batch.py:35
msgid ""
"\n"
@@ -15416,7 +15273,7 @@ msgid ""
msgstr ""
#: ipaserver/plugins/certmap.py:141 ipaserver/plugins/certmap.py:148
-#: ipaserver/plugins/certmap.py:175 ipaserver/plugins/trust.py:852
+#: ipaserver/plugins/certmap.py:175 ipaserver/plugins/trust.py:854
msgid "domain"
msgstr ""
@@ -15592,8 +15449,8 @@ msgid_plural "%(count)s users matched"
msgstr[0] ""
msgstr[1] ""
-#: ipaserver/plugins/certmap.py:606 ipaserver/plugins/idviews.py:1069
-#: ipaserver/plugins/baseuser.py:463 ipaserver/plugins/baseuser.py:957
+#: ipaserver/plugins/certmap.py:606 ipaserver/plugins/baseuser.py:463
+#: ipaserver/plugins/baseuser.py:957 ipaserver/plugins/idviews.py:1071
msgid "Base-64 encoded user certificate"
msgstr ""
@@ -15721,1888 +15578,6 @@ msgstr ""
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 ""
-
-#: ipaserver/plugins/hbacrule.py:131
-msgid "HBAC rules"
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:201
-msgid "HBAC Rules"
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:302
-#, python-format
-msgid "Added HBAC rule \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:316
-#, python-format
-msgid "Deleted HBAC rule \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:333
-#, python-format
-msgid "Modified HBAC rule \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:368
-#, python-format
-msgid "%(count)d HBAC rule matched"
-msgid_plural "%(count)d HBAC rules matched"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ipaserver/plugins/hbacrule.py:383
-#, python-format
-msgid "Enabled HBAC rule \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:413
-#, python-format
-msgid "Disabled HBAC rule \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:447 ipaserver/plugins/hbacrule.py:478
-msgid "Access time"
-msgstr ""
-
-#: ipaserver/plugins/hbacrule.py:565
-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/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/migration.py:46
-msgid ""
-"\n"
-"Migration to IPA\n"
-"\n"
-"Migrate users and groups from an LDAP server to IPA.\n"
-"\n"
-"This performs an LDAP query against the remote server searching for\n"
-"users and groups in a container. In order to migrate passwords you need\n"
-"to bind as a user that can read the userPassword attribute on the remote\n"
-"server. This is generally restricted to high-level admins such as\n"
-"cn=Directory Manager in 389-ds (this is the default bind user).\n"
-"\n"
-"The default user container is ou=People.\n"
-"\n"
-"The default group container is ou=Groups.\n"
-"\n"
-"Users and groups that already exist on the IPA server are skipped.\n"
-"\n"
-"Two LDAP schemas define how group members are stored: RFC2307 and\n"
-"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n"
-"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n"
-"\n"
-"The schema compat feature allows IPA to reformat data for systems that\n"
-"do not support RFC2307bis. It is recommended that this feature is disabled\n"
-"during migration to reduce system overhead. It can be re-enabled after\n"
-"migration. To migrate with it enabled use the \"--with-compat\" option.\n"
-"\n"
-"Migrated users do not have Kerberos credentials, they have only their\n"
-"LDAP password. To complete the migration process, users need to go\n"
-"to http://ipa.example.com/ipa/migration and authenticate using their\n"
-"LDAP password in order to generate their Kerberos credentials.\n"
-"\n"
-"Migration is disabled by default. Use the command ipa config-mod to\n"
-"enable it:\n"
-"\n"
-" ipa config-mod --enable-migration=TRUE\n"
-"\n"
-"If a base DN is not provided with --basedn then IPA will use either\n"
-"the value of defaultNamingContext if it is set or the first value\n"
-"in namingContexts set in the root of the remote LDAP server.\n"
-"\n"
-"Users are added as members to the default user group. This can be a\n"
-"time-intensive task so during migration this is done in a batch\n"
-"mode for every 100 users. As a result there will be a window in which\n"
-"users will be added to IPA but will not be members of the default\n"
-"user group.\n"
-"\n"
-"EXAMPLES:\n"
-"\n"
-" The simplest migration, accepting all defaults:\n"
-" ipa migrate-ds ldap://ds.example.com:389\n"
-"\n"
-" Specify the user and group container. This can be used to migrate user\n"
-" and group data from an IPA v1 server:\n"
-" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n"
-" --group-container='cn=groups,cn=accounts' \\\n"
-" ldap://ds.example.com:389\n"
-"\n"
-" Since IPA v2 server already contain predefined groups that may collide "
-"with\n"
-" groups in migrated (IPA v1) server (for example admins, ipausers), users\n"
-" having colliding group as their primary group may happen to belong to\n"
-" an unknown group on new IPA v2 server.\n"
-" Use --group-overwrite-gid option to overwrite GID of already existing "
-"groups\n"
-" to prevent this issue:\n"
-" ipa migrate-ds --group-overwrite-gid \\\n"
-" --user-container='cn=users,cn=accounts' \\\n"
-" --group-container='cn=groups,cn=accounts' \\\n"
-" ldap://ds.example.com:389\n"
-"\n"
-" Migrated users or groups may have object class and accompanied attributes\n"
-" unknown to the IPA v2 server. These object classes and attributes may be\n"
-" left out of the migration process:\n"
-" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n"
-" --group-container='cn=groups,cn=accounts' \\\n"
-" --user-ignore-objectclass=radiusprofile \\\n"
-" --user-ignore-attribute=radiusgroupname \\\n"
-" ldap://ds.example.com:389\n"
-"\n"
-"LOGGING\n"
-"\n"
-"Migration will log warnings and errors to the Apache error log. This\n"
-"file should be evaluated post-migration to correct or investigate any\n"
-"issues that were discovered.\n"
-"\n"
-"For every 100 users migrated an info-level message will be displayed to\n"
-"give the current progress and duration to make it possible to track\n"
-"the progress of migration.\n"
-"\n"
-"If the log level is debug, either by setting debug = True in\n"
-"/etc/ipa/default.conf or /etc/ipa/server.conf, then an entry will be "
-"printed\n"
-"for each user added plus a summary when the default user group is\n"
-"updated.\n"
-msgstr ""
-
-#: ipaserver/plugins/migration.py:145
-#, python-format
-msgid ""
-"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually."
-msgstr ""
-
-#: ipaserver/plugins/migration.py:146
-#, python-format
-msgid ""
-"Unable to determine if Kerberos principal %s already exists. Use 'ipa user-"
-"mod' to set it manually."
-msgstr ""
-
-#: ipaserver/plugins/migration.py:147
-msgid ""
-"Failed to add user to the default group. Use 'ipa group-add-member' to add "
-"manually."
-msgstr ""
-
-#: ipaserver/plugins/migration.py:148
-msgid "Migration of LDAP search reference is not supported."
-msgstr ""
-
-#: ipaserver/plugins/migration.py:149
-msgid "Malformed DN"
-msgstr ""
-
-#: ipaserver/plugins/migration.py:194
-#, python-format
-msgid "%(user)s is not a POSIX user"
-msgstr ""
-
-#: ipaserver/plugins/migration.py:461
-msgid ""
-". Check GID of the existing group. Use --group-overwrite-gid option to "
-"overwrite the GID"
-msgstr ""
-
-#: ipaserver/plugins/migration.py:476
-msgid "Invalid LDAP URI."
-msgstr ""
-
-#: ipaserver/plugins/migration.py:678
-#, python-format
-msgid "%s to exclude from migration"
-msgstr ""
-
-#: ipaserver/plugins/migration.py:680
-msgid ""
-"search results for objects to be migrated\n"
-"have been truncated by the server;\n"
-"migration process might be incomplete\n"
-msgstr ""
-
-#: ipaserver/plugins/migration.py:769
-#, python-format
-msgid ""
-"%(container)s LDAP search did not return any result (search base: "
-"%(search_base)s, objectclass: %(objectclass)s)"
-msgstr ""
-
-#: ipaserver/plugins/migration.py:804 ipaserver/plugins/user.py:619
-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 ""
-
-#: ipaserver/plugins/selinuxusermap.py:128
-msgid "Invalid SELinux user name, must match {}"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:142
-#, python-brace-format
-msgid "Invalid MLS value, must match {mls}, where max level {mls_max}"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:147
-#, python-brace-format
-msgid "Invalid MCS value, must match {mcs}, where max category {mcs_max}"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:161
-msgid "SELinux user map list not found in configuration"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:166
-#, python-format
-msgid "SELinux user %(user)s not found in ordering list (in config)"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:176
-msgid "SELinux User Map rule"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:177
-msgid "SELinux User Map rules"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:233
-msgid "SELinux User Maps"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:234
-msgid "SELinux User Map"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:309
-#, python-format
-msgid "HBAC rule %(rule)s not found"
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:330
-#, python-format
-msgid "Added SELinux User Map \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:368
-#, python-format
-msgid "Deleted SELinux User Map \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:376
-#, python-format
-msgid "Modified SELinux User Map \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:449
-#, python-format
-msgid "%(count)d SELinux User Map matched"
-msgid_plural "%(count)d SELinux User Maps matched"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ipaserver/plugins/selinuxusermap.py:499
-#, python-format
-msgid "Enabled SELinux User Map \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/selinuxusermap.py:529
-#, python-format
-msgid "Disabled SELinux User Map \"%(value)s\""
-msgstr ""
-
-#: ipaserver/plugins/serverroles.py:84
-#, python-brace-format
-msgid "{role}: role not found"
-msgstr ""
-
-#: ipaserver/plugins/serverroles.py:178
-#, python-brace-format
-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/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/dns.py:100
msgid ""
"\n"
@@ -18442,7 +16417,7 @@ msgstr ""
msgid "IPA DNS version"
msgstr ""
-#: ipaserver/plugins/dns.py:4128 ipaserver/plugins/config.py:336
+#: ipaserver/plugins/dns.py:4128 ipaserver/plugins/config.py:337
msgid "IPA DNS servers"
msgstr ""
@@ -18450,7 +16425,7 @@ msgstr ""
msgid "List of IPA masters configured as DNS servers"
msgstr ""
-#: ipaserver/plugins/dns.py:4134 ipaserver/plugins/config.py:348
+#: ipaserver/plugins/dns.py:4134 ipaserver/plugins/config.py:349
msgid "IPA DNSSec key master"
msgstr ""
@@ -18521,256 +16496,610 @@ msgstr ""
msgid "Do not update records only return expected records"
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
+#: ipaserver/plugins/domainlevel.py:69
+#, python-brace-format
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."
+"Domain Level cannot be raised to {0}, existing replication conflicts have to "
+"be resolved."
msgstr ""
-#: ipaserver/plugins/idviews.py:603
-msgid "IPA object"
+#: ipaserver/plugins/domainlevel.py:112
+msgid "Server does not support domain level functionality"
msgstr ""
-#: ipaserver/plugins/idviews.py:604
+#: 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 ""
+
+#: ipaserver/plugins/hbacrule.py:131
+msgid "HBAC rules"
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:201
+msgid "HBAC Rules"
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:302
+#, python-format
+msgid "Added HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:316
+#, python-format
+msgid "Deleted HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:333
+#, python-format
+msgid "Modified HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:368
+#, python-format
+msgid "%(count)d HBAC rule matched"
+msgid_plural "%(count)d HBAC rules matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipaserver/plugins/hbacrule.py:383
+#, python-format
+msgid "Enabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:413
+#, python-format
+msgid "Disabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:447 ipaserver/plugins/hbacrule.py:478
+msgid "Access time"
+msgstr ""
+
+#: ipaserver/plugins/hbacrule.py:565
+msgid "Add source hosts and hostgroups to an HBAC rule."
+msgstr ""
+
+#: ipaserver/plugins/hostgroup.py:35
msgid ""
-"system IPA objects (e.g. system groups, user private groups) cannot be "
-"overridden"
+"\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/idviews.py:698
+#: 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 "Anchor '%(anchor)s' could not be resolved."
+msgid "Added hostgroup \"%(value)s\""
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
+#: ipaserver/plugins/hostgroup.py:239
#, python-format
-msgid "Added ID override \"%(value)s\""
+msgid ""
+"netgroup with name \"%s\" already exists. Hostgroups and netgroups share a "
+"common namespace"
msgstr ""
-#: ipaserver/plugins/idviews.py:912
-msgid "Delete an ID override."
-msgstr ""
-
-#: ipaserver/plugins/idviews.py:913
+#: ipaserver/plugins/hostgroup.py:262
#, python-format
-msgid "Deleted ID override \"%(value)s\""
+msgid "Deleted hostgroup \"%(value)s\""
msgstr ""
-#: ipaserver/plugins/idviews.py:936
-msgid "Modify an ID override."
+#: ipaserver/plugins/hostgroup.py:266 ipaserver/plugins/hostgroup.py:284
+#: ipaserver/plugins/hostgroup.py:349
+msgid "hostgroup"
msgstr ""
-#: ipaserver/plugins/idviews.py:937
+#: ipaserver/plugins/hostgroup.py:268 ipaserver/plugins/hostgroup.py:286
+msgid "privileged hostgroup"
+msgstr ""
+
+#: ipaserver/plugins/hostgroup.py:278
#, python-format
-msgid "Modified an ID override \"%(value)s\""
+msgid "Modified hostgroup \"%(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/hostgroup.py:303
#, python-format
-msgid "%(count)d ID override matched"
-msgid_plural "%(count)d ID overrides matched"
+msgid "%(count)d hostgroup matched"
+msgid_plural "%(count)d hostgroups matched"
msgstr[0] ""
msgstr[1] ""
-#: ipaserver/plugins/idviews.py:970
-msgid "Display information about an ID override."
+#: ipaserver/plugins/hostgroup.py:362
+msgid "Add users that can manage members of this hostgroup."
msgstr ""
-#: ipaserver/plugins/idviews.py:982 ipaserver/plugins/idviews.py:986
-msgid "User ID override"
+#: ipaserver/plugins/hostgroup.py:372
+msgid "Remove users that can manage members of this hostgroup."
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/join.py:125
#, python-format
-msgid "Added certificates to idoverrideuser \"%(value)s\""
+msgid ""
+"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry "
+"'%s'."
msgstr ""
-#: ipaserver/plugins/idviews.py:1173
-msgid "Remove one or more certificates to the idoverrideuser entry"
+#: ipaserver/plugins/ldap2.py:278
+msgid "Could not read UPG Definition originfilter. Check your permissions."
msgstr ""
-#: ipaserver/plugins/idviews.py:1174
+#: 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 "Removed certificates from idoverrideuser \"%(value)s\""
+msgid "Added IPA location \"%(value)s\""
msgstr ""
-#: ipaserver/plugins/idviews.py:1198
-#, python-format
-msgid "Added User ID override \"%(value)s\""
+#: ipaserver/plugins/location.py:145
+msgid "Delete an IPA location."
msgstr ""
-#: ipaserver/plugins/idviews.py:1223
+#: ipaserver/plugins/location.py:147
#, python-format
-msgid "Deleted User ID override \"%(value)s\""
+msgid "Deleted IPA location \"%(value)s\""
msgstr ""
-#: ipaserver/plugins/idviews.py:1229
-#, python-format
-msgid "Modified an User ID override \"%(value)s\""
+#: ipaserver/plugins/location.py:157 ipaserver/plugins/server.py:71
+#: ipaserver/plugins/internal.py:1976
+msgid "IPA Server"
msgstr ""
-#: ipaserver/plugins/idviews.py:1261
+#: ipaserver/plugins/location.py:170
+msgid "Modify information about an IPA location."
+msgstr ""
+
+#: ipaserver/plugins/location.py:172
#, python-format
-msgid "%(count)d User ID override matched"
-msgid_plural "%(count)d User ID overrides matched"
+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/idviews.py:1297
-#, python-format
-msgid "Added Group ID override \"%(value)s\""
+#: ipaserver/plugins/location.py:187
+msgid "Display information about an IPA location."
msgstr ""
-#: ipaserver/plugins/idviews.py:1303
-#, python-format
-msgid "Deleted Group ID override \"%(value)s\""
+#: ipaserver/plugins/location.py:193
+msgid "Servers in location"
msgstr ""
-#: ipaserver/plugins/idviews.py:1309
-#, python-format
-msgid "Modified an Group ID override \"%(value)s\""
+#: ipaserver/plugins/migration.py:46
+msgid ""
+"\n"
+"Migration to IPA\n"
+"\n"
+"Migrate users and groups from an LDAP server to IPA.\n"
+"\n"
+"This performs an LDAP query against the remote server searching for\n"
+"users and groups in a container. In order to migrate passwords you need\n"
+"to bind as a user that can read the userPassword attribute on the remote\n"
+"server. This is generally restricted to high-level admins such as\n"
+"cn=Directory Manager in 389-ds (this is the default bind user).\n"
+"\n"
+"The default user container is ou=People.\n"
+"\n"
+"The default group container is ou=Groups.\n"
+"\n"
+"Users and groups that already exist on the IPA server are skipped.\n"
+"\n"
+"Two LDAP schemas define how group members are stored: RFC2307 and\n"
+"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n"
+"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n"
+"\n"
+"The schema compat feature allows IPA to reformat data for systems that\n"
+"do not support RFC2307bis. It is recommended that this feature is disabled\n"
+"during migration to reduce system overhead. It can be re-enabled after\n"
+"migration. To migrate with it enabled use the \"--with-compat\" option.\n"
+"\n"
+"Migrated users do not have Kerberos credentials, they have only their\n"
+"LDAP password. To complete the migration process, users need to go\n"
+"to http://ipa.example.com/ipa/migration and authenticate using their\n"
+"LDAP password in order to generate their Kerberos credentials.\n"
+"\n"
+"Migration is disabled by default. Use the command ipa config-mod to\n"
+"enable it:\n"
+"\n"
+" ipa config-mod --enable-migration=TRUE\n"
+"\n"
+"If a base DN is not provided with --basedn then IPA will use either\n"
+"the value of defaultNamingContext if it is set or the first value\n"
+"in namingContexts set in the root of the remote LDAP server.\n"
+"\n"
+"Users are added as members to the default user group. This can be a\n"
+"time-intensive task so during migration this is done in a batch\n"
+"mode for every 100 users. As a result there will be a window in which\n"
+"users will be added to IPA but will not be members of the default\n"
+"user group.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" The simplest migration, accepting all defaults:\n"
+" ipa migrate-ds ldap://ds.example.com:389\n"
+"\n"
+" Specify the user and group container. This can be used to migrate user\n"
+" and group data from an IPA v1 server:\n"
+" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n"
+" --group-container='cn=groups,cn=accounts' \\\n"
+" ldap://ds.example.com:389\n"
+"\n"
+" Since IPA v2 server already contain predefined groups that may collide "
+"with\n"
+" groups in migrated (IPA v1) server (for example admins, ipausers), users\n"
+" having colliding group as their primary group may happen to belong to\n"
+" an unknown group on new IPA v2 server.\n"
+" Use --group-overwrite-gid option to overwrite GID of already existing "
+"groups\n"
+" to prevent this issue:\n"
+" ipa migrate-ds --group-overwrite-gid \\\n"
+" --user-container='cn=users,cn=accounts' \\\n"
+" --group-container='cn=groups,cn=accounts' \\\n"
+" ldap://ds.example.com:389\n"
+"\n"
+" Migrated users or groups may have object class and accompanied attributes\n"
+" unknown to the IPA v2 server. These object classes and attributes may be\n"
+" left out of the migration process:\n"
+" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n"
+" --group-container='cn=groups,cn=accounts' \\\n"
+" --user-ignore-objectclass=radiusprofile \\\n"
+" --user-ignore-attribute=radiusgroupname \\\n"
+" ldap://ds.example.com:389\n"
+"\n"
+"LOGGING\n"
+"\n"
+"Migration will log warnings and errors to the Apache error log. This\n"
+"file should be evaluated post-migration to correct or investigate any\n"
+"issues that were discovered.\n"
+"\n"
+"For every 100 users migrated an info-level message will be displayed to\n"
+"give the current progress and duration to make it possible to track\n"
+"the progress of migration.\n"
+"\n"
+"If the log level is debug, either by setting debug = True in\n"
+"/etc/ipa/default.conf or /etc/ipa/server.conf, then an entry will be "
+"printed\n"
+"for each user added plus a summary when the default user group is\n"
+"updated.\n"
msgstr ""
-#: ipaserver/plugins/idviews.py:1315
+#: ipaserver/plugins/migration.py:145
#, python-format
-msgid "%(count)d Group ID override matched"
-msgid_plural "%(count)d Group ID overrides matched"
+msgid ""
+"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually."
+msgstr ""
+
+#: ipaserver/plugins/migration.py:146
+#, python-format
+msgid ""
+"Unable to determine if Kerberos principal %s already exists. Use 'ipa user-"
+"mod' to set it manually."
+msgstr ""
+
+#: ipaserver/plugins/migration.py:147
+msgid ""
+"Failed to add user to the default group. Use 'ipa group-add-member' to add "
+"manually."
+msgstr ""
+
+#: ipaserver/plugins/migration.py:148
+msgid "Migration of LDAP search reference is not supported."
+msgstr ""
+
+#: ipaserver/plugins/migration.py:149
+msgid "Malformed DN"
+msgstr ""
+
+#: ipaserver/plugins/migration.py:194
+#, python-format
+msgid "%(user)s is not a POSIX user"
+msgstr ""
+
+#: ipaserver/plugins/migration.py:461
+msgid ""
+". Check GID of the existing group. Use --group-overwrite-gid option to "
+"overwrite the GID"
+msgstr ""
+
+#: ipaserver/plugins/migration.py:476
+msgid "Invalid LDAP URI."
+msgstr ""
+
+#: ipaserver/plugins/migration.py:678
+#, python-format
+msgid "%s to exclude from migration"
+msgstr ""
+
+#: ipaserver/plugins/migration.py:680
+msgid ""
+"search results for objects to be migrated\n"
+"have been truncated by the server;\n"
+"migration process might be incomplete\n"
+msgstr ""
+
+#: ipaserver/plugins/migration.py:769
+#, python-format
+msgid ""
+"%(container)s LDAP search did not return any result (search base: "
+"%(search_base)s, objectclass: %(objectclass)s)"
+msgstr ""
+
+#: ipaserver/plugins/migration.py:804 ipaserver/plugins/user.py:619
+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/permission.py:41
msgid ""
"\n"
@@ -19034,6 +17363,396 @@ msgid_plural "%(count)d permissions matched"
msgstr[0] ""
msgstr[1] ""
+#: 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/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:485
+msgid ""
+"Minimum length must be >= 6 if maxrepeat, maxsequence, dictcheck or "
+"usercheck are defined"
+msgstr ""
+
+#: ipaserver/plugins/pwpolicy.py:511
+msgid "Maximum password life must be equal to or greater than the minimum."
+msgstr ""
+
+#: ipaserver/plugins/pwpolicy.py:571
+msgid "cannot delete global password policy"
+msgstr ""
+
+#: ipaserver/plugins/pwpolicy.py:607
+msgid "priority cannot be set on global policy"
+msgstr ""
+
+#: 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 ""
+
+#: ipaserver/plugins/selinuxusermap.py:128
+msgid "Invalid SELinux user name, must match {}"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:142
+#, python-brace-format
+msgid "Invalid MLS value, must match {mls}, where max level {mls_max}"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:147
+#, python-brace-format
+msgid "Invalid MCS value, must match {mcs}, where max category {mcs_max}"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:161
+msgid "SELinux user map list not found in configuration"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:166
+#, python-format
+msgid "SELinux user %(user)s not found in ordering list (in config)"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:176
+msgid "SELinux User Map rule"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:177
+msgid "SELinux User Map rules"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:233
+msgid "SELinux User Maps"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:234
+msgid "SELinux User Map"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:309
+#, python-format
+msgid "HBAC rule %(rule)s not found"
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:330
+#, python-format
+msgid "Added SELinux User Map \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:368
+#, python-format
+msgid "Deleted SELinux User Map \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:376
+#, python-format
+msgid "Modified SELinux User Map \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:449
+#, python-format
+msgid "%(count)d SELinux User Map matched"
+msgid_plural "%(count)d SELinux User Maps matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipaserver/plugins/selinuxusermap.py:499
+#, python-format
+msgid "Enabled SELinux User Map \"%(value)s\""
+msgstr ""
+
+#: ipaserver/plugins/selinuxusermap.py:529
+#, python-format
+msgid "Disabled SELinux User Map \"%(value)s\""
+msgstr ""
+
#: ipaserver/plugins/server.py:36
msgid ""
"\n"
@@ -19233,7 +17952,7 @@ msgstr ""
msgid "Following segments were not deleted:"
msgstr ""
-#: ipaserver/plugins/server.py:927 ipaserver/plugins/trust.py:1869
+#: ipaserver/plugins/server.py:927 ipaserver/plugins/trust.py:1871
#, python-format
msgid "must be \"%s\""
msgstr ""
@@ -19272,1080 +17991,669 @@ msgstr ""
msgid "Cannot hide last enabled %(name)s server."
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
+#: ipaserver/plugins/serverroles.py:84
#, python-brace-format
-msgid "invalid SID: {SID}"
+msgid "{role}: role not found"
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
+#: ipaserver/plugins/serverroles.py:178
#, python-brace-format
-msgid "Unable to resolve domain controller for {domain} domain. "
+msgid "{attr}: no such attribute"
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
+#: ipaserver/plugins/servicedelegation.py:26
msgid ""
"\n"
-" Modify a trust (for future use).\n"
+"Service Constrained Delegation\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: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/vault.py:52
-msgid ""
+"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"
-"Vaults\n"
-msgstr ""
-
-#: ipaserver/plugins/vault.py:54
-msgid ""
+"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"
-"Manage vaults.\n"
-msgstr ""
-
-#: ipaserver/plugins/vault.py:56
-msgid ""
+"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"
-"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 ""
+"A target consists of a list of principals that can be delegated.\n"
"\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 ""
+"In English, a rule says that this principal can delegate as this\n"
+"list of principals, as defined by these targets.\n"
"\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