Automatisches Verhalten programmieren

Hallo erstmals, ich bin noch ziemlich neu in der Welt von owncloud und hätte gleich mal eine große Frage. Hoffe das ich diese hier richtig stelle :wink:

Wir wollen im Zuge einer Umstellung unseres LDAP-Servers auch die Owncloud gleich besser machen und meine Idee wäre gewesen, dass jeder Benutzer automatisch einen shared folder erhält, welcher mit seiner Gruppe (Von LDAP übergeben) geteilt ist.

Zweitens wollte ich fragen, ob es möglich ist, dass über den LDAP-Server als Attribute zu jedem Benutzer zugefügt wird, dass das Recovery Password aktiviert wird.

Erwartetes Verhalten
LDAP-Gruppen sollen automatisch einen shared Folder erhalten, welcher nur mit ihrem Benutzer geteilt wird.
LDAP-User sollen automatisch das Recovery Password aktiviert haben.

Server-Konfiguration
Betriebssystem: Debian 8
Webserver-Typ: apache2
Datenbank-Typ: mysql
PHP-Version: 5.6
ownCloud-Version (siehe ownCloud Administrationsseite): 9.1
Von einer älteren ownCloud-Version aktualisiert oder neu installiert?: Nein
ownCloud log (data/owncloud.log, siehe https://central.owncloud.org/t/how-to-find-webserver-or-oc-logfile-enable-php-logfile/808):

Sonderkonfigurationen (external storage, external authentication, reverse proxy, server-side-encryption): Nein

Integrity status für oC9+

No errors have been found.

Vielen Dank schon mal für eure Hilfe :slight_smile:
Lg Behau

  1. Recover Keys benötigen die Zustimmung der User. Daher ist das automatische Setzen des Recovery Keys durch den Admin nicht unterstützt. Gibt es einen Grund das über LDAP Attribute zu steuern?

  2. "Shared Folder": Jeder User soll einen eigenen Ordner haben, der mit einer Gruppe (definiert in LDAP) geteilt ist? Use Case? Mehr?

Einen Ordner für neue User kannst Du im Skeleton anlegen: https://doc.owncloud.org/server/9.1/admin_manual/configuration_files/default_files_configuration.html

Um auch bestehende User und Shares abzudecken brauchst du eine kleine App:
Registriere ein Script für den "postCreateUser" hook
https://doc.owncloud.org/server/9.1/developer_manual/app/hooks.html#usermanager

  • lies LDAP Attribut des Users für Gruppe aus (Siehe App user_ldap)
  • lege Ordner "Shared" an
  • lege einen Share mit der Gruppe an

Es gibt ein Workflow Framework, mit dem ich mich nicht gut auskenne,
evtl. wäre auch ein ein Workflow für dieses Szenario der richtige Ansatz.
Workflows sind momentan Enterprise only und eher auf Datei Workflows ausgelegt, nicht auf Events wie "User Create".

  1. Das die User ihre Zustimmung abgeben müssen war mir bekannt, deswegen die Idee, dass man dies über den LDAP steuern könnte => man kann ja Attribute übergeben, welche eine gewisse Funktion zuweisen (z.B. nur 2 MB upload etc.), wenn ich das richtig verstanden habe.

Warum das ganze:
Unsere Owncloud sollte eigentlich nicht wirklich für private Daten genutzt werden, sondern nur für die Daten der Organisation. Bei der Derzeitigen (soll jedoch komplett neu aufgesetzt werden) haben wir jedoch das Problem, das User ihr Passwort vergessen und wir dann eine Menge an Daten verlieren, auf welche wir dann nicht mehr zugreifen können. Und damit User nicht vergessen können den Recovery Key einzuschalten, habe ich mir gedacht wir legen es von vornherein fest.

  1. "Shared Folder":
    Auch hierbei geht es wieder darum, dass die Gruppen bei uns die einzelnen Abteilungen der Organisation deklarieren. Mit diesen sollte man halt leicht und schnell was teilen können, ohne das man auf eine Einladung zu dem shared folder warten muss. Deswegen wäre es halt ganz angenehm, wenn man dies ebenfalls über LDAP/Owncloud steuern könnte, aber ich glaube das Skeleton und die App sollten das abdecken was wir brauchen.

Derzeit sollte das ganze halt eher OpenSource sein aber ich schaue mir den Workflow an :slight_smile:

Vielen Dank auf jeden Fall für die schnelle Rückmeldung ich werde mich mal mit dem Skeleton und der App spielen.

Bevor Du die Encryption App verwendest solltest Du Dir aber auf jeden Fall mal folgenden Text durchlesen und verstehen:

Encryption keys are stored only on the ownCloud server, eliminating exposure of your data to third-party storage providers. The encryption app does not protect your data if your ownCloud server is compromised, and it does not prevent ownCloud administrators from reading user’s files. This would require client-side encryption, which this app does not provide. If your ownCloud server is not connected to any external storage services then it is better to use other encryption tools, such as file-level or whole-disk encryption.

-> https://doc.owncloud.org/server/latest/admin_manual/configuration_files/encryption_configuration.html

Da Du keine external storages einsetzt bietet die Encryption App Dir (und besonders auch Deine User) keinerlei zusätzlichen Schutz. Du erhöhst nur die Komplexität und Fehleranfälligkeit Deiner oC Instanz.

Ahh super das ist wohl an mir vorrüber gegangen beim durchlesen...
Habe die jetzige Owncloud mit Encryption übernommen und deshalb nicht weiter darüber nachgedacht ob wir diese auch brauchen...
Habe mich mit der Encryption bisher nur geärgert...

Aber damit hat sich das geklärt und wir lassen die Encryption komplett, dann sparen wir uns echt viel Zeit, Aufwand und Ärger :slight_smile:

Vielen Dank :blush:

Das ist eine gute Entscheidung :wink: