Benutzer-Verzeichnis löschen

Hallo,

wir haben OwnCloud in der Version 9.0.9 mit einer LDAP-Anbindung im Einsatz.
Nun möchte ich über die GUI ein Verzeichnis eines Users entfernen.

Dabei wird dieser Fehler geworfen:

{"reqId":"WbeJWjsXwNOx8K8e6kZSUgAAAE4","remoteAddr":"IPADDRESSE","app":"user_ldap","message":"User 6EA36AEC-E3B4-4730-8149-4779B0C4A46A is not marked as deleted, not cleaning up.","level":1,"time":"2017-09-12T07:14:34+00:00","method":"DELETE","url":"\/index.php\/settings\/users\/users\/6EA36AEC-E3B4-4730-8149-4779B0C4A46A","user":"tecadmin"}

Wenn ich allerdings über occ den befehl absetzen möchte dann erhalte ich diese Fehlermeldung:

sudo -u apache ./occ user:delete "6EA36AEC-E3B4-4730-8149-4779B0C4A46A"

[OC\ServerNotAvailableException]
Connection to LDAP server could not be established

Ein Tipp - du kannst die ewig lange Zeichen- und Buchstabenkette vermeiden wenn du bei LDAP - Expert Tab "samaccountname" als Internes Attribut einstellt. Dann haben deine Nutzer klare Namen :slight_smile:

danke. ist ein guter tipp aber grundlegend haben wir ein problem welches ich aktuell nicht lösen kann.

bin dabei dein Problem nachzustellen. Was nicht heißt dass ich dann eine Lösung habe :smiley:

das wäre echt super, weil aktuell haben wir noch viele ordner auf dem filesystem von benutzer die entfernt werden müssen. das entfernen über die gui geht leider nicht und auf der console über occ kommt der fehler obwohl die ldap-verbindung über die gui funktioniert.

kannst du vle über die kommandozeile "ldapsearch" probieren?

Dann weißt du ob überhaupt über die kommandozeile auf den LDAP server kommst.

Die syntax ist ldapsearch -h ipadresse_vom_ad -D "cn=administrator,cn=users,dc=example,dc=com" -b "cn=users,dc=example,dc=com" -w "Password"

beim -w bin ich mir nicht sicher, wenn da noch eine Abfrage kommt muss das W groß sein.

oder einfach mal den LDAP server pingen :smiley:

Und dann hab ich noch ne Frage: Ich vermute mal dass ihr nicht nur die Daten sondern auch den Benutzer löschen wollt. Wäre es nicht einfacher den Nutzer im LDAP server zu löschen?

also ldapsearch geht über die konsole und ping auch :slight_smile:

zum thema user löschen:
wir haben eine ldap-anbindung auf eine eine bestimmte gruppe konfiguriert. d.h. diese user in dieser gruppe können das owncloud verwenden. wenn ein mitarbeiter geht wird er aus dieser gruppe entfernt und somit kann er sich nicht mehr einloggen in owncloud UND ist im owncloud nicht mehr sichtbar. dabei bleibt aber der ordner des benutzers auf dem filesystem bestehen. wir löschen grundsätzlich keine ldap-user.

nun will ich bevor der user auf dem ldap dekativiert und dabei im ownlcoud unter users nicht mehr sichtbar ist, den ordner löschen damit der platz frei wird. ich verstehe das löschen in owncloud so das ich den ordner des users lösche und nicht den user selbst auf ldap. ist das richtig?

Das klingt nach dem was du ihr machen wollt, oder?

https://doc.owncloud.org/server/9.0/admin_manual/configuration_user/user_auth_ldap_cleanup.html

Soweit ich verstanden habe kannst du den user deaktivieren, dann wandert er in die remnants Table und dann kannst du seine Daten auf ownCloud löschen.

Seltsam nur dass bei euch die Meldung kommt dass keine Verbindung zum LDAP erfolgen kann.

du kannst aber auch direkt im data Verzeichnis in das Verzeichnis von dem user gehen und die Daten händisch löschen. mit rm -rf*

ja aber die db kennt die einträge ja trotzdem noch oder? entstehen da kein probleme von fs zu db?

ich habs bzw. du hast mir glaub geholfen. die user die deaktiviert sind sind noch nicht als remants markiert deswegen kann ich diese net löschen. man muss 'ldapUserCleanupInterval' => 51, in der config.php hinterlegen und abwarten und dann mit dem occ befehle die user löschen. ich gebe dir bescheid.

ich drück uns die daumen :smiley:

Also, ich habe jetzt mal getestet ob das funktioniert.

Hab mein LDAP so eingebunden dass nur die User aus bestimmten Gruppen übertragen werden.

Hab den user2 aus der Gruppe entfernt.

hab dann occ check gemacht, um zu sehen ob er da ist.

Ist er nicht, dann wird mir glech angeboten die Daten von ihm zu löschen.

Das hab ich dann gemacht.

Wäre das bei deiner Konfiguration möglich?

sudo -u www-data php occ ldap:check-user user2
The user does not exists on LDAP anymore.
Clean up the user's remnants by: ./occ user:delete "user2"
sudo -u www-data php ./occ user:delete "user2"
The specified user was deleted

hi. das mit dem check und dann löschen fkt nicht! wann und wie landen die user unter remants?
brauche ich dazu wirklich die option ldapUserCleanupInterval' => 51?

wenn du den user, wie ich oben, aus der Gruppe entfernst die mit owncloud synchronisiert werden

Sagen wir du hast einen LDAP / AD mit 10 usern und 2 Gruppen

Die user haben den Namen user1-user10 und die Gruppen heißen gruppe1 und gruppe2

Du verbindest den LDAP mit owncloud und bei der Einrichtung sagst - zeige mir nur User aus gruppe1 und gruppe2

Wenn du dann im LDAP den user1 aus gruppe1 entfernst, wird er aus ownclouds sicht nicht mehr verwendet / nicht mehr vom LDAP bereitgestellt und er landet in der remnants-table. dann kannst du seine daten in owncloud löschen, aufräumen - cleanup.

das eben fkt nicht.

die user die aus dieser gruppe auf dem ldap entfernt worden sind, werden über occ show:remants nicht angezeigt.

und ich habe weiterhin keine connection über die konsole und occ:
Connection to LDAP server could not be established

Könnt ihr euch vorstellen zum 9.1.6 upzudaten?

Vielleicht ist das Problem dort nicht mehr vorhanden.

Ich hab deine Umgebung versucht nachzustellen, bei mir hat alles funktioniert.

Was du mal machen könntest ist - in der Web UI bei den LDAP einstellungen in ownCloud bei Login Filter nach dem user mal suchen, einfach den cn eingeben, und schauen ob ownCloud ihn finden kann. Und wen nicht, nochmal in der remnants table nachschauen.

Wenn das nicht weiterhilft, wäre ein ausschnitt aus dem owncloud.log hilfreich, die config.php und vlt noch die LDAP einstellungen die ihr vorgenommen habt.