]> Frank Brehm's Git Trees - pixelpark/pp-admin-tools.git/commitdiff
Translations
authorFrank Brehm <frank@brehm-online.com>
Thu, 8 Sep 2022 15:11:34 +0000 (17:11 +0200)
committerFrank Brehm <frank@brehm-online.com>
Thu, 8 Sep 2022 15:11:34 +0000 (17:11 +0200)
locale/de_DE/LC_MESSAGES/pp_admintools.po
locale/en_US/LC_MESSAGES/pp_admintools.po
locale/pp_admintools.pot

index d9823c15045a484a356c3326b1cd6bf5ef4e73d9..7cc221c8f6ca9e949cd46a86eca6cb49524e6b3b 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pp_admintools 0.9.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-09-08 15:41+0200\n"
-"PO-Revision-Date: 2022-09-08 13:40+0200\n"
+"POT-Creation-Date: 2022-09-08 17:00+0200\n"
+"PO-Revision-Date: 2022-09-08 17:10+0200\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: de_DE\n"
 "Language-Team: de_DE <solution@pixelpark.com>\n"
@@ -30,7 +30,7 @@ msgstr "Ein iTimeout muss größer als Null und kleiner oder gleich {} sein."
 msgid "Wrong timeout {!r}:"
 msgstr "Ungültiger Timeout {!r}:"
 
-#: lib/pp_admintools/app/__init__.py:125 lib/pp_admintools/app/remove_ldap_user.py:238
+#: lib/pp_admintools/app/__init__.py:125 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "yes"
 msgstr "ja"
 
@@ -154,8 +154,10 @@ msgid "Executing: {}"
 msgstr "Führe aus: {}"
 
 #: lib/pp_admintools/app/dns_deploy_zones.py:447 lib/pp_admintools/app/dns_deploy_zones.py:801
-#: lib/pp_admintools/app/ldap.py:666 lib/pp_admintools/app/ldap.py:719
-#: lib/pp_admintools/app/ldap.py:772
+#: lib/pp_admintools/app/ldap.py:679 lib/pp_admintools/app/ldap.py:732
+#: lib/pp_admintools/app/ldap.py:785 lib/pp_admintools/app/ldap.py:964
+#: lib/pp_admintools/app/ldap.py:998 lib/pp_admintools/app/ldap.py:1032
+#: lib/pp_admintools/app/ldap.py:1066
 msgid "Result:"
 msgstr "Ergebnis:"
 
@@ -319,88 +321,88 @@ msgstr "Neu starten {} …"
 msgid "Reloading {} ..."
 msgstr "Reload {} …"
 
-#: lib/pp_admintools/app/ldap.py:81 lib/pp_admintools/app/ldap.py:184
+#: lib/pp_admintools/app/ldap.py:94 lib/pp_admintools/app/ldap.py:197
 msgid "The path {!r} must be an absolute path."
 msgstr "Der Pfad {!r} muss ein absoluter Pfad sein."
 
-#: lib/pp_admintools/app/ldap.py:87 lib/pp_admintools/app/ldap.py:188
+#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:201
 msgid "The file {!r} does not exists."
 msgstr "Die Datei {!r} existiert nicht."
 
-#: lib/pp_admintools/app/ldap.py:91 lib/pp_admintools/app/ldap.py:192
+#: lib/pp_admintools/app/ldap.py:104 lib/pp_admintools/app/ldap.py:205
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr "Der angegebene Pfad {!r} existiert, ist aber keine reguläre Datei."
 
-#: lib/pp_admintools/app/ldap.py:95 lib/pp_admintools/app/ldap.py:196
+#: lib/pp_admintools/app/ldap.py:108 lib/pp_admintools/app/ldap.py:209
 msgid "The given file {!r} is not readable."
 msgstr "Die angegebene Datei {} ist nicht lesbar."
 
-#: lib/pp_admintools/app/ldap.py:116
+#: lib/pp_admintools/app/ldap.py:129
 msgid "a port number must be greater than zero and less or equal to {}."
 msgstr "ein Port muss größer als Null und kleiner oder gleich {} sein."
 
-#: lib/pp_admintools/app/ldap.py:121
+#: lib/pp_admintools/app/ldap.py:134
 msgid "Wrong port number {!r}:"
 msgstr "Ungültige Portnummer {!r}."
 
-#: lib/pp_admintools/app/ldap.py:231
+#: lib/pp_admintools/app/ldap.py:244
 msgid "LDAP options"
 msgstr "LDAP-Optionen"
 
-#: lib/pp_admintools/app/ldap.py:233
+#: lib/pp_admintools/app/ldap.py:246
 msgid "Options for the default LDAP connection"
 msgstr "Optionen für die Vorgabe-LDAP-Verbindung"
 
-#: lib/pp_admintools/app/ldap.py:235
+#: lib/pp_admintools/app/ldap.py:248
 msgid "Options fo LDAP connections"
 msgstr "Optionen für die LDAP-Verbindungen"
 
-#: lib/pp_admintools/app/ldap.py:242 lib/pp_admintools/app/remove_ldap_user.py:238
+#: lib/pp_admintools/app/ldap.py:255 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "No"
 msgstr "Nein"
 
-#: lib/pp_admintools/app/ldap.py:244
+#: lib/pp_admintools/app/ldap.py:257
 msgid "Yes"
 msgstr "Ja"
 
-#: lib/pp_admintools/app/ldap.py:250
+#: lib/pp_admintools/app/ldap.py:263
 msgid "HOST"
 msgstr "HOST"
 
-#: lib/pp_admintools/app/ldap.py:251
+#: lib/pp_admintools/app/ldap.py:264
 msgid "Hostname or address of the LDAP server to use. Default: {!r}"
 msgstr "Der Hostname oder die Adresse des zu verwendenden LDAP-Servers. Vorgabe: {!r}"
 
-#: lib/pp_admintools/app/ldap.py:258
+#: lib/pp_admintools/app/ldap.py:271
 msgid "Use ldaps to connect to the LDAP server. Default: {}"
 msgstr "Soll ldaps zum Verbinden mit dem LDAP-Server verwendet werden? Vorgabe: {}."
 
-#: lib/pp_admintools/app/ldap.py:263 lib/pp_admintools/app/mail.py:261
+#: lib/pp_admintools/app/ldap.py:276 lib/pp_admintools/app/mail.py:261
 #: lib/pp_admintools/app/pdns.py:275
 msgid "PORT"
 msgstr "PORT"
 
-#: lib/pp_admintools/app/ldap.py:265
+#: lib/pp_admintools/app/ldap.py:278
 msgid "The port number to connect to the LDAP server. Default: {}"
 msgstr "Welcher Port soll verwendet werden, um sich mit dem LDAP-Server zu verbinden? Vorgabe: {}."
 
-#: lib/pp_admintools/app/ldap.py:271
+#: lib/pp_admintools/app/ldap.py:284
 msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
 msgstr "Die Basis-DN, die als Ausgangspunt bei LDAP-Suchen verwendet werden soll. Vorgabe: {!r}"
 
-#: lib/pp_admintools/app/ldap.py:278
+#: lib/pp_admintools/app/ldap.py:291
 msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
 msgstr "Die Bind-DN, die zur Verbindung mit dem LDAP-Server verwendet werden soll. Vorgabe: {!r}"
 
-#: lib/pp_admintools/app/ldap.py:286
+#: lib/pp_admintools/app/ldap.py:299
 msgid "PASSWORD"
 msgstr "PASSWORT"
 
