FedoraRHEL Based

How To Setup SELinux on Fedora 38

Setup SELinux on Fedora 38

In this tutorial, we will show you how to setup SELinux on Fedora 38. In the realm of Linux security, SELinux stands tall as a Mandatory Access Control (MAC) system. It plays a pivotal role in enhancing the security posture of your Fedora 38 system. This guide aims to empower you with the knowledge and skills to implement SELinux effectively. We will delve into understanding SELinux fundamentals, managing SELinux via the command line, configuring policies, troubleshooting issues, and adhering to best practices.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the SELinux on a Fedora 38.


  • A server running one of the following operating systems: Fedora 38.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • A stable internet connection is crucial as we’ll be downloading and installing various packages and dependencies from remote repositories.
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Setup SELinux on Fedora 38

Step 1. Before we can set up SELinux on Fedora 38, it’s important to ensure that our system is up-to-date with the latest packages. This will ensure that we have access to the latest features and bug fixes and that we can install SELinux without any issues:

sudo dnf update

Step 2. Checking the Current SELinux Status.

To begin, ensure SELinux is enabled on your Fedora 38 system. Open a terminal and run:


This command will display the current SELinux status.

SELinux Modes: Fedora 38 offers three SELinux modes:

    • Enforcing: Policies are actively enforced.
    • Permissive: Policies are logged but not enforced.
    • Disabled: SELinux is inactive.

Step 3. Installing SELinux Utilities

If SELinux utilities are not already installed, you can do so using dnf, Fedora’s package manager:

sudo dnf install policycoreutils policycoreutils-python-utils selinux-policy selinux-policy-devel

After installing the SELinux utilities, it’s recommended to reboot your system to ensure SELinux is fully enabled:

sudo reboot

Step 4. Managing SELinux Using the Command Line

Now that your system is prepared, let’s explore how to manage SELinux using the command line:

  • Using ‘setenforce‘ Command

You can set SELinux to enforcing mode using the setenforce command. To make the change persistent across reboots, execute:

sudo setenforce 1

Alternatively, you can edit the SELinux configuration file to set it to enforcing mode:

sudo nano /etc/selinux/config

Change SELINUX=permissive to SELINUX=enforcing, save the file, and reboot.

  • Configuring SELinux in Permissive Mode

SELinux can also operate in permissive mode, where policies are logged but not enforced. This mode is useful for diagnosing potential issues without disrupting system operations:

sudo setenforce 0

For a permanent change, edit /etc/selinux/config as previously described but set SELINUX=permissive.

  • Disabling SELinux Temporarily

While it’s generally not recommended, you can disable SELinux temporarily for specific tasks or troubleshooting. To do so, run:

sudo setenforce 0

After making SELinux configuration changes, it’s advisable to reboot your system to ensure they take effect.

sudo reboot

Step 5. Best Practices for SELinux on Fedora 38

To maximize the effectiveness of SELinux on your Fedora 38 system, follow these best practices:

  • Regularly Updating SELinux Policies

Keep your SELinux policies up to date by applying vendor-supplied updates and maintaining custom policy modules.

  • Implementing Proper Labeling and Contexts

Ensure that files, directories, and processes have the appropriate SELinux labels and contexts to prevent unnecessary denials.

  • Avoiding Common Pitfalls and Misconceptions

Stay informed about SELinux best practices, and avoid common misconceptions and pitfalls that can hinder system performance and security.

Congratulations! You have successfully installed SELinux. Thanks for using this tutorial for setting up SELinux on your Fedora 38 system. For additional help or useful information, we recommend you check the official SELinux website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to idroot.us, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button