questo lo stato (ovvero attivo)
sestatus
----------------------------------------------------------------------
SELinux status: enabledSELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
----------------------------------------------------------------------
se disattivo temporaneamente tutto Selinux i file vengono salvati nella cartella di upload
setenforce 0
non ho voglia pero' di disabilitare tutto Selinux e lo riattivo
setenforce 1
aureport --avc | tail
----------------------------------------------------------------------
18. 06/08/2014 14:01:01 ? system_u:system_r:init_t:s0 0 (null) (null) (null) unset 53519. 06/08/2014 14:01:08 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 540
20. 06/08/2014 14:01:52 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 542
21. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
22. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir add_name unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
23. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file create system_u:object_r:httpd_sys_content_t:s0 denied 544
24. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file write system_u:object_r:httpd_sys_content_t:s0 denied 544
----------------------------------------------------------------------
per avere qualche suggerimento ho usato
grep httpd_sys_content /var/log/audit/audit.log | audit2allow
----------------------------------------------------------------------
#============= httpd_t ==============
allow httpd_t httpd_sys_content_t:dir { write add_name };
allow httpd_t httpd_sys_content_t:file { write create setattr };
----------------------------------------------------------------------
allow httpd_t httpd_sys_content_t:dir { write add_name };
allow httpd_t httpd_sys_content_t:file { write create setattr };
----------------------------------------------------------------------
che indica di abilitare in scrittura httpd
girando un po' per Google e' consigliato di abilitare i seguenti comandi selinux nel caso che sviluppino webapp
setsebool -P httpd_enable_cgi on
setsebool -P httpd_unified on
setsebool -P httpd_builtin_scripting on
a questo punto l'uploader funziona con Selinux attivato
altrimenti il metodo proposto sul wiki di Selinux e' il seguente
grep httpd _sys_content /var/log/audit/audit.log | audit2allow -M apache_selinux
semodule -i apache_selinux.pp altrimenti il metodo proposto sul wiki di Selinux e' il seguente
grep httpd _sys_content /var/log/audit/audit.log | audit2allow -M apache_selinux