How to disable SELinux on CentOS

Are you troubleshooting your Linux system, but SELinux is getting in the way? Here's how to disable SELinux on CentOS temporarily and permanently.

SELinux (Security-Enhanced Linux) is a security module integrated into the Linux system that provides a system administrator an ability to have more control over the system access, security policies, including MAC (Mandatory Access Control). It limits or restricts programs, and cron jobs ability to access files, what actions they can perform by defining a security policy.

SELinux protects against misuse and unauthorized access as it:

  • Restricts reading data and programs
  • Restricts modifying data and programs
  • Stops any program who try to bypass the security mechanism
  • Restricts interfering with another process
  • Prevents information security lapses

SELinux service is enabled by default when you install CentOS. Some applications may not be supporting this security mechanism, and so to make these applications work, we may need to disable or turn off SELinux. In this article, we will show you step by step procedure of disabling SELinux temporarily or permanently.

Check SELinux Status

Before we make any change to the SELinux service, we first need to check the current status of SELinux. We can do that using below command:

$ sestatus

check SELinux status
check SELinux status

After checking the status, we need to disable SELinux. It can be disabled temporarily or permanently as you wish.

Disable SELinux Temporarily

To disable SELinux temporarily,  use the following command:

# echo 0 > /selinux/enforce

Alternatively, you can use the setenforce tool as follows:

# setenforce 0

Else, use the Permissive option instead of 0 as below:

# setenforce Permissive

This method will only disable SELinux temporarily until the next reboot. It comes in handy when you want to disable SELinux for the troubleshooting session you are in. When done with fixing, you can reboot the system, so that stays protected.

Disable SELinux Permanently

To permanent disable SELinux, let’s open the config file in the path ‘/etc/sysconfig/selinux’ and edit it using Vi editor.

# vi /etc/sysconfig/selinux

disable selinux by changing file
disable SELinux by changing file

Carefully, change the directive SELinux=enforcing to SELinux=disabled as shown in the below image.

disable selinux by changing status
disable SELinux by changing the status

Now save and exit the file.  Finally, reboot system for changes to take effect, and recheck the SELinux status to confirm.

$ sestatus

check SELinux status after reboot
check SELinux status after reboot


That’s all about disabling SELinux temporarily and permanently. We hope you enjoyed this short tutorial.  Do you perform system administration activities? When did you feel SELinux is on your way and had to disable it? Please leave a comment below mentioning your situation so that our readers can learn from it. Sharing is caring!

Related Articles


Please enter your comment!
Please enter your name here


Latest Articles


Cinnamon 5 desktop review

If you are a veteran in the Linux operating system world, you are familiar with the various Linux operating system desktop environments. They make the Linux operating system modular and flexible such that you can remove and replace its graphical layout, or you can choose to work under a non-graphical interface.


More Articles Like This