Frage zur Nutzung eines Dockercontainers mit gemounteten Hostfolder

Polygon

Enthusiast
Thread Starter
Mitglied seit
11.12.2005
Beiträge
1.890
Hallo Leute,

bin gerade dabei alle Dienste meines Servers auf Docker umzustellen.

Habe eben den Container "dperson/samba" von Dockerhub geladen um den Sambaserver damit zu ersetzen.
Der Container mountet mittels Parameter "-v /mnt/samba:/mount " den Hostfolder auf den Container.
Der Sambashare wird im Netzwerk korrekt angezeigt, beim Versuch zu schrieben erhalte ich aber leider "Permission denied".

Ich hatte die Berechtigungen des Hostfolders auf root;docker und 774 gestellt. Ich dachte es reicht wenn die Gruppe "docker" 7er Zugriff hat.
Da ich das Programm SELinux nutze habe ich auch "chcon -Rt svirt_sandbox_file_t /mnt/samba/" ausgeführt. Das führte ebenfall nicht zum Erfolg.
Daraufhin habe ich die Berechtigungen des Hostfolders auf 777 gesetzt. Jetzt funktioniert alles prima. Das ist aber offensichtlich keine gute Lösung.

Kann mir jemand einen Tipp geben, wo der Fehler liegt?

Danke im Vorraus!
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Wie sieht denn genau das command aus mit dem du den container startest?
Hast du dir mal die Github Seite von dem Image angeschaut? GitHub - dperson/samba: Samba docker container
Dort ist auch ein funktionierendes Beispiel zu finden.

In dem docker container wird das vom maintainer geschriebene samba.sh script ausgeführt zur konfiguration der shares.
Wenn du das nicht so benutzt wird es der maintainer vorgesehen hat funktioniert das wahrscheinlich nicht.
 
sudo docker run -it --name samba -p 137:137/udp -p 138:138/udp -p 139:139 -p 445:445 \
-v /mnt/md0/samba:/mount \
-d dperson/samba \
-n \
-u "xxx;PASS1" \
-u "yyy;PASS2" \
-s "movies;/mount/movies;yes;yes;no;all;none;xxx;Movies" \
-s "series;/mount/series;yes;yes;no;all;none;xxx;Series" \
-s "music;/mount/music;yes;yes;no;all;none;xxx;Music" \
-s "other;/mount/other;yes;yes;no;xxx;none;xxx;Other"

Ich habe gelesen das man -p Ownership und Permissions setzen kann, aber es ist nirgend auf der Seite erklärt wie die Eingabe auszusehen hat.
 
Wenn ich das richtig sehe konfigurierst du den share als read only

-s "series;/mount/series;yes;yes;no;all;none;xxx;Series"
-s "<name;/path>[;browse;readonly;guest;users;admins;writelist;comment]

series ist der name
/mount/series der path
das erste yes ist das browse
das 2. waehre dann read only

da wuerde ich mal no versuchen :)

bzgl. der -p flag, da musst du glaube ich garnichts uebergeben.
die entsprechende zeile im skript:
Code:
### perms: fix ownership and permissions of share paths
# Arguments:
#   none)
# Return: result
perms() { local i file=/etc/samba/smb.conf
    for i in $(awk -F ' = ' '/   path = / {print $2}' $file); do
        chown -Rh smbuser. $i
        find $i -type d ! -perm 775 -exec chmod 775 {} \;
        find $i -type f ! -perm 0664 -exec chmod 0664 {} \;
    done
}

Arguments: none

Edit: ah, habe eben weiter gelesen. du setzt ja noch die writelist auf xxx, welches ja dein user ist..
funktioniert es denn ohne die writelist wenn du readonly auf no setzt?
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh