Mein Container kann nicht auf den zugeordneten Ordner oder die zugeordnete Datei zugreifen und zeigt den Fehler „Berechtigung verweigert“ an. Was kann ich tun?

Mein Container kann nicht auf den zugeordneten Ordner oder die zugeordnete Datei zugreifen und zeigt den Fehler „Berechtigung verweigert“ an. Was kann ich tun?

Einige Artikel wurden maschinell aus dem Englischen übersetzt und können Ungenauigkeiten oder Grammatikfehler enthalten.

Symptome

Ihr Container kann nicht auf den zugeordneten Ordner oder die zugeordnete Datei auf dem Synology NAS zugreifen und in den Protokollen des Containers wird die Fehlermeldung „Berechtigung verweigert“ angezeigt. Der Container wird möglicherweise unerwartet beendet, wenn dieser Fehler auftritt.

In diesem Artikel dient ein Node-RED- Container als Beispiel. Das folgende Protokoll wird angezeigt:

Error: EACCES: permission denied, copyfile '/usr/src/node-red/node_modules/node-red/settings.js' -> '/data/settings.js'

Umgebung

DSM 7.2 und höher

Diagnose

Der Container hat keine Zugriffsberechtigung für den zugeordneten Ordner oder die zugeordnete Datei. Wie unter Symptome angeführt ist das „/data“-Volume des Containers keinem les- und beschreibbaren Ordner zugeordnet.

Damit der Container ordnungsgemäß funktioniert, stellen Sie sicher, dass Jeder mindestens über die Berechtigung Lesen für den zugeordneten Ordner oder die zugeordnete Datei verfügt. 1 2 Spezifische Berechtigungsanforderungen können je nach Image variieren. Lesen Sie die Dokumentation des Image, das Sie verwenden, um weitere Einzelheiten zu erfahren.

Lösung

Gehen Sie wie folgt vor, um die Berechtigung von zugeordneten Ordnern oder Dateien zu ändern:

  1. Wählen Sie unter Container Manager > Container den Container aus und klicken Sie auf Details .
  2. Überprüfen Sie unter Einstellungen > Volume-Einstellungen die Berechtigungen der zugeordneten Ordner oder Dateien. Im folgenden Beispiel wird das /data- Volume des Containers dem Ordner /docker/nodered mit Lese-/Schreibberechtigung zugeordnet.
    1.png
  3. Gehen Sie in File Station zum zugeordneten Ordner oder zur zugeordneten Datei und konfigurieren Sie die Berechtigungen . Die Berechtigungseinstellungen in File Station und Container Manager müssen übereinstimmen. Konfigurieren Sie basierend auf den Einstellungen im Container Manager die Berechtigung in File Station wie folgt:

    Container Manager Berechtigungen

    File Station-Berechtigungen

    Nur Lesen

    Lesen für alle 1 2

    Lesen/Schreiben

    Lesen & Schreiben für alle 3

    Erlauben Sie beispielsweise Everyone , im Ordner /docker/nodered zu lesen & zu schreiben .
    2.png

Anmerkungen:

  1. Überprüfen Sie die Standardberechtigungen des freigegebenen Ordners „docker“ .
  2. Container werden als root oder andere beliebige Benutzer in DSM ausgeführt. Das Benutzerkonto, das der Container verwendet, kann je nach Konfiguration des Containers abweichen. Daher stellt die Zuweisung von Berechtigungen an „ Everyone “ sicher, dass die Container auf die zugeordneten Ordner und Dateien zugreifen können, unabhängig von root Benutzern oder beliebigen Benutzern.
  3. Um die Datensicherheit zu erhöhen, sollten Sie die " Lesen & Schreiben -Berechtigung für Everyone " nur auf den zugeordneten Unterordner oder die zugeordnete Datei anwenden, anstatt auf dem gesamten gemeinsamen Ordner. Zusätzlich zu diesen Berechtigungen können Sie Berechtigungen für den gesamten freigegebenen Ordner konfigurieren, um den Zugriff zu kontrollieren.
Symptome
Umgebung
Diagnose
Lösung