How to Fix ‘semanage command’ Not Found Error in CentOS/RHEL
I am trying to configure a Samba share with correct boolean and security context values using semanage command to make changes in SELinux policy to allow access to Samba share from remote clients on my RHEL 8 server, but I suddenly encountered the following error.
# semanage fcontext --at samba_share_t "/finance(/.*)?" -bash: semanage: command not found
semanage is an SELinux (Security-Enhanced Linux) management tool that is used to configure specific elements without making any adjustments to or reassembling from policy sources. Semanage consist of mapping from Linux username to SELinux user identities and it also includes mapping security context for numerous kind of objects like interface, network port, etc.
I was wondering how to fix this error and I am not able to find what package provides semanage command. After a bit of research, I came to know that you need to use yum provides the option to find out the package that provides the queried file called /usr/sbin/semanage.
In this short quick article, we will explain how to install necessary packages for getting semanage command using the yum command.
# yum provides /usr/sbin/semanage
From the above sample output, you can see that we need to install policycoreutils-python-utils-2.8-16.1.el8.noarch package to use the semanage command.
# yum install policycoreutils-python-utils
Once the installation is complete, try running the semanage command again, it will work like magic.
You can also use the following commands to get the manual page on semanage command options and usage.
# man semanage OR # semanage --help