Filezilla keine zugriff auf DS Verzeichnis

Status
Für weitere Antworten geschlossen.

robert1974

Benutzer
Mitglied seit
04. Dez 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
Hallo,
hoffe es kann mir einer helfen...habe leider wenig Erfahrung mit Docker.

Habe Filezilla als Docker am laufen,habe bei Volumes ein Verzeichnis auf der NAS gemappt
wenn ich was reinkopiere sehe ich es in Filezilla
aber wenn ich von Filezilla daten runterlade kommt ein Fehler, vermutlich keine Rechte
Hatte es bei einem anderen Container genauso gemacht da hat es funktioniert.
was muss ich machen damit es funktioniert
Danke !
 

PercyLive

Benutzer
Mitglied seit
26. Nov 2019
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Hi Robert,
ich hänge mich da mal dran, weil ich in jüngster Zeit dieselben Erfahrungen gemacht habe, leider aber auch noch keine abschließende Lösung gefunden habe.
Was mir bisher aufgefallen ist: verschiedene Container scheinen standardmäßig mit unterschiedlichen Berechtigungen zu laufen. So kommt es, dass manche auf ein gemountetes Verzeichnis auf dem Host zugreifen können, andere aber nicht. Insbesondere viele neue Containerversionen, welche mittlerweile auch ein Augenmerk auf das Thema Sicherheit legen, haben teilweise nur noch Standardberechtigungen. Diese Container haben dann keine Schreibberechtigung auf dem gemounteten Hostverzeichnis. Dazu gehören z.B. MySQL, der JDownloader und leider noch einige weitere.
Ich nutze zum Anlegen der Container übrigens Portainer, da habe ich mehr Möglichkeiten (z.B. Macvlan) als mit der Standard-Docker App.

Was ich bereits (ohne Erfolg) versucht habe: Auslesen der UserID's auf der Synology via SSH und Anlegen der Container mithilfe einer admin UserID

Leider ebenfalls ohne Erfolg. Das Problem scheint also nicht nur auf Filezilla beschränkt zu sein, sondern auch auf viele andere Container.

Die große Frage lautet daher: Wie kann ich auf der Synology einen Container so anlegen, dass er einem bereits existierenden User der Synology zugeordnet ist (der auch Schreibberechtigung auf dem gemounteten Hostverzeichnis hätte).
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Bei Images gibt es drei Wege, wie ein Autor beim erstellen des Images vorgagangen sein kann:
1. Container startet als Benutzer root, führt den Hauptprozess als Benutzer root aus -> Hier ist egal wer der Besitzer der Hostseite des Mounts ist
2. Container startet als Benutzer root, führt den Hauptprozess als eingeschränkter Benutzer aus -> diese Images verwenden sehen meistens die Konfiguration der UID:GID für den eingeschränkten Benutzer über Environment/Umwelt-Parameter vor -> hier muss der Besitzer der Hostseit des Mounts der Parametrisierten UID:GID entsprechen, sonst gibt es Berechtigungsprobleme
3. Container startet als eingeschränkter Benutzer, führt den Hauptprozess als eingeschränkter Benutezr aus -> hier muss man aus der Doku entnehmen welche UID:GID für den Besitzer von Hostseiten eines Mounts zu setzten ist. Lässt sich notfalls innerhalb eines Container mit dem Befehl `id` herausbekommen.

Das Filezilla-Image scheint Typ3 zu sein. Man kann die UID:GID entweder in der Doku finden, oder selber im Container über den Reiter "Terminal" und dort dem Befehl "id" herausfinden.
Das Verzeichnis das auf der Syno für den Mount verwendet wird dann genau diese UID:GID bekommen. Im Zweifel muss man Letzteres über die Shell mit 'chmod UID:GID -R /volume1/docker/pfadxyz' machen. Die UID und GID muss dazu nicht zwingend auf der DS existieren.
 

robert1974

Benutzer
Mitglied seit
04. Dez 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
Hallo haydibe,

