Inhalt eines freigebenen Ordners nicht im Drive Teamordner sichtbar

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Stefan1404

Benutzer
Registriert
17. Nov. 2024
Beiträge
3
Reaktionspunkte
0
Punkte
1
Hallo zusammen,

ich habe leider für mein Problem keine Lösung gefunden und hoffe daher, das mir hier jemand helfen kann. Folgendes:
Ich habe ein Dashboard für die Firma meiner Frau erstellt, welches ich über auf der Nas in einem Dockercontainer laufen habe. Im Container gibt es einen Ordner Dokumente, in welchem Daten abgelegt werden (Ordner, Bilder, PDF). Diesen ordner habe ich nun mit einem Freigebenen Ordner (F_Dokumente) verknüpft. Lasse ich den Container laufen, sehe ich in der FileStation alle Ordner und Datein die über das Dashboard abgelget werden, so wie ich das möchte. Da meine Frau aber auch von unterwegs drauf zugreifen möchte, habe ich den Ordner über die Synology Drive Admin Konsole für Drive aktiviert. Leider sehe ich im Drive nun nur den Ordner F_Dokumente, leider ohne Inhalt.
Was muss ich machen damit der Inhalt auch in Drive sichtbar wird. Kann mir bitte jemand weiterhelfen?

Beste Grüße
 
Das ist ein bekannter Bug. Drive erkennt nicht Änderungen, die von Docker hervorgerufen werden. Hat Synology verkackt und seit Jahren nicht behoben. Hilft nur jedes Mal eine Neuindizierung zu machen
 
Hallo,

danke schon mal. Bei mir zeigt aber eine Neuindizierung auch nicht den gewünschten erfolg. Vielleicht nochmals kurz zur weitern Erklärung. Der Docker Container läuft auf dem AdminKonto von wo auch der Freigegebene Ordner erstellt wurde. Für diesen Ordner habe ich eine Gruppe angelegt die auf den Ordner rw rechte hat. Wenn ich nun neu indiziere sehen alle Benutzer in der Gruppe trozdem nur den Ordner F_Dokumente im Drive.
Folgendes hat bei mir nun funktioniert: Ich erstelle im Freigegeben ordner noch einen Ordner Dokument und mounte diesen mit dem Docker Container, was fürs erste nicht genützt hat. Wenn ich diesen Ordner dann aber in der Filstation auswähle und rechte Maustaste Eigenschaften>Allgemein wähle und dort unter Besitzer die Erstellte Gruppe auswähle und den Haken setze auf ordern, unterordner und dateien anwenden setze. Sehe ich alle ordner in der Drive und auch neu erstellte datein über das Dashboard werden sofort sichtbar.
Da ich mich leider zuwenig auskenne weis ich aber nicht ob das eine fünftige Lösung ist, bzw was mache ich wenn ich zugriffsrechte auf einzene Unterordner einschränken muss?

Beste Grüße
 
Ich hätte hier auch auf ein Berechtigungsproblem getippt. Kannst du dem Container User- und Gruppenrechte mitgeben, damit die über den Container erstellten Dateien die passenden Rechte für den Teamordner haben?
 
Hallo zusammen,

es hat etwas gedauert, bis ich wieder Zeit gefunden habe, mich mit dem Problem zu beschäftigen. Mein letzter Beitrag ...

Folgendes hat bei mir nun funktioniert: Ich erstelle im Freigegeben ordner noch einen Ordner Dokument und mounte diesen mit dem Docker Container, was fürs erste nicht genützt hat. Wenn ich diesen Ordner dann aber in der Filstation auswähle und rechte Maustaste Eigenschaften>Allgemein wähle und dort unter Besitzer die Erstellte Gruppe auswähle und den Haken setze auf ordern, unterordner und dateien anwenden setze. Sehe ich alle ordner in der Drive und auch neu erstellte datein über das Dashboard werden sofort sichtbar.
…hat das Problem leider doch nicht vollständig gelöst. Daher habe ich mich noch tiefer damit auseinandergesetzt und möchte – unabhängig davon, ob es jemandem weiterhilft – meine Erkenntnisse ausführlich teilen, um das Thema für mich abschließen zu können.

Was genau passiert:
Das oben beschriebene Vorgehen funktioniert nur für Dateien, die vom Container direkt in den gemounteten Ordner geschrieben werden. Wenn jedoch neue Unterordner erstellt werden – entweder im Container oder auf derselben Ebene – müssen die Besitzrechte jedes Mal manuell neu gesetzt werden. Das ist auf Dauer keine praktikable Lösung für meine Anwendung.

Der Hinweis von „geimist“ brachte mich weiter:
Ich hätte hier auch auf ein Berechtigungsproblem getippt. Kannst du dem Container User- und Gruppenrechte mitgeben, damit die über den Container erstellten Dateien die passenden Rechte für den Teamordner haben?
Ich habe für meinen Fall herausgefunden, dass alle Dateien und Ordner, die vom Docker-Container erstellt werden, standardmäßig dem Benutzer und der Gruppe root gehören (root:root). Da root jedoch kein regulärer Benutzer auf meiner Synology ist, führt das (denke ich zumindest) zu Problemen bei der Sichtbarkeit und Verwaltung, insbesondere in Verbindung mit Synology Drive.
Ich habe daher versucht (siehe Antwort geimist) , bereits im Container die Besitzrechte so zu setzen, dass sie dem Benutzerkonto entsprechen, unter dem der Container auf der NAS läuft (im Folgenden als ad bezeichnet). Das habe ich über das Dockerfile konfiguriert. Ergebnis:
  • Die vom Container erstellten Dateien hatten korrekt ad als Besitzer.
  • Allerdings fehlten dem Container dann wiederum wichtige Rechte, die für meine Anwendung erforderlich sind (z. B. Datenbankzugriff, Schreibrechte in bestimmte Verzeichnisse).