-#: lib/pp_admintools/app/ldap.py:287
+#: lib/pp_admintools/app/ldap.py:300
 msgid "Use PASSWORD as the password for simple LDAP authentication."
 msgstr "Verwende PASSWORT als Passwort für die einfache Authentifizierung."
 
-#: lib/pp_admintools/app/ldap.py:292
+#: lib/pp_admintools/app/ldap.py:305
 msgid ""
 "Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
 "command line."
@@ -408,19 +410,19 @@ msgstr ""
 "Nachfrage nach dem Passwort für eine einfache LDAP-Authentifizierung. Dies wird anstelle der "
 "Angabe des Passwortes an der Kommandozeile verwendet."
 
-#: lib/pp_admintools/app/ldap.py:298
+#: lib/pp_admintools/app/ldap.py:311
 msgid "PASSWORD_FILE"
 msgstr "PASSWORT_DATEI"
 
-#: lib/pp_admintools/app/ldap.py:300
+#: lib/pp_admintools/app/ldap.py:313
 msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
 msgstr "Verwende den Inhalt der PASSWORT_DATEI als das Passort für eine einfache LDAP-Authentifizierung."
 
-#: lib/pp_admintools/app/ldap.py:308 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:321 lib/pp_admintools/app/pdns.py:249
 msgid "INSTANCE"
 msgstr "INSTANZ"
 
-#: lib/pp_admintools/app/ldap.py:311
+#: lib/pp_admintools/app/ldap.py:324
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. If not given,"
 " then the instance {!r} will be used."
@@ -428,7 +430,7 @@ msgstr ""
 "Die LDAP-Instanz (das LDAP-Cluster) aus der Konfiguration, in welcher das Skript ausgeführt "
 "werden soll. Wenn nicht angegeben, wird die Instanz {!r} verwendet."
 
-#: lib/pp_admintools/app/ldap.py:314
+#: lib/pp_admintools/app/ldap.py:327
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
 "possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
@@ -442,163 +444,187 @@ msgstr ""
 "diesem Fall werden alle LDAP-Instanzen ausgegeben, und das Skript beendet sich. Wenn nichts "
 "angegeben wird, wird die Instanz {default!r} verwendet."
 
-#: lib/pp_admintools/app/ldap.py:333
+#: lib/pp_admintools/app/ldap.py:346
 msgid "SECONDS"
 msgstr "SEKUNDEN"
 
-#: lib/pp_admintools/app/ldap.py:335
+#: lib/pp_admintools/app/ldap.py:348
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr "Der Timeout in Sekunden für alle LDAP-Operationen. Vorgabe: {}."
 
-#: lib/pp_admintools/app/ldap.py:367
+#: lib/pp_admintools/app/ldap.py:380
 msgid "Checking given instances."
 msgstr "Überprüfe die übergebenen Instanzen."
 
-#: lib/pp_admintools/app/ldap.py:371
+#: lib/pp_admintools/app/ldap.py:384
 msgid "Given insts:"
 msgstr "Übergebene Instanzen:"
 
-#: lib/pp_admintools/app/ldap.py:408
+#: lib/pp_admintools/app/ldap.py:421
 msgid "Configured LDAP instances:"
 msgstr "Konfigurierte LDAP-Instanzen:"
 
-#: lib/pp_admintools/app/ldap.py:422
+#: lib/pp_admintools/app/ldap.py:435
 msgid "Verifying given instances ..."
 msgstr "Überprüfene Instanzen …"
 
-#: lib/pp_admintools/app/ldap.py:440
+#: lib/pp_admintools/app/ldap.py:453
 msgid "LDAP instance {!r} not found in configuration."
 msgstr "Die LDAP-Instanz {!r} wurde nicht in der Konfiguration gefunden."
 
-#: lib/pp_admintools/app/ldap.py:448
+#: lib/pp_admintools/app/ldap.py:461
 msgid "LDAP instances to use:"
 msgstr "Verwendete LDAP-Instanzen:"
 
-#: lib/pp_admintools/app/ldap.py:497
+#: lib/pp_admintools/app/ldap.py:510
 msgid "Preparations ..."
 msgstr "Vorbereitungen …"
 
-#: lib/pp_admintools/app/ldap.py:500
+#: lib/pp_admintools/app/ldap.py:513
 msgid "Open all necessary LDAP connections ..."
 msgstr "Öffne alle notwendigen LDAP-Verbindungen …"
 
-#: lib/pp_admintools/app/ldap.py:511
+#: lib/pp_admintools/app/ldap.py:524
 msgid "Connecting to LDAP server {} ..."
 msgstr "Verbinde mit LDAP-Server {} …"
 
-#: lib/pp_admintools/app/ldap.py:526
+#: lib/pp_admintools/app/ldap.py:539
 msgid "Connect options to server {!r}:"
 msgstr "Verbindungs-Optionen zu Server {!r}:"
 
-#: lib/pp_admintools/app/ldap.py:534
+#: lib/pp_admintools/app/ldap.py:547
 msgid "LDAP server {s}: {re}"
 msgstr "LDAP-Server {s}: {re}"
 
-#: lib/pp_admintools/app/ldap.py:542
+#: lib/pp_admintools/app/ldap.py:555
 msgid "Info about LDAP server {}:"
 msgstr "Informationen zu LDAP-Server {}:"
 
-#: lib/pp_admintools/app/ldap.py:549
+#: lib/pp_admintools/app/ldap.py:562
 msgid "Finishing ..."
 msgstr "Beende …"
 
-#: lib/pp_admintools/app/ldap.py:558
+#: lib/pp_admintools/app/ldap.py:571
 msgid "Disconnecting from all remaining LDAP instances ..."
 msgstr "Trenne Verbindung zu allen verbleibenden LDAP-Instanzen …"
 
-#: lib/pp_admintools/app/ldap.py:571
+#: lib/pp_admintools/app/ldap.py:584
 msgid "Unbinding from LDAP server {!r} ..."
 msgstr "Trenne Bindung zu LDAP-Server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:578
+#: lib/pp_admintools/app/ldap.py:591
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr "Trenne Verbindung zu LDAP-Server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:587
+#: lib/pp_admintools/app/ldap.py:600
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr "Versuche den DN des Nutzer {user!r} auf der LDAP-Instanz {inst} zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:592
+#: lib/pp_admintools/app/ldap.py:605
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr "Versuche den DN des Nutzer {u!r} als Mailadresse zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:599
+#: lib/pp_admintools/app/ldap.py:612
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr "Versuche den DN des Nutzer {u!r} als LDAP DN zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:606
+#: lib/pp_admintools/app/ldap.py:619
 msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
 msgstr "Versuche den DN des Nutzer {u!r} als UID (POSIX Benutzername) zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:615 lib/pp_admintools/app/remove_ldap_user.py:258
+#: lib/pp_admintools/app/ldap.py:628 lib/pp_admintools/app/remove_ldap_user.py:257
 msgid "Empty user given."
 msgstr "Leere Nutzername übergeben."
 
-#: lib/pp_admintools/app/ldap.py:618
+#: lib/pp_admintools/app/ldap.py:631
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr "Versuche den DN des Nutzer {u!r} als CN ({c}) zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:648 lib/pp_admintools/app/ldap.py:701
-#: lib/pp_admintools/app/ldap.py:754
+#: lib/pp_admintools/app/ldap.py:661 lib/pp_admintools/app/ldap.py:714
+#: lib/pp_admintools/app/ldap.py:767 lib/pp_admintools/app/ldap.py:949
+#: lib/pp_admintools/app/ldap.py:983 lib/pp_admintools/app/ldap.py:1017
+#: lib/pp_admintools/app/ldap.py:1051
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr "Suche in {uri}/{bdn} mit dem Filter: {fltr}"
 
-#: lib/pp_admintools/app/ldap.py:659
+#: lib/pp_admintools/app/ldap.py:672
 msgid "Result of searching for mail address {m!r}:"
 msgstr "Ergebnis der Suche nach der Mailadresse {m!r}:"
 
-#: lib/pp_admintools/app/ldap.py:663 lib/pp_admintools/app/ldap.py:716
-#: lib/pp_admintools/app/ldap.py:769 lib/pp_admintools/app/ldap.py:857
+#: lib/pp_admintools/app/ldap.py:676 lib/pp_admintools/app/ldap.py:729
+#: lib/pp_admintools/app/ldap.py:782 lib/pp_admintools/app/ldap.py:870
+#: lib/pp_admintools/app/ldap.py:961 lib/pp_admintools/app/ldap.py:995
+#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
 msgid "Got a response entry:"
 msgstr "Erhaltener Antwort-Eintrag:"
 
-#: lib/pp_admintools/app/ldap.py:670
+#: lib/pp_admintools/app/ldap.py:683
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit der Mailadresse {m!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:712
+#: lib/pp_admintools/app/ldap.py:725
 msgid "Result of searching for uid {u!r}:"
 msgstr "Ergebnis der Suche nach UID {u!r}:"
 
-#: lib/pp_admintools/app/ldap.py:723
+#: lib/pp_admintools/app/ldap.py:736
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit der UID {u!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:765
+#: lib/pp_admintools/app/ldap.py:778
 msgid "Result of searching for CN {cn!r}:"
 msgstr "Ergebnis der Suche nach CN {cn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:776
+#: lib/pp_admintools/app/ldap.py:789
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit dem CN {cn!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:793
+#: lib/pp_admintools/app/ldap.py:806
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr "Ein Nutzer mit dem DN {dn!r} wurde nicht in {uri} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:811
+#: lib/pp_admintools/app/ldap.py:824
 msgid "ObjectClasses of {dn!r}:"
 msgstr "ObjectClasses von {dn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:821
+#: lib/pp_admintools/app/ldap.py:834
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr "Der Eintrag {dn!r} in {uri} scheint kein Nutzerkonto zu sein."
 
-#: lib/pp_admintools/app/ldap.py:843
+#: lib/pp_admintools/app/ldap.py:856
 msgid "Searching DN {dn!r} in {uri}."
 msgstr "Suche DN {dn!r} in {uri}."
 
-#: lib/pp_admintools/app/ldap.py:853
+#: lib/pp_admintools/app/ldap.py:866
 msgid "Result of searching for DN {dn!r}:"
 msgstr "Ergebnis der Suche nach dem DN {dn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:861
+#: lib/pp_admintools/app/ldap.py:874
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr "Ein Eintrag bit dem DN {dn!r} wurde nicht in {uri} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:898
-msgid "Applying changes:"
-msgstr "Wende Änderungen an:"
+#: lib/pp_admintools/app/ldap.py:914
+msgid "Applying changes on {uri} to DN {dn!r}:"
+msgstr "Wende Änderungen in {uri} an DN {dn!r} an:"
+
+#: lib/pp_admintools/app/ldap.py:919
+msgid "Simulation mode - changes are not applied."
+msgstr "Simulationsmodus - hier wird jetzt nichts geändert."
+
+#: lib/pp_admintools/app/ldap.py:925
+msgid "Modification NOT successfull - {c}: {e}"
+msgstr "Die Änderung war NICHT erfolgreich - {c}: {e}"
+
+#: lib/pp_admintools/app/ldap.py:926
+msgid "Changes:"
+msgstr "Änderungen:"
+
+#: lib/pp_admintools/app/ldap.py:928
+msgid "Modification successful."
+msgstr "Die Änderung war erfolgreich."
+
+#: lib/pp_admintools/app/ldap.py:930
+msgid "Result of modifying:"
+msgstr "Ergebnis der Änderung:"
 
 #: lib/pp_admintools/app/mail.py:103
 msgid "Got invalid SMTP port number {!r}."
@@ -795,7 +821,7 @@ msgstr "Erhaltene Antwort:"
 msgid "Zone object:"
 msgstr "Zonen-Objekt:"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:69
+#: lib/pp_admintools/app/remove_ldap_user.py:68
 msgid ""
 "Disables or removes the given users from LDAP. If disabling, then the user will not be really "
 "removed, but disabled by locking the password, setting all status flags to {inact!r}, assigning "
@@ -807,23 +833,23 @@ msgstr ""
 "auf {inact!r}, Zuweisen von {shell!r} als Login-Shell und Löschen des Nutzers aus allen Gruppen "
 "deaktiviert. Beim Löschen wird der Nutzer tatsächlich im LDAP gelöscht."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:116
+#: lib/pp_admintools/app/remove_ldap_user.py:115
 msgid "Removing options"
 msgstr "Lösch-Optionen"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:122
+#: lib/pp_admintools/app/remove_ldap_user.py:121
 msgid "Deactivating the user instead of removing it. This is mutually exclusive to {!r}."
 msgstr "Deaktivieren der Nutzer anstatt Löschung. Das schließt sich mit {!r} gegenseitig aus."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:129
+#: lib/pp_admintools/app/remove_ldap_user.py:128
 msgid "Removing the user from LDAP. This is the default and is mutually exclusive to {!r}."
 msgstr "Löschen der Nutzer im LDAP. Dieses ist die Vorgabe und schließt sich mit {!r} gegenseitig aus."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:135
+#: lib/pp_admintools/app/remove_ldap_user.py:134
 msgid "USER"
 msgstr "NUTZER"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:136
+#: lib/pp_admintools/app/remove_ldap_user.py:135
 msgid ""
 "The user, which should be deactivated or removed. They may be given by their Uid (the "
 "alphanumeric POSIX name), their mail address or their LDAP DN (be aware, that this may be "
@@ -834,107 +860,135 @@ msgstr ""
 "angegeben werden. Bitte beachten, dass sich letzterer bei den verschiedenen LDAP-Instanzen "
 "unterscheiden kann."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:153
+#: lib/pp_admintools/app/remove_ldap_user.py:152
 msgid "No users to remove given."
 msgstr "Kein Nutzername zum Löschen angegeben."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:170
+#: lib/pp_admintools/app/remove_ldap_user.py:169
 msgid "All given users were not found in any LDAP instance."
 msgstr "Alle übergebenen Nutzer wurden in keiner der LDAP-Instanzen gefunden."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:175
+#: lib/pp_admintools/app/remove_ldap_user.py:174
 msgid "Evaluated DNs to remove:"
 msgstr "Zum Löschen ermittelte DNs:"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:184
+#: lib/pp_admintools/app/remove_ldap_user.py:183
 msgid "Start disabling user entries in:"
 msgstr "Beginne Deaktivierung der Nutzereinträge in:"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:186
+#: lib/pp_admintools/app/remove_ldap_user.py:185
 msgid "Start removing user entries in:"
 msgstr "Beginne Löschung der Nutzereinträge in:"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:190
+#: lib/pp_admintools/app/remove_ldap_user.py:189
 msgid "Start disabling user entries ..."
 msgstr "Beginne Deaktivierung der Nutzereinträge …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:192
+#: lib/pp_admintools/app/remove_ldap_user.py:191
 msgid "Start removing user entries ..."
 msgstr "Beginne Löschung der Nutzereinträge …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:206
+#: lib/pp_admintools/app/remove_ldap_user.py:205
 msgid "Do you really want to deactivate the following users?"
 msgstr "Möchten Sie die folgenden Nutzer wirklich deaktivieren?"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:208
+#: lib/pp_admintools/app/remove_ldap_user.py:207
 msgid "Do you really want to remove the following users?"
 msgstr "Möchten Sie die folgenden Nutzer wirklich löschen?"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:234
+#: lib/pp_admintools/app/remove_ldap_user.py:233
 msgid "Deactivate [{yes}/{no}]?"
 msgstr "Deaktivieren [{yes}/{no}]?"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:236
+#: lib/pp_admintools/app/remove_ldap_user.py:235
 msgid "Remove [{yes}/{no}]?"
 msgstr "Löschen [{yes}/{no}]?"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:243
+#: lib/pp_admintools/app/remove_ldap_user.py:242
 msgid "Abort deactivating by {cls}: {e}"
 msgstr "Abbruch der Deaktivierung durch {cls}: {e}"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:245
+#: lib/pp_admintools/app/remove_ldap_user.py:244
 msgid "Abort removing by {cls}: {e}"
 msgstr "Abbruch des Löschens durch {cls}: {e}"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:254
+#: lib/pp_admintools/app/remove_ldap_user.py:253
 msgid "Evaluating DNs of the user {!r} to remove ..."
 msgstr "Ermitteln der DNs des Nutzers {!r} zum Löschen …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:268
+#: lib/pp_admintools/app/remove_ldap_user.py:267
 msgid "Got DN {dn!r} for user {user!r} in LDAP instance {inst}."
 msgstr "Habe DN {dn!r} für den Nutzer {user!r} in der LDAP-Instanz {inst} ermittelt."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:275
+#: lib/pp_admintools/app/remove_ldap_user.py:274
 msgid "Found {nr} entries for user {u!r} in LDAP instance {i}."
 msgstr "Fand {nr} Einträge für den Nutzer {u!r} in der LDAP-Instanz {i}."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:287
+#: lib/pp_admintools/app/remove_ldap_user.py:286
 msgid "Did not found user {user!r} in LDAP instance {inst}."
 msgstr "Der Nutzer {user!r} wurde nicht in der LDAP-Instanz {inst} gefunden."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:296
+#: lib/pp_admintools/app/remove_ldap_user.py:295
 msgid "Deactivating all given users from {} ..."
 msgstr "Deaktivieren aller übergebenen Nutzer in {} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:298
+#: lib/pp_admintools/app/remove_ldap_user.py:297
 msgid "Removing all given users from {} ..."
 msgstr "Lösche alle übergebenen Nutzer in {} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:310
+#: lib/pp_admintools/app/remove_ldap_user.py:309
 msgid "Deactivating user {dn!r} from {inst} ..."
 msgstr "Deaktivieren von Nutzer {dn!r} in {inst} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:313
+#: lib/pp_admintools/app/remove_ldap_user.py:312
 msgid "Removing user {dn!r} from {inst} ..."
 msgstr "Lösche Nutzer {dn!r} in {inst} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:319
+#: lib/pp_admintools/app/remove_ldap_user.py:318
 msgid "Attributes of {!r}:"
 msgstr "Attribute von {!r}:"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:333
+#: lib/pp_admintools/app/remove_ldap_user.py:339
 msgid "User {!r} is a mail user."
 msgstr "Der Nutzer {!r} ist ein Mail-Nutzer."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:335
+#: lib/pp_admintools/app/remove_ldap_user.py:341
 msgid "User {!r} is not a mail user."
 msgstr "Der Nutzer {!r} ist kein Mail-Nutzer."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:348
-#, fuzzy
+#: lib/pp_admintools/app/remove_ldap_user.py:354
 msgid "Updating user info for {dn!r} on {inst} ..."
 msgstr "Aktualisiere die Nutzerinformationenn für {dn!r} in {inst} …"
 
+#: lib/pp_admintools/app/remove_ldap_user.py:366
+msgid "Did not found any group memberships of {dn!r} in {inst}."
+msgstr "Keine Gruppenmitgliedschaften von {dn!r} in {inst} gefunden."
+
+#: lib/pp_admintools/app/remove_ldap_user.py:372 lib/pp_admintools/app/remove_ldap_user.py:390
+#: lib/pp_admintools/app/remove_ldap_user.py:412 lib/pp_admintools/app/remove_ldap_user.py:434
+msgid "Removing user {u!r} from group {g!r} ..."
+msgstr "Lösche Nutzer {u!r} aus der Gruppe {g!r} …"
+
+#: lib/pp_admintools/app/remove_ldap_user.py:384
+msgid "Did not found any unique group memberships of {dn!r} in {inst}."
+msgstr "Keine eindeutigen Gruppenmitgliedschaften von {dn!r} in {inst} gefunden."
+
+#: lib/pp_admintools/app/remove_ldap_user.py:399
+msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
+msgstr "Lösche Nutzer {uid!r} aus allen POSIX-Gruppen in {inst} …"
+
+#: lib/pp_admintools/app/remove_ldap_user.py:406
+msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
+msgstr "Keine POSIX-Gruppenmitgliedschaften von {uid!r} in {inst} gefunden."
+
+#: lib/pp_admintools/app/remove_ldap_user.py:421
+msgid "Deleting user {uid!r} from all sudo groups in {inst}."
+msgstr "Lösche Nutzer {uid!r} aus allen sudo-Gruppen in {inst}."
+
+#: lib/pp_admintools/app/remove_ldap_user.py:428
+msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
+msgstr "Keine sudo-Gruppenmitgliedschaften von {uid!r} in {inst} gefunden."
+
 #: lib/pp_admintools/argparse_actions.py:45
 msgid "Value {v!r} for a {what} port is invalid:"
 msgstr "Der Wert {v!r} für ein {what}-Port ist ungültig."
index 62fed9d2f1adb2dde61ff217c17b46d8d4c699ef..778fe42340263a4e78f1a528a01360c5b75b51a4 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pp_admintools 0.9.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-09-08 15:41+0200\n"
-"PO-Revision-Date: 2022-09-08 12:00+0200\n"
+"POT-Creation-Date: 2022-09-08 17:00+0200\n"
+"PO-Revision-Date: 2022-09-08 17:00+0200\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: en_US\n"
 "Language-Team: Frank Brehm <frank.brehm@pixelpark.com>\n"
@@ -30,7 +30,7 @@ msgstr ""
 msgid "Wrong timeout {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/__init__.py:125 lib/pp_admintools/app/remove_ldap_user.py:238
+#: lib/pp_admintools/app/__init__.py:125 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "yes"
 msgstr ""
 
@@ -150,8 +150,10 @@ msgid "Executing: {}"
 msgstr ""
 
 #: lib/pp_admintools/app/dns_deploy_zones.py:447 lib/pp_admintools/app/dns_deploy_zones.py:801
-#: lib/pp_admintools/app/ldap.py:666 lib/pp_admintools/app/ldap.py:719
-#: lib/pp_admintools/app/ldap.py:772
+#: lib/pp_admintools/app/ldap.py:679 lib/pp_admintools/app/ldap.py:732
+#: lib/pp_admintools/app/ldap.py:785 lib/pp_admintools/app/ldap.py:964
+#: lib/pp_admintools/app/ldap.py:998 lib/pp_admintools/app/ldap.py:1032
+#: lib/pp_admintools/app/ldap.py:1066
 msgid "Result:"
 msgstr ""
 
@@ -313,112 +315,112 @@ msgstr "Restarting {} …"
 msgid "Reloading {} ..."
 msgstr "Reloading {} …"
 
-#: lib/pp_admintools/app/ldap.py:81 lib/pp_admintools/app/ldap.py:184
+#: lib/pp_admintools/app/ldap.py:94 lib/pp_admintools/app/ldap.py:197
 msgid "The path {!r} must be an absolute path."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:87 lib/pp_admintools/app/ldap.py:188
+#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:201
 msgid "The file {!r} does not exists."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:91 lib/pp_admintools/app/ldap.py:192
+#: lib/pp_admintools/app/ldap.py:104 lib/pp_admintools/app/ldap.py:205
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:95 lib/pp_admintools/app/ldap.py:196
+#: lib/pp_admintools/app/ldap.py:108 lib/pp_admintools/app/ldap.py:209
 msgid "The given file {!r} is not readable."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:116
+#: lib/pp_admintools/app/ldap.py:129
 msgid "a port number must be greater than zero and less or equal to {}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:121
+#: lib/pp_admintools/app/ldap.py:134
 msgid "Wrong port number {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:231
+#: lib/pp_admintools/app/ldap.py:244
 msgid "LDAP options"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:233
+#: lib/pp_admintools/app/ldap.py:246
 msgid "Options for the default LDAP connection"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:235
+#: lib/pp_admintools/app/ldap.py:248
 msgid "Options fo LDAP connections"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:242 lib/pp_admintools/app/remove_ldap_user.py:238
+#: lib/pp_admintools/app/ldap.py:255 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "No"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:244
+#: lib/pp_admintools/app/ldap.py:257
 msgid "Yes"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:250
+#: lib/pp_admintools/app/ldap.py:263
 msgid "HOST"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:251
+#: lib/pp_admintools/app/ldap.py:264
 msgid "Hostname or address of the LDAP server to use. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:258
+#: lib/pp_admintools/app/ldap.py:271
 msgid "Use ldaps to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:263 lib/pp_admintools/app/mail.py:261
+#: lib/pp_admintools/app/ldap.py:276 lib/pp_admintools/app/mail.py:261
 #: lib/pp_admintools/app/pdns.py:275
 msgid "PORT"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:265
+#: lib/pp_admintools/app/ldap.py:278
 msgid "The port number to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:271
+#: lib/pp_admintools/app/ldap.py:284
 msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:278
+#: lib/pp_admintools/app/ldap.py:291
 msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:286
+#: lib/pp_admintools/app/ldap.py:299
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:287
+#: lib/pp_admintools/app/ldap.py:300
 msgid "Use PASSWORD as the password for simple LDAP authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:292
+#: lib/pp_admintools/app/ldap.py:305
 msgid ""
 "Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
 "command line."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:298
+#: lib/pp_admintools/app/ldap.py:311
 msgid "PASSWORD_FILE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:300
+#: lib/pp_admintools/app/ldap.py:313
 msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:308 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:321 lib/pp_admintools/app/pdns.py:249
 msgid "INSTANCE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:311
+#: lib/pp_admintools/app/ldap.py:324
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. If not given,"
 " then the instance {!r} will be used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:314
+#: lib/pp_admintools/app/ldap.py:327
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
 "possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
@@ -427,162 +429,186 @@ msgid ""
 "used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:333
+#: lib/pp_admintools/app/ldap.py:346
 msgid "SECONDS"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:335
+#: lib/pp_admintools/app/ldap.py:348
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:367
+#: lib/pp_admintools/app/ldap.py:380
 msgid "Checking given instances."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:371
+#: lib/pp_admintools/app/ldap.py:384
 msgid "Given insts:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:408
+#: lib/pp_admintools/app/ldap.py:421
 msgid "Configured LDAP instances:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:422
+#: lib/pp_admintools/app/ldap.py:435
 msgid "Verifying given instances ..."
 msgstr "Verifying given instances …"
 
-#: lib/pp_admintools/app/ldap.py:440
+#: lib/pp_admintools/app/ldap.py:453
 msgid "LDAP instance {!r} not found in configuration."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:448
+#: lib/pp_admintools/app/ldap.py:461
 msgid "LDAP instances to use:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:497
+#: lib/pp_admintools/app/ldap.py:510
 msgid "Preparations ..."
 msgstr "Preparations …"
 
-#: lib/pp_admintools/app/ldap.py:500
+#: lib/pp_admintools/app/ldap.py:513
 msgid "Open all necessary LDAP connections ..."
 msgstr "Open all necessary LDAP connections …"
 
-#: lib/pp_admintools/app/ldap.py:511
+#: lib/pp_admintools/app/ldap.py:524
 msgid "Connecting to LDAP server {} ..."
 msgstr "Connecting to LDAP server {} …"
 
-#: lib/pp_admintools/app/ldap.py:526
+#: lib/pp_admintools/app/ldap.py:539
 msgid "Connect options to server {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:534
+#: lib/pp_admintools/app/ldap.py:547
 msgid "LDAP server {s}: {re}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:542
+#: lib/pp_admintools/app/ldap.py:555
 msgid "Info about LDAP server {}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:549
+#: lib/pp_admintools/app/ldap.py:562
 msgid "Finishing ..."
 msgstr "Finishing …"
 
-#: lib/pp_admintools/app/ldap.py:558
+#: lib/pp_admintools/app/ldap.py:571
 msgid "Disconnecting from all remaining LDAP instances ..."
 msgstr "Disconnecting from all remaining LDAP instances …"
 
-#: lib/pp_admintools/app/ldap.py:571
+#: lib/pp_admintools/app/ldap.py:584
 msgid "Unbinding from LDAP server {!r} ..."
 msgstr "Unbinding from LDAP server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:578
+#: lib/pp_admintools/app/ldap.py:591
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr "Disconnecting from LDAP server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:587
+#: lib/pp_admintools/app/ldap.py:600
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr "Trying to evaluate DN of user {user!r} in LDAP instance {inst} …"
 
-#: lib/pp_admintools/app/ldap.py:592
+#: lib/pp_admintools/app/ldap.py:605
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr "Trying to evaluate DN of user {u!r} as a mail address …"
 
-#: lib/pp_admintools/app/ldap.py:599
+#: lib/pp_admintools/app/ldap.py:612
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr "Trying to evaluate DN of user {u!r} as a LDAP DN …"
 
-#: lib/pp_admintools/app/ldap.py:606
+#: lib/pp_admintools/app/ldap.py:619
 msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
 msgstr "Trying to evaluate DN of user {u!r} as a UID (Posix user name) …"
 
-#: lib/pp_admintools/app/ldap.py:615 lib/pp_admintools/app/remove_ldap_user.py:258
+#: lib/pp_admintools/app/ldap.py:628 lib/pp_admintools/app/remove_ldap_user.py:257
 msgid "Empty user given."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:618
+#: lib/pp_admintools/app/ldap.py:631
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr "Trying to evaluate DN of user {u!r} as a CN ({c}) …"
 
-#: lib/pp_admintools/app/ldap.py:648 lib/pp_admintools/app/ldap.py:701
-#: lib/pp_admintools/app/ldap.py:754
+#: lib/pp_admintools/app/ldap.py:661 lib/pp_admintools/app/ldap.py:714
+#: lib/pp_admintools/app/ldap.py:767 lib/pp_admintools/app/ldap.py:949
+#: lib/pp_admintools/app/ldap.py:983 lib/pp_admintools/app/ldap.py:1017
+#: lib/pp_admintools/app/ldap.py:1051
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:659
+#: lib/pp_admintools/app/ldap.py:672
 msgid "Result of searching for mail address {m!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:663 lib/pp_admintools/app/ldap.py:716
-#: lib/pp_admintools/app/ldap.py:769 lib/pp_admintools/app/ldap.py:857
+#: lib/pp_admintools/app/ldap.py:676 lib/pp_admintools/app/ldap.py:729
+#: lib/pp_admintools/app/ldap.py:782 lib/pp_admintools/app/ldap.py:870
+#: lib/pp_admintools/app/ldap.py:961 lib/pp_admintools/app/ldap.py:995
+#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
 msgid "Got a response entry:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:670
+#: lib/pp_admintools/app/ldap.py:683
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:712
+#: lib/pp_admintools/app/ldap.py:725
 msgid "Result of searching for uid {u!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:723
+#: lib/pp_admintools/app/ldap.py:736
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:765
+#: lib/pp_admintools/app/ldap.py:778
 msgid "Result of searching for CN {cn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:776
+#: lib/pp_admintools/app/ldap.py:789
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:793
+#: lib/pp_admintools/app/ldap.py:806
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:811
+#: lib/pp_admintools/app/ldap.py:824
 msgid "ObjectClasses of {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:821
+#: lib/pp_admintools/app/ldap.py:834
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:843
+#: lib/pp_admintools/app/ldap.py:856
 msgid "Searching DN {dn!r} in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:853
+#: lib/pp_admintools/app/ldap.py:866
 msgid "Result of searching for DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:861
+#: lib/pp_admintools/app/ldap.py:874
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:898
-msgid "Applying changes:"
+#: lib/pp_admintools/app/ldap.py:914
+msgid "Applying changes on {uri} to DN {dn!r}:"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:919
+msgid "Simulation mode - changes are not applied."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:925
+msgid "Modification NOT successfull - {c}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:926
+msgid "Changes:"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:928
+msgid "Modification successful."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:930
+msgid "Result of modifying:"
 msgstr ""
 
 #: lib/pp_admintools/app/mail.py:103
@@ -774,7 +800,7 @@ msgstr ""
 msgid "Zone object:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:69
+#: lib/pp_admintools/app/remove_ldap_user.py:68
 msgid ""
 "Disables or removes the given users from LDAP. If disabling, then the user will not be really "
 "removed, but disabled by locking the password, setting all status flags to {inact!r}, assigning "
@@ -782,129 +808,159 @@ msgid ""
 "user will be really removed from LDAP."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:116
+#: lib/pp_admintools/app/remove_ldap_user.py:115
 msgid "Removing options"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:122
+#: lib/pp_admintools/app/remove_ldap_user.py:121
 msgid "Deactivating the user instead of removing it. This is mutually exclusive to {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:129
+#: lib/pp_admintools/app/remove_ldap_user.py:128
 msgid "Removing the user from LDAP. This is the default and is mutually exclusive to {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:135
+#: lib/pp_admintools/app/remove_ldap_user.py:134
 msgid "USER"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:136
+#: lib/pp_admintools/app/remove_ldap_user.py:135
 msgid ""
 "The user, which should be deactivated or removed. They may be given by their Uid (the "
 "alphanumeric POSIX name), their mail address or their LDAP DN (be aware, that this may be "
 "different in the particular LDAP instances)."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:153
+#: lib/pp_admintools/app/remove_ldap_user.py:152
 msgid "No users to remove given."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:170
+#: lib/pp_admintools/app/remove_ldap_user.py:169
 msgid "All given users were not found in any LDAP instance."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:175
+#: lib/pp_admintools/app/remove_ldap_user.py:174
 msgid "Evaluated DNs to remove:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:184
+#: lib/pp_admintools/app/remove_ldap_user.py:183
 msgid "Start disabling user entries in:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:186
+#: lib/pp_admintools/app/remove_ldap_user.py:185
 msgid "Start removing user entries in:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:190
+#: lib/pp_admintools/app/remove_ldap_user.py:189
 msgid "Start disabling user entries ..."
 msgstr "Start disabling user entries …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:192
+#: lib/pp_admintools/app/remove_ldap_user.py:191
 msgid "Start removing user entries ..."
 msgstr "Start removing user entries …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:206
+#: lib/pp_admintools/app/remove_ldap_user.py:205
 msgid "Do you really want to deactivate the following users?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:208
+#: lib/pp_admintools/app/remove_ldap_user.py:207
 msgid "Do you really want to remove the following users?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:234
+#: lib/pp_admintools/app/remove_ldap_user.py:233
 msgid "Deactivate [{yes}/{no}]?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:236
+#: lib/pp_admintools/app/remove_ldap_user.py:235
 msgid "Remove [{yes}/{no}]?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:243
+#: lib/pp_admintools/app/remove_ldap_user.py:242
 msgid "Abort deactivating by {cls}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:245
+#: lib/pp_admintools/app/remove_ldap_user.py:244
 msgid "Abort removing by {cls}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:254
+#: lib/pp_admintools/app/remove_ldap_user.py:253
 msgid "Evaluating DNs of the user {!r} to remove ..."
 msgstr "Evaluating DNs of the user {!r} to remove …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:268
+#: lib/pp_admintools/app/remove_ldap_user.py:267
 msgid "Got DN {dn!r} for user {user!r} in LDAP instance {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:275
+#: lib/pp_admintools/app/remove_ldap_user.py:274
 msgid "Found {nr} entries for user {u!r} in LDAP instance {i}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:287
+#: lib/pp_admintools/app/remove_ldap_user.py:286
 msgid "Did not found user {user!r} in LDAP instance {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:296
+#: lib/pp_admintools/app/remove_ldap_user.py:295
 msgid "Deactivating all given users from {} ..."
 msgstr "Deactivating all given users from {} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:298
+#: lib/pp_admintools/app/remove_ldap_user.py:297
 msgid "Removing all given users from {} ..."
 msgstr "Removing all given users from {} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:310
+#: lib/pp_admintools/app/remove_ldap_user.py:309
 msgid "Deactivating user {dn!r} from {inst} ..."
 msgstr "Deactivating user {dn!r} from {inst} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:313
+#: lib/pp_admintools/app/remove_ldap_user.py:312
 msgid "Removing user {dn!r} from {inst} ..."
 msgstr "Removing user {dn!r} from {inst} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:319
+#: lib/pp_admintools/app/remove_ldap_user.py:318
 msgid "Attributes of {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:333
+#: lib/pp_admintools/app/remove_ldap_user.py:339
 msgid "User {!r} is a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:335
+#: lib/pp_admintools/app/remove_ldap_user.py:341
 msgid "User {!r} is not a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:348
-#, fuzzy
+#: lib/pp_admintools/app/remove_ldap_user.py:354
 msgid "Updating user info for {dn!r} on {inst} ..."
-msgstr "Updating user info for {dn!r} on from {inst} …"
+msgstr "Updating user info for {dn!r} on {inst} …"
+
+#: lib/pp_admintools/app/remove_ldap_user.py:366
+msgid "Did not found any group memberships of {dn!r} in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:372 lib/pp_admintools/app/remove_ldap_user.py:390
+#: lib/pp_admintools/app/remove_ldap_user.py:412 lib/pp_admintools/app/remove_ldap_user.py:434
+msgid "Removing user {u!r} from group {g!r} ..."
+msgstr "Removing user {u!r} from group {g!r} …"
+
+#: lib/pp_admintools/app/remove_ldap_user.py:384
+msgid "Did not found any unique group memberships of {dn!r} in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:399
+#, fuzzy
+msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
+msgstr "Removing user {dn!r} from {inst} …"
+
+#: lib/pp_admintools/app/remove_ldap_user.py:406
+msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:421
+#, fuzzy
+msgid "Deleting user {uid!r} from all sudo groups in {inst}."
+msgstr "Removing user {dn!r} from {inst} …"
+
+#: lib/pp_admintools/app/remove_ldap_user.py:428
+msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
+msgstr ""
 
 #: lib/pp_admintools/argparse_actions.py:45
 msgid "Value {v!r} for a {what} port is invalid:"
index 3c8f076186fb1c2e077f12f705930d20626df416..ad40c097c6a8da3c084aa0f210d064b32fedbe9c 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pp_admintools 0.9.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-09-08 15:41+0200\n"
+"POT-Creation-Date: 2022-09-08 17:00+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,7 +29,7 @@ msgstr ""
 msgid "Wrong timeout {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/__init__.py:125 lib/pp_admintools/app/remove_ldap_user.py:238
+#: lib/pp_admintools/app/__init__.py:125 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "yes"
 msgstr ""
 
@@ -149,8 +149,10 @@ msgid "Executing: {}"
 msgstr ""
 
 #: lib/pp_admintools/app/dns_deploy_zones.py:447 lib/pp_admintools/app/dns_deploy_zones.py:801
-#: lib/pp_admintools/app/ldap.py:666 lib/pp_admintools/app/ldap.py:719
-#: lib/pp_admintools/app/ldap.py:772
+#: lib/pp_admintools/app/ldap.py:679 lib/pp_admintools/app/ldap.py:732
+#: lib/pp_admintools/app/ldap.py:785 lib/pp_admintools/app/ldap.py:964
+#: lib/pp_admintools/app/ldap.py:998 lib/pp_admintools/app/ldap.py:1032
+#: lib/pp_admintools/app/ldap.py:1066
 msgid "Result:"
 msgstr ""
 
@@ -312,112 +314,112 @@ msgstr ""
 msgid "Reloading {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:81 lib/pp_admintools/app/ldap.py:184
+#: lib/pp_admintools/app/ldap.py:94 lib/pp_admintools/app/ldap.py:197
 msgid "The path {!r} must be an absolute path."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:87 lib/pp_admintools/app/ldap.py:188
+#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:201
 msgid "The file {!r} does not exists."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:91 lib/pp_admintools/app/ldap.py:192
+#: lib/pp_admintools/app/ldap.py:104 lib/pp_admintools/app/ldap.py:205
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:95 lib/pp_admintools/app/ldap.py:196
+#: lib/pp_admintools/app/ldap.py:108 lib/pp_admintools/app/ldap.py:209
 msgid "The given file {!r} is not readable."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:116
+#: lib/pp_admintools/app/ldap.py:129
 msgid "a port number must be greater than zero and less or equal to {}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:121
+#: lib/pp_admintools/app/ldap.py:134
 msgid "Wrong port number {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:231
+#: lib/pp_admintools/app/ldap.py:244
 msgid "LDAP options"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:233
+#: lib/pp_admintools/app/ldap.py:246
 msgid "Options for the default LDAP connection"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:235
+#: lib/pp_admintools/app/ldap.py:248
 msgid "Options fo LDAP connections"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:242 lib/pp_admintools/app/remove_ldap_user.py:238
+#: lib/pp_admintools/app/ldap.py:255 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "No"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:244
+#: lib/pp_admintools/app/ldap.py:257
 msgid "Yes"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:250
+#: lib/pp_admintools/app/ldap.py:263
 msgid "HOST"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:251
+#: lib/pp_admintools/app/ldap.py:264
 msgid "Hostname or address of the LDAP server to use. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:258
+#: lib/pp_admintools/app/ldap.py:271
 msgid "Use ldaps to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:263 lib/pp_admintools/app/mail.py:261
+#: lib/pp_admintools/app/ldap.py:276 lib/pp_admintools/app/mail.py:261
 #: lib/pp_admintools/app/pdns.py:275
 msgid "PORT"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:265
+#: lib/pp_admintools/app/ldap.py:278
 msgid "The port number to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:271
+#: lib/pp_admintools/app/ldap.py:284
 msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:278
+#: lib/pp_admintools/app/ldap.py:291
 msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:286
+#: lib/pp_admintools/app/ldap.py:299
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:287
+#: lib/pp_admintools/app/ldap.py:300
 msgid "Use PASSWORD as the password for simple LDAP authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:292
+#: lib/pp_admintools/app/ldap.py:305
 msgid ""
 "Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
 "command line."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:298
+#: lib/pp_admintools/app/ldap.py:311
 msgid "PASSWORD_FILE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:300
+#: lib/pp_admintools/app/ldap.py:313
 msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:308 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:321 lib/pp_admintools/app/pdns.py:249
 msgid "INSTANCE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:311
+#: lib/pp_admintools/app/ldap.py:324
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. If not given,"
 " then the instance {!r} will be used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:314
+#: lib/pp_admintools/app/ldap.py:327
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
 "possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
@@ -426,162 +428,186 @@ msgid ""
 "used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:333
+#: lib/pp_admintools/app/ldap.py:346
 msgid "SECONDS"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:335
+#: lib/pp_admintools/app/ldap.py:348
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:367
+#: lib/pp_admintools/app/ldap.py:380
 msgid "Checking given instances."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:371
+#: lib/pp_admintools/app/ldap.py:384
 msgid "Given insts:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:408
+#: lib/pp_admintools/app/ldap.py:421
 msgid "Configured LDAP instances:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:422
+#: lib/pp_admintools/app/ldap.py:435
 msgid "Verifying given instances ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:440
+#: lib/pp_admintools/app/ldap.py:453
 msgid "LDAP instance {!r} not found in configuration."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:448
+#: lib/pp_admintools/app/ldap.py:461
 msgid "LDAP instances to use:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:497
+#: lib/pp_admintools/app/ldap.py:510
 msgid "Preparations ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:500
+#: lib/pp_admintools/app/ldap.py:513
 msgid "Open all necessary LDAP connections ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:511
+#: lib/pp_admintools/app/ldap.py:524
 msgid "Connecting to LDAP server {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:526
+#: lib/pp_admintools/app/ldap.py:539
 msgid "Connect options to server {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:534
+#: lib/pp_admintools/app/ldap.py:547
 msgid "LDAP server {s}: {re}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:542
+#: lib/pp_admintools/app/ldap.py:555
 msgid "Info about LDAP server {}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:549
+#: lib/pp_admintools/app/ldap.py:562
 msgid "Finishing ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:558
+#: lib/pp_admintools/app/ldap.py:571
 msgid "Disconnecting from all remaining LDAP instances ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:571
+#: lib/pp_admintools/app/ldap.py:584
 msgid "Unbinding from LDAP server {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:578
+#: lib/pp_admintools/app/ldap.py:591
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:587
+#: lib/pp_admintools/app/ldap.py:600
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:592
+#: lib/pp_admintools/app/ldap.py:605
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:599
+#: lib/pp_admintools/app/ldap.py:612
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:606
+#: lib/pp_admintools/app/ldap.py:619
 msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:615 lib/pp_admintools/app/remove_ldap_user.py:258
+#: lib/pp_admintools/app/ldap.py:628 lib/pp_admintools/app/remove_ldap_user.py:257
 msgid "Empty user given."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:618
+#: lib/pp_admintools/app/ldap.py:631
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:648 lib/pp_admintools/app/ldap.py:701
-#: lib/pp_admintools/app/ldap.py:754
+#: lib/pp_admintools/app/ldap.py:661 lib/pp_admintools/app/ldap.py:714
+#: lib/pp_admintools/app/ldap.py:767 lib/pp_admintools/app/ldap.py:949
+#: lib/pp_admintools/app/ldap.py:983 lib/pp_admintools/app/ldap.py:1017
+#: lib/pp_admintools/app/ldap.py:1051
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:659
+#: lib/pp_admintools/app/ldap.py:672
 msgid "Result of searching for mail address {m!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:663 lib/pp_admintools/app/ldap.py:716
-#: lib/pp_admintools/app/ldap.py:769 lib/pp_admintools/app/ldap.py:857
+#: lib/pp_admintools/app/ldap.py:676 lib/pp_admintools/app/ldap.py:729
+#: lib/pp_admintools/app/ldap.py:782 lib/pp_admintools/app/ldap.py:870
+#: lib/pp_admintools/app/ldap.py:961 lib/pp_admintools/app/ldap.py:995
+#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
 msgid "Got a response entry:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:670
+#: lib/pp_admintools/app/ldap.py:683
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:712
+#: lib/pp_admintools/app/ldap.py:725
 msgid "Result of searching for uid {u!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:723
+#: lib/pp_admintools/app/ldap.py:736
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:765
+#: lib/pp_admintools/app/ldap.py:778
 msgid "Result of searching for CN {cn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:776
+#: lib/pp_admintools/app/ldap.py:789
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:793
+#: lib/pp_admintools/app/ldap.py:806
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:811
+#: lib/pp_admintools/app/ldap.py:824
 msgid "ObjectClasses of {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:821
+#: lib/pp_admintools/app/ldap.py:834
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:843
+#: lib/pp_admintools/app/ldap.py:856
 msgid "Searching DN {dn!r} in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:853
+#: lib/pp_admintools/app/ldap.py:866
 msgid "Result of searching for DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:861
+#: lib/pp_admintools/app/ldap.py:874
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:898
-msgid "Applying changes:"
+#: lib/pp_admintools/app/ldap.py:914
+msgid "Applying changes on {uri} to DN {dn!r}:"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:919
+msgid "Simulation mode - changes are not applied."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:925
+msgid "Modification NOT successfull - {c}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:926
+msgid "Changes:"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:928
+msgid "Modification successful."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:930
+msgid "Result of modifying:"
 msgstr ""
 
 #: lib/pp_admintools/app/mail.py:103
@@ -773,7 +799,7 @@ msgstr ""
 msgid "Zone object:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:69
+#: lib/pp_admintools/app/remove_ldap_user.py:68
 msgid ""
 "Disables or removes the given users from LDAP. If disabling, then the user will not be really "
 "removed, but disabled by locking the password, setting all status flags to {inact!r}, assigning "
@@ -781,129 +807,158 @@ msgid ""
 "user will be really removed from LDAP."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:116
+#: lib/pp_admintools/app/remove_ldap_user.py:115
 msgid "Removing options"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:122
+#: lib/pp_admintools/app/remove_ldap_user.py:121
 msgid "Deactivating the user instead of removing it. This is mutually exclusive to {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:129
+#: lib/pp_admintools/app/remove_ldap_user.py:128
 msgid "Removing the user from LDAP. This is the default and is mutually exclusive to {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:135
+#: lib/pp_admintools/app/remove_ldap_user.py:134
 msgid "USER"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:136
+#: lib/pp_admintools/app/remove_ldap_user.py:135
 msgid ""
 "The user, which should be deactivated or removed. They may be given by their Uid (the "
 "alphanumeric POSIX name), their mail address or their LDAP DN (be aware, that this may be "
 "different in the particular LDAP instances)."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:153
+#: lib/pp_admintools/app/remove_ldap_user.py:152
 msgid "No users to remove given."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:170
+#: lib/pp_admintools/app/remove_ldap_user.py:169
 msgid "All given users were not found in any LDAP instance."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:175
+#: lib/pp_admintools/app/remove_ldap_user.py:174
 msgid "Evaluated DNs to remove:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:184
+#: lib/pp_admintools/app/remove_ldap_user.py:183
 msgid "Start disabling user entries in:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:186
+#: lib/pp_admintools/app/remove_ldap_user.py:185
 msgid "Start removing user entries in:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:190
+#: lib/pp_admintools/app/remove_ldap_user.py:189
 msgid "Start disabling user entries ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:192
+#: lib/pp_admintools/app/remove_ldap_user.py:191
 msgid "Start removing user entries ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:206
+#: lib/pp_admintools/app/remove_ldap_user.py:205
 msgid "Do you really want to deactivate the following users?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:208
+#: lib/pp_admintools/app/remove_ldap_user.py:207
 msgid "Do you really want to remove the following users?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:234
+#: lib/pp_admintools/app/remove_ldap_user.py:233
 msgid "Deactivate [{yes}/{no}]?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:236
+#: lib/pp_admintools/app/remove_ldap_user.py:235
 msgid "Remove [{yes}/{no}]?"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:243
+#: lib/pp_admintools/app/remove_ldap_user.py:242
 msgid "Abort deactivating by {cls}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:245
+#: lib/pp_admintools/app/remove_ldap_user.py:244
 msgid "Abort removing by {cls}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:254
+#: lib/pp_admintools/app/remove_ldap_user.py:253
 msgid "Evaluating DNs of the user {!r} to remove ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:268
+#: lib/pp_admintools/app/remove_ldap_user.py:267
 msgid "Got DN {dn!r} for user {user!r} in LDAP instance {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:275
+#: lib/pp_admintools/app/remove_ldap_user.py:274
 msgid "Found {nr} entries for user {u!r} in LDAP instance {i}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:287
+#: lib/pp_admintools/app/remove_ldap_user.py:286
 msgid "Did not found user {user!r} in LDAP instance {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:296
+#: lib/pp_admintools/app/remove_ldap_user.py:295
 msgid "Deactivating all given users from {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:298
+#: lib/pp_admintools/app/remove_ldap_user.py:297
 msgid "Removing all given users from {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:310
+#: lib/pp_admintools/app/remove_ldap_user.py:309
 msgid "Deactivating user {dn!r} from {inst} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:313
+#: lib/pp_admintools/app/remove_ldap_user.py:312
 msgid "Removing user {dn!r} from {inst} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:319
+#: lib/pp_admintools/app/remove_ldap_user.py:318
 msgid "Attributes of {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:333
+#: lib/pp_admintools/app/remove_ldap_user.py:339
 msgid "User {!r} is a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:335
+#: lib/pp_admintools/app/remove_ldap_user.py:341
 msgid "User {!r} is not a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:348
+#: lib/pp_admintools/app/remove_ldap_user.py:354
 msgid "Updating user info for {dn!r} on {inst} ..."
 msgstr ""
 
+#: lib/pp_admintools/app/remove_ldap_user.py:366
+msgid "Did not found any group memberships of {dn!r} in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:372 lib/pp_admintools/app/remove_ldap_user.py:390
+#: lib/pp_admintools/app/remove_ldap_user.py:412 lib/pp_admintools/app/remove_ldap_user.py:434
+msgid "Removing user {u!r} from group {g!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:384
+msgid "Did not found any unique group memberships of {dn!r} in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:399
+msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:406
+msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:421
+msgid "Deleting user {uid!r} from all sudo groups in {inst}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:428
+msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
+msgstr ""
+
 #: lib/pp_admintools/argparse_actions.py:45
 msgid "Value {v!r} for a {what} port is invalid:"
 msgstr ""