SELinux tips

By | 2 juli 2012

andere locatie voor webpagina's

Als SELINUX in enforced mode draait dan kunnen homepage's van gebruikers op een andere locatie dan de standaardlocatie een error 403 Forbinnden opleveren. In dat geval moet die directory, in dit voorbeeld ~/public_html de juiste context meekrijgen. Dat kan worden gedaan door:

 chcon -R -t httpd_user_content_t public_html/

Met ls -Z -d ~/public_html kan de context worden bekeken:

Voor de wijziging:

 drwxrwxr-x auser auser user_u:object_r:user_home_t public_html

en na de wijziging:

  1. rw-rw-r

Mocht er hierna nog foutmeldingen komen dan kan het nodig zijn om

setsebool -P httpd_enable_homedirs true 

te geven.

 

website's voor Apache in een andere directory

Maak een directory aan voor de websites, bijvoorbeel /virtual_hosts met mkdir /virtual_hosts. Als SELINUX draait zullen websites die daar draaien niet opgeroepen kunnen worden en zal Apache een Access Denied melding geven. Dat kan op de volgende manier worden opgelost:

semanage fcontext -a -t httpd_sys_content_t '/virtual_hosts(/.*)?'
restonecon -RFvv /virtual_hosts

Controleer met ls -Zd /virtual_hosts of de content nu goed staat.

samba

Om samba met SELINUX enabled te draaien als domain controller wordt het volgende commando gegeven:

 setsebool -P samba_domain_controller on

Om homedir's in samba te kunnen sharen:

 setsebool -P samba_enable_home_dirs on

Als een nieuwe directory wordt gemaakt als top-level voor een nieuwe share:

 chcon -t samba_share_t /path/to/directory

Use the

samba_export_all_ro

of

samba_export_all_rw

Boolean to share system directories. To share such directories and only allow read-only permissions:

 setsebool -P samba_export_all_ro on

To share such directories and allow read and write permissions:

 setsebool -P samba_export_all_rw on

toegang tot een bepaalde poort

 semanage port -a -t http_port_t -p tcp 8181