Wenn eine Anwendung keine root-Rechte im Container benötigt, wäre dies eventuell eine geeignete Lösung – insbesondere, um die erstellten Dateien auch in Synology Drive sofort sichtbar zu machen.
Da das für mich nicht praktikabel war, habe ich eine andere Lösung gesucht, die sich einfach umsetzen lässt und im Alltag funktioniert. Hierbei hat sich folgendes ergeben:
Ich habe ein kleines Shell-Skript geschrieben, das regelmäßig per Synology Aufgabenplaner ausgeführt wird. Es prüft rekursiv bestimmte Verzeichnisse und passt den Besitzer an, falls dieser nicht dem gewünschten Benutzer entspricht. Ein Log lasse ich direkt über den Aufgabenplaner protokollieren.
Wer das Skript ebenfalls nutzen möchte, muss lediglich zwei Dinge anpassen:
  • TARGET_USER → den Benutzer, der als Besitzer gesetzt werden soll
  • DIRS → eine Liste der zu überwachenden/verarbeitenden Verzeichnisse
Hinweis: Das Skript ändert nur den Besitzer, nicht die Gruppe. Mein geteilter Ordner ist Firma.
Code:
#!/bin/bash

        # Zielbenutzer
        TARGET_USER="ad"

        # Verzeichnisse
        DIRS=(
          "/volume1/Firma/01_Test"
          "/volume1/Firma/02_Test"
        )

        # UID prüfen
        TARGET_UID=$(id -u "$TARGET_USER")
        if [ -z "$TARGET_UID" ]; then
            echo "Benutzer $TARGET_USER existiert nicht!"
            exit 1
        fi

        # Durchlaufe alle Zielverzeichnisse
        for DIR in "${DIRS[@]}"; do
            if [ -d "$DIR" ]; then
                echo "Bearbeite $DIR ..."
                find "$DIR" -not -user "$TARGET_USER" -exec chown "$TARGET_USER" {} +
            else
                echo "Verzeichnis $DIR existiert nicht – übersprungen."
            fi
        done

Diese Skript in testpfad unter skript.sh abgelget und über SSH ausführbar gemacht:
Code:
sudo chmod +x testpfad/skript.sh

Anschließen eine Aufgabe im Aufgabenplaner (alle 30min zwischen 05:00 und 22:00) erstellt und unter Aufgabeneinstellungen folgendes Benuzerdefiniertes Skript eingefügt
Code:
#!/bin/bash
sudo testpfad/skript.sh

Da sudo standardmäßig eine Passworteingabe erfordert und der Synology Aufgabenplaner kein interaktives Terminal verwendet (was ohnehin nicht praktikabel wäre), habe ich sudo für dieses eine Skript passwortlos konfiguriert. Dazu habe ich über SSH in der sudoers-Datei einen entsprechenden Eintrag vorgenommen, sodass der Aufgabenplaner das Skript ohne Rückfrage ausführen kann. Das ist notwendig, damit chown mit den nötigen Rechten ausgeführt werden kann, um Besitzverhältnisse auch wirklich ändern zu dürfen.
Öffne sudoers
Code:
sudo vi /etc/sudoers
gehe ans ende und wechsle durch eingabe i in den einfüge modus und ergänze folgenden eintrag (Benutzer, Pfad, Skript anpassen)
Code:
ad ALL=(ALL) NOPASSWD: testpfad/skript.sh
speichern und beenden
Code:
:wq!

Wenn das Skript nun ausgeführt wird – entweder manuell oder automatisch über den Aufgabenplaner – werden im freigegebenen Ordner Firma, die Unterordnern 01_Test und 02_Test, inklusive deren weiterer Unterverzeichnisse, überprüft und ggf. der Besitzer angepasst.

Ergebnis:
Die betroffenen Ordner und Dateien sind sofort in Synology Drive sichtbar, da die Besitzverhältnisse korrekt gesetzt sind.
Andere Unterordner wie z. B. 03_Test oder weitere, die nicht vom Skript berücksichtigt werden, behalten die ursprünglichen Besitzrechte – also die des Benutzers, der sie erstellt hat.

Ist etwas länger geworden 😅, aber ich hoffe, dass diese Lösung auch anderen weiterhilft, die vor ähnlichen Herausforderungen stehen.
Gerne freue ich mich über Rückmeldungen, insbesondere auch zu möglichen Sicherheitsbedenken – insbesondere im Hinblick darauf, dass ich für dieses Skript die Passworteingabe bei sudo deaktiviert habe, um eine automatische Ausführung über den Aufgabenplaner zu ermöglichen.

Beste Grüße
 
Danke für die Rückmeldung und schön, dass du eine Lösung für dich finden konntest.

Da sudo standardmäßig eine Passworteingabe erfordert und der Synology Aufgabenplaner kein interaktives Terminal verwendet (was ohnehin nicht praktikabel wäre), habe ich sudo für dieses eine Skript passwortlos konfiguriert. Dazu habe ich über SSH in der sudoers-Datei einen entsprechenden Eintrag vorgenommen, sodass der Aufgabenplaner das Skript ohne Rückfrage ausführen kann. Das ist notwendig, damit chown mit den nötigen Rechten ausgeführt werden kann, um Besitzverhältnisse auch wirklich ändern zu dürfen.
Öffne sudoers
Du hättest im Aufgabenplaner auch einfach den User root ohne sudo als ausführenden User wählen können. Der darf das :)
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat