Puncte:0

Centos 7 Samba php:apache Permisiune refuzată la mutarea fișierului cu containerul Docker după mutarea la volumul :z din partajarea samba

drapel in

În primul rând, permiteți-mi să spun că chmod 777 nici măcar nu funcționează pentru asta (deși știu că nu ar fi soluția corectă).

Iată situația: am un server de e-mail care primește e-mail. Pe acel server există un cronjob care rulează un script .sh care mută fișierele de e-mail într-o partajare samba. Un server de aplicații separat (care este locul în care am problema) are, de asemenea, un cronjob care rulează un script .sh care mută acele fișiere de e-mail din partajare:

#!/bin/sh

if [ "$(ls -A /samba/rapoarte)" ]; atunci
mv /samba/reports/* /home/adam/dmarc/reports/mail
chown adam:adam /home/adam/dmarc/reports/mail/*
chmod 664 /home/adam/dmarc/reports/mail/*
fi

Toate acestea par să funcționeze bine. Rețineți, cronjob-ul este rulat ca root (este crontab-ul root). De asemenea, directorul „rapoarte” este montat ca volum în interiorul unui container php:apache Docker (-./reports:/var/www/reports:z). Fișierele sunt acolo și disponibile pentru a fi citite în container. Cu toate acestea, când folosesc php (invocat dintr-un script, nu apache) mi se refuză permisiunea de a redenumi/muta fișierele. Cu toate acestea, dacă încadrez fiecare fișier într-un fișier identic cu un nume diferit:

cat theProblemFile > noProblem

....atunci merge bine. Proprietarul/grupul și permisiunile sunt exact aceleași pentru ambele.

Există ceva în legătură cu faptul că fișierul a fost mutat dintr-o partajare Samba care îl face diferit? Ce se intampla aici? De asemenea, în ceea ce privește obținerea fișierelor de la serverul de e-mail la serverul de aplicații, există un mod standard/cele mai bune practici/preferat în industrie de a face acest lucru?

Mulțumiri

Puncte:2
drapel cz

Ați mutat fișiere (fără -Z opțiunea) în loc să le copieze, astfel încât să poarte contextele lor originale SELinux în loc de contextele potrivite pentru destinația lor.

Când ați creat un fișier nou, acesta avea deja contextul SELinux corect.

Poți să folosești restaurare pentru a remedia contextele SELinux pe fișierele afectate, de exemplu:

restorecon -rv <director>
drapel in
Mulțumesc! Îmi puteți recomanda o modalitate bună de a afla ce ar trebui/trebuie să știu despre SELinux? M-am gândit că ar putea avea de-a face cu SELinux, dar getfacl nu a arătat nimic diferit.
Michael Hampton avatar
drapel cz
@AdamWinter Puteți încerca [documentația Red Hat](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_selinux/index) pentru început.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.