SElinux notes

From Wiki
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(/.*)?'
semanage fcontext -a -t httpd_sys_content_t "/storage/pub(/.*)?" 
semanage fcontext -a -t 'bacula_store_t' '/storage/volumes(/.*)?'
restorecon -RFv <dir>

Bacula needs permisssion to manage volumes:

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

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

Manually compiling policy files:

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