Difference between revisions of "SElinux notes"

From Wiki
Jump to: navigation, search
 
(17 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
Update security policy for a directory:
 
Update security policy for a directory:
  
  semanage fcontext -a -f "" -t httpd_sys_content_t '/www(/.*)?'
+
  semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
  restorecon -RFvv /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(/.*)?'
  
You can also temporarily change context using the '''chcon''' command.
+
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
 
  chcon --reference=/root/ -R /www
 +
 +
Manually compiling policy files:
 +
module="my_bacula_fd"
 +
checkmodule -M -m -o ${module}.mod ${module}.te
 +
semodule_package -o ${module}.pp -m ${module}.mod
 +
semodule -i ${module}.pp
 +
 +
Create an selinux equivalence.  This sets the context for /export/home to match /home.
 +
 +
semanage fcontext -a -e /home /export/home
 +
 +
Modifying an SELinux port.
 +
 +
Ports that are defined as part of the system policy can be modified for other uses.
 +
 +
semanage port -m -t ssh_port_t -p tcp 443

Latest revision as of 15:54, 16 November 2020

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:

module="my_bacula_fd"
checkmodule -M -m -o ${module}.mod ${module}.te 
semodule_package -o ${module}.pp -m ${module}.mod 
semodule -i ${module}.pp

Create an selinux equivalence. This sets the context for /export/home to match /home.

semanage fcontext -a -e /home /export/home

Modifying an SELinux port.

Ports that are defined as part of the system policy can be modified for other uses.

semanage port -m -t ssh_port_t -p tcp 443