Linux Tutorial

Linux File/Directory Management

Linux Packaging And Compression

Vim Text Editor

Linux Text Processing

Linux Software Installation

Linux User/User Group Management

Linux Permission Management

Linux Filesystem Management

Linux Advanced Filesystem Management

Linux System Management

Linux Backup and Recovery

Linux System Service Management

Linux System Log Management

Linux Boot Management

LAMP/LNMP Environment

SELinux Management

Enabling And Disabling SELinux Strategy Rules

SELinux (Security-Enhanced Linux) provides additional security features to a Linux system. It uses policy rules to enforce access controls. In this tutorial, we will discuss how to enable and disable SELinux policy rules, specifically focusing on SELinux booleans.

SELinux booleans are switches that enable or disable a specific policy rule. Booleans make it easier to customize SELinux behavior without having to modify the policy source code directly. The getsebool and setsebool commands are used to query and modify the status of booleans.

  • Viewing the current status of SELinux booleans:

To view the current status of all SELinux booleans, use the getsebool command with the -a option:

sudo getsebool -a

This will display a list of booleans and their current status (on or off).

  • Enabling or disabling a specific SELinux boolean:

To enable or disable a specific SELinux boolean, use the setsebool command with the -P option to make the change persistent across reboots:

sudo setsebool -P boolean_name on|off

Replace boolean_name with the name of the boolean you want to modify, and on or off depending on whether you want to enable or disable it.

For example, to enable the httpd_can_network_connect boolean:

sudo setsebool -P httpd_can_network_connect on

To disable the httpd_can_network_connect boolean:

sudo setsebool -P httpd_can_network_connect off
  • Temporarily enabling or disabling a SELinux boolean:

If you want to enable or disable a SELinux boolean temporarily (without persistence across reboots), use the setsebool command without the -P option:

sudo setsebool boolean_name on|off

For example, to temporarily enable the httpd_can_network_connect boolean:

sudo setsebool httpd_can_network_connect on

Keep in mind that the changes made without the -P option will be lost after a system reboot.

In this tutorial, we have discussed how to enable and disable SELinux policy rules, specifically focusing on SELinux booleans. Understanding how to modify SELinux booleans is essential for customizing your system's security and troubleshooting SELinux issues.

  1. How to turn on and off SELinux policies: Enable or disable SELinux policies based on system requirements. Example:

    sudo nano /etc/selinux/config
    
  2. Changing SELinux enforcement mode in Unix-like systems: Change SELinux enforcement mode using the setenforce command.

    sudo setenforce 1
    
  3. Using setenforce and getenforce commands in SELinux: Use setenforce to change enforcement mode and getenforce to check the current mode.

    sudo setenforce 0
    getenforce
    
  4. Enabling and disabling SELinux permissive mode: Put SELinux in permissive mode to log policy violations without enforcing actions.

    sudo setenforce 0
    
  5. Modifying SELinux policy settings for specific domains: Modify SELinux policy settings for specific domains or processes.

    semanage permissive -a httpd_t
    
  6. Managing SELinux booleans to control policy behavior: Use semanage or setsebool to manage SELinux booleans and control policy behavior.

    sudo setsebool -P httpd_can_network_connect 1