hab das mal versucht...hoffe es ist richtig so
Terminal>Erstellen>mit Befehl starten> id
dann kommt
uid=0 (root) gid=0 (root) groups=0 (root) usw..
dann sollte es doch gehen oder ?
 

robert1974

Benutzer
Mitglied seit
04. Dez 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
Hallo,
hab es gerade gelöst bin in der Syno auf den ordner und habe unter Eigenschaften Everyone Lesen/schreiben gemacht dann hat es funktioniert

Leider habe ich ein Neues großes Problem geschaffen wollte einen zweites Verzeichnis ertellen und auch everyone berechtigen leider gab es das nicht und habe erweiterte Berechtigungen aktiviert leider ist das Verzeichnis jetzt weg und kann es dadurch nicht rückgängig machen
wie komme ich wieder auf das Verzeichnis ?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Offensichtlich habe ich mit Typ3 geirrt, da sonst die id nicht die von root gewesen wäre. Es kann also nur Typ2 oder Typ1 sein. Welches Images verwendest Du genau?

Zu deinem Berechtigungsproblem: Ich verstehe nicht mal WO das Verzeichnis weg sein soll... in der DS? Im Filezilla Container?
 

robert1974

Benutzer
Mitglied seit
04. Dez 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
Hab es zum Glück über die Systemsteuerung wieder gelöst.

Verstehe jetzt nur nicht warum der Everyone nicht bei jeden Ordner zur Verfügung steht,
und wenn der Container mit root läuft sollte er doch über all Schreibrechte haben oder?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Da Du das Image IMMER NOCH NICHT angegeben hast, musste ich bisher raten welcher Typ es ist ;)

Docker Container sind die Berechtigungen der DS herzlich egal - es kennt die erweiterten ACL noch nicht mal.
Es müssen die UNIX-Permissions stimmen!
 

robert1974

Benutzer
Mitglied seit
04. Dez 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
Es ist das latest ,vor fünf Tagen gezogen.
Wo sehe ich gensudir Version?
Aber welchen Befehl muss ich eingeben um einen bestimmten User zu berechtigen?
Und ich habe noch nicht verstanden warum der root User des docker nicht Zugriff auf alles hat
 

robert1974

Benutzer
Mitglied seit
04. Dez 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
Hallo hier die Bilder,
kannst du mir sagen was genau du sehen willst das wird nicht viel helfen.
Es funktioniert jetzt eigentlich, aber es hat halt jeder darauf zugriff, würde gerne einen bestimmten user berechtigen.
 

Anhänge

  • 2019-12-02 07_56_26-DS916 - Synology DiskStation.jpg
    2019-12-02 07_56_26-DS916 - Synology DiskStation.jpg
    32,2 KB · Aufrufe: 38
  • 2.jpg
    2.jpg
    44,2 KB · Aufrufe: 33

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Ein Bild sagt mehr als tausend Worte. Wäre der Screenshot schon beim ersten Post dabei gewesen, hätte ich dir direkt schreiben können was gemach werden muss.
Das Image entspricht Typ2: startet als Root, führt den Prozess als eingeschränkter Benutzer aus - hier hilft id im Container nicht weiter.

Die Umwelt-Variablen: USER_ID und GROUP_ID werden verwendet um diese dem eingeschränkten Benutzer zu geben, bevor der eignetlich Service startet.
Sprich: du musst die UID des Besitzers als USER_ID verwenden und die GID des Besitzers als GROUP_ID von dem Verzeichnis das Du auf der Syno in den Container mountest. Danach passt es auch mit den Berechtigungen.
 

robert1974

Benutzer
Mitglied seit
04. Dez 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
16
Hallo,

danke für die Mühe !

welcher Eintrag steht für den Typ bzw. root user ?

Leider kenne ich mich in diesen DIngen nicht so gut aus...soll ich an der id im container was ändern oder wie bekomme ich User/container ID auf einen Nenner ?
Danke
 
Status
Für weitere Antworten geschlossen.
 

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