In der Konfiguration, die ich eingerichtet habe, möchte ich Samba und Apache den Zugriff auf / var / www erlauben. Ich kann einen Kontext festlegen, der den Samba-Zugriff erlaubt, aber dann hat httpd keinen Zugriff. Die Verwendung von setenforce auf 0 beseitigt Probleme, sodass ich weiß, dass es sich um SELinux handelt.
Außerdem: Wie kann ich den Kontext eines Ordners anzeigen und kann ein Ordner mehrere Kontexte haben?
(CentOS)
apache-2.2
centos
samba
selinux
Joshua Enfield
quelle
quelle
Antworten:
Zunächst können Sie mit ls -Z den Kontext von etwas mit ls anzeigen
Zweitens gibt es zwei Möglichkeiten, Samba und Apache Zugriff auf dasselbe Verzeichnis zu gewähren.
Die einfache Möglichkeit besteht darin, Samba überall Lese- / Schreibzugriff zu gewähren:
Es ist einfach, leicht und beeinträchtigt keine seltsamen Eigenschaften von SELinux.
Wenn Samba uneingeschränkten Zugriff auf alle Verzeichnisse haben soll und nur / var / www ändern möchte, versuchen Sie Folgendes:
Dadurch erhalten sowohl Samba als auch Apache Schreibzugriff auf alle Verzeichnisse mit dem Kontext public_content_rw_t. Beachten Sie, dass chcon nur / var / www ändert. Alle neuen Verzeichnisse, die unter / var / www erstellt wurden, sind public_content_rw_t, jedoch keine vorhandenen Verzeichnisse wie / var / www / html oder / var / www / manual. Wenn Sie alles ändern möchten, fügen Sie ein -R zu chcon hinzu:
Sie können diese CentOS-Wiki-Seite durchsehen, um Hinweise auf andere SELinux-Booleans zu erhalten.
quelle
chcon -t public_content_rw_t /mnt/share/webroot(/.*)?
chcon -t public_content_rw_t /mnt/share
setsebool -P ftpd_full_access=1
Beispielsweise:
quelle