SElinux notes

From Wiki
Revision as of 19:07, 10 November 2016 by Admin (Talk | contribs)

Jump to: navigation, search

Relabel the file system:

touch /.autorelabel
reboot

Update security policy for a directory:

semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
semanage fcontext -a -t httpd_sys_content_t '/usr/share/nginx/html(/.*)?'
semanage fcontext -a -t cvs_data_t '/home/cvsroot(/.*)?'
semanage fcontext -a -t svnserve_content_t '/home/svn/repo(/.*)?'
semanage fcontext -a -t git_rw_content_t '/srv/git/repositories(/.*)?'
restorecon -RFvv /www

Bacula needs permisssion to manage volumes:

semanage fcontext -a -t bacula_store_t '/storage/volumes/default(/.*)?'
restorecon -Rv /storage/volumes/default

Set file labels for samba:

semanage fcontext -a -t samba_share_t '/storage/slideshow(/.*)?'
restorecon -Rv /storage/slideshow


You can also temporarily change context using the chcon command.

chcon --reference=/root/ -R /www

Apache rules for cpanel:

/etc/selinux/targeted/contexts/files/file_contexts.local:

/usr/local/apache/bin/ab    system_u:object_r:bin_t:s0
/usr/local/apache/bin/htdbm    system_u:object_r:bin_t:s0
/usr/local/apache/bin/htdigest    system_u:object_r:bin_t:s0
/usr/local/apache/bin/htpasswd    system_u:object_r:bin_t:s0
/usr/local/apache/bin/logresolve    system_u:object_r:bin_t:s0
/usr/local/apache/bin/apachectl    system_u:object_r:httpd_initrc_exec_t:s0
/usr/local/apache/bin/htcacheclean    system_u:object_r:sbin_t:s0
/usr/local/apache/bin/httpd    system_u:object_r:httpd_exec_t:s0
/usr/local/apache/bin/httxt2dbm    system_u:object_r:sbin_t:s0
/usr/local/apache/bin/rotatelogs    system_u:object_r:httpd_rotatelogs_exec_t:s0
/usr/local/apache/conf(/.*)?    system_u:object_r:httpd_config_t:s0
/usr/local/apache/error/README    system_u:object_r:httpd_config_t:s0
/usr/local/apache/icons/README    system_u:object_r:httpd_config_t:s0
/usr/local/apache/icons(/.*)?    system_u:object_r:httpd_sys_content_t:s0
/usr/local/apache/error(/.*)?    system_u:object_r:httpd_sys_content_t:s0
/usr/local/apache/modules(/.*)?    system_u:object_r:httpd_modules_t:s0
/usr/local/apache/logs(/.*)?    system_u:object_r:httpd_log_t:s0

A few changes are required to allow apache to run.

setsebool -P httpd_enable_homedirs on

php-fpm also needs a boolean set.

setsebool -P httpd_unified on

Manually compiling policy files:

checkmodule -M -m -o cvsweb.mod cvsweb.te 
semodule_package -o cvsweb.pp -m cvsweb.mod 
semodule -i cvsweb.pp