SElinux und TYPO3 08.09.2018

Man kann es mögen oder auch nicht. SElinux ist ein sinnvolles Sicherheitssystem, welches man nicht deaktivieren sollte. In vielen Blogs oder "Tutorials" liest man leider zu oft den Schritt: SElinux deaktivieren.

Statt SElinux zu deaktivieren, empfinde ich es als ratsam, es richtig einzustellen. Der Befehl hierfür nennt sich semanage. In diesem Beispiel wird eine einfache TYPO3-Composer Installation für SElinux eingestellt. Ohne diese Einstellungen, wird man immer wieder Probleme mit den Lese- & Schreibrechten haben. Bzw. TYPO3 wird sich beklagen, das es z.B. den Cache nicht anlegen kann.

Als erstes werden Lese- bzw. Zugriffsrechte für httpd auf /var/www/ gesetzt.

 

semanage fcontext -a -t httpd_sys_content_t "/var/www(/.*)?"

 

Danach werden die altbekannten Ordner mit Schreibrechten versehen:

 

semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/typo3conf"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/typo3conf/ext"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/typo3conf/l10n"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/uploads"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/uploads/media"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/typo3temp(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/fileadmin(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/private/typo3conf/LocalConfiguration.php"

 

Beim semanage Befehl fällt folgendes auf: httpd_sys_content_t steht für httpd Leserechte und httpd_sys_rw_content_t für Lese- & Schreibrechte.
Das ganze dann mittels restorecon einmal rekursiv übernehmen:

 

restorecon -Rv /var/www

 

Und fertig. Sicherheitshalber einmal die Besitzrechte rekursiv anpassen:

 

chown -R apache:apache /var/www

 

Und schon passt es mit den Lese- & Schreibrechten.