Ik zit met het probleem dat een Docker container een volume gemapped heeft om data naar weg te schrijven. De folder waar die data in weggeschreven wordt wil ik vervolgens sharen dmv Samba.
Nu loop ik tegen het probleem aan dat de Docker container automatisch een label aan die folder en onderliggende files geeft, en met dat label geeft Selinux Samba geen toegang tot de folder/files.
Label wat de container geeft is container_file_t, en het label dat Samba toegang geeft is samba_share_t
Via dit command heb ik het label proberen aan te passen:
semanage fcontext -a -t samba_share_t "/data1(/.*)?" && restorecon -rv /data1
Probleem is dat de container dus direct weer het andere label er aan geeft. Bovendien zou de container ook geen toegang meer hebben als ik op 1 of andere manier kan voorkomen dat het label weer automatisch toegepast wordt.
Zit dus een beetje in een catch22. Wat meestal betekent het dat ik het vanuit de basis verkeerd aanpak.
Maar ik zie geen andere weg (wellicht tunnelvisie) dan vanuit de Docker container direct naar de share te schrijven dmv een volume. Moet ik zoiets op een andere manier benaderen om dit voor elkaar te krijgen?
Uiteraard Selinux uitschakelen en dan is dit probleem opgelost, alleen vind ik dat geen fijn idee.
Relevante software en hardware die ik gebruik:
CentOS 7.7 Core
Docker containers: nzbget, radarr (later komt nog sonarr)
Nu loop ik tegen het probleem aan dat de Docker container automatisch een label aan die folder en onderliggende files geeft, en met dat label geeft Selinux Samba geen toegang tot de folder/files.
Label wat de container geeft is container_file_t, en het label dat Samba toegang geeft is samba_share_t
Via dit command heb ik het label proberen aan te passen:
semanage fcontext -a -t samba_share_t "/data1(/.*)?" && restorecon -rv /data1
Probleem is dat de container dus direct weer het andere label er aan geeft. Bovendien zou de container ook geen toegang meer hebben als ik op 1 of andere manier kan voorkomen dat het label weer automatisch toegepast wordt.
Zit dus een beetje in een catch22. Wat meestal betekent het dat ik het vanuit de basis verkeerd aanpak.
Maar ik zie geen andere weg (wellicht tunnelvisie) dan vanuit de Docker container direct naar de share te schrijven dmv een volume. Moet ik zoiets op een andere manier benaderen om dit voor elkaar te krijgen?
Uiteraard Selinux uitschakelen en dan is dit probleem opgelost, alleen vind ik dat geen fijn idee.
Relevante software en hardware die ik gebruik:
CentOS 7.7 Core
Docker containers: nzbget, radarr (later komt nog sonarr)