Disable SELinux on CentOS 7 / RHEL 7 / Fedora Linux

I need to disable SELinux on CentOS 7. How can I disable SELinux from the command line over ssh based session?

SELinux is an acronym for Security-Enhanced Linux. It is a Linux kernel security feature for access control. For example, with the help of SELinux sysadmin can determine which Linux server users and apps can access resources.
SELinux is an implementation of a mandatory access control mechanism in the Linux kernel and was developed by NSA. This page shows how to disable SELinux security feature on a CentOS / RHEL and Fedora Linux.

ADVERTISEMENTS

How to disable SELinux on a CentOS 7 / RHEL 7 / Fedora Linux

The procedure to remove and disable SELinux security features is as follows:

  1. Log in to your server
  2. Check the current SELinux status, run: sestatus
  3. To disable SELinux on CentOS 7 temporarily, run: sudo setenforce 0
  4. Edit the /etc/selinux/config file and set the SELINUX to disabled
  5. Reboot the Linux server
  6. Verify it by running the sestatus and getenforce again

Let us see all commands, examples and usage in details.

How to find out SELinux status on CentOS 7

Run the following sestatus command sestatus
Check the SELinux Status
Another option is to run the following command to print the current mode of SELinux
getenforce
Enforcing

Another option is to runt the following cat command:
cat /etc/selinux/config
Sample outputs:

SELINUX=enforcing
SELINUXTYPE=targeted

Different types of security policy

The /etc/selinux/config file controls the state of SELinux on the system. SELINUX= can take one of these three values:

  • enforcing – SELinux security policy is enforced.
  • permissive – SELinux prints warnings instead of enforcing (disabled).
  • disabled – No SELinux policy is loaded (disabled).

SELINUXTYPE= can take one of following:

  • targeted – Targeted processes are protected.
  • minimum – Modification of targeted policy. Only selected processes are protected.
  • mls – Multi Level Security protection.

Warning: The author does not recommend disabling SELinux and is not responsible for security problems on your Linux-based server.

Disable SELinux

You can modify the mode SELinux is running in using the setenforce command. For example, to put SELinux in enforcing mode, run:
sudo setenforce Enforcing
sestatus

To put SELinux in permissive mode i.e. disabled mode:
sudo setenforce Permissive
sestatus
getenforce

How to Disable SELinux on CentOS 7
Please note that is temporary solution to disable SELinux without rebooting the server and active for the current session only. Hence, use the following method for disabling SELinux forever.

Disabling SELinux permanently

Edit the /etc/selinux/config file, run:
sudo vi /etc/selinux/config
Set SELINUX to disabled:
SELINUX=disabled
Save and close the file in vi/vim. Reboot the Linux system:
sudo reboot
After reboot, make sure following commands gives Disabled output indicating that SELinux removed and disabled on your Linux server:
getenforce
sestatus

Disable SELinux and verify it on CentOS 7 or RHEL 7

Conclusion

This page explained how to disable SELinux running on your CentOS 7, RHEL 7 and Fedora Linux. For more information, see this page here.

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS

Comments on this entry are closed.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.