Linux故障排除 - 在CentOS 7/8和Rhel 7/8中找不到Semanage命令
在我在Apache配置文件中进行必要的更改后,通过防火墙允许自定义端口,Apache服务器仍然拒绝侦听自定义端口。
我想到了Selinux不允许端口,因此我运行了以下命令,使Apache服务器侦听不同的端口:
# semanage port -a -t ftp_port_t -p tcp 8090
其中8090是我想要Apache服务器侦听的端口。
但它扔了另一个错误:
-bash: semanage: command not found
我不知道哪个软件包将在CentOS系统上提供"SemaNage"命令。
如果我们想知道如何在RHEL 7&8和CentOS 7&8版本中修复此错误,请查找提供SemaNage命令并如下所述安装。
在Centos 7/8和Rhel 7/8中找不到SemaNage命令
首先,我们将看到如何在CentOS 8服务器中解决此问题。
FIX"未找到SemaNage命令"在CentOS中的错误8& Rhel 8
首先让我们了解哪个包提供"SemaNage"命令。
为此,请运行以下命令:
# dnf provides /usr/sbin/semanage
或者,
# dnf whatprovides /usr/sbin/semanage
来自CentOS 8服务器的示例输出:
Last metadata expiration check: 0:32:47 ago on Saturday 08 February 2017 12:02:37 PM IST. policycoreutils-python-utils-2.9-3.el8.noarch : SELinux policy core python utilities Repo : BaseOS Matched from: Filename : /usr/sbin/semanage policycoreutils-python-utils-2.9-3.el8_1.1.noarch : SELinux policy core python utilities Repo : BaseOS Matched from: Filename : /usr/sbin/semanage
正如我们所看到的,那个名为"policyCoreUtils-Python-utth-utth-utth-2.9-3.el8_1.1.noarch"的包提供"semaNage"命令,它可在默认存储库中使用,例如:Basic。
因此,让我们使用以下命令作为root用户使用以下命令安装此软件包:
# dnf install policycoreutils-python-utils
示例输出:
CentOS-8 - AppStream 2.9 kB/s | 4.3 kB 00:01 CentOS-8 - Base 4.5 kB/s | 3.8 kB 00:00 CentOS-8 - Extras 1.7 kB/s | 1.5 kB 00:00 Dependencies resolved. ========================================================================================================================================================================== Package Architecture Version Repository Size ========================================================================================================================================================================== Installing: policycoreutils-python-utils noarch 2.9-3.el8_1.1 BaseOS 250 k Installing dependencies: checkpolicy x86_64 2.9-1.el8 BaseOS 348 k python3-audit x86_64 3.0-0.10.20160831git0047a6c.el8 BaseOS 85 k python3-libsemanage x86_64 2.9-1.el8 BaseOS 127 k python3-policycoreutils noarch 2.9-3.el8_1.1 BaseOS 2.2 M python3-setools x86_64 4.2.2-1.el8 BaseOS 600 k Transaction Summary ========================================================================================================================================================================== Install 6 Packages Total download size: 3.6 M Installed size: 11 M Is this ok [y/N]: y Downloading Packages: (1/6): python3-audit-3.0-0.10.20160831git0047a6c.el8.x86_64.rpm 215 kB/s | 85 kB 00:00 (2/6): python3-libsemanage-2.9-1.el8.x86_64.rpm 304 kB/s | 127 kB 00:00 (3/6): policycoreutils-python-utils-2.9-3.el8_1.1.noarch.rpm 258 kB/s | 250 kB 00:00 (4/6): checkpolicy-2.9-1.el8.x86_64.rpm 260 kB/s | 348 kB 00:01 (5/6): python3-setools-4.2.2-1.el8.x86_64.rpm 296 kB/s | 600 kB 00:02 (6/6): python3-policycoreutils-2.9-3.el8_1.1.noarch.rpm 490 kB/s | 2.2 MB 00:04 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 594 kB/s | 3.6 MB 00:06 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python3-setools-4.2.2-1.el8.x86_64 1/6 Installing : python3-libsemanage-2.9-1.el8.x86_64 2/6 Installing : python3-audit-3.0-0.10.20160831git0047a6c.el8.x86_64 3/6 Installing : checkpolicy-2.9-1.el8.x86_64 4/6 Installing : python3-policycoreutils-2.9-3.el8_1.1.noarch 5/6 Installing : policycoreutils-python-utils-2.9-3.el8_1.1.noarch 6/6 Running scriptlet: policycoreutils-python-utils-2.9-3.el8_1.1.noarch 6/6 Verifying : checkpolicy-2.9-1.el8.x86_64 1/6 Verifying : policycoreutils-python-utils-2.9-3.el8_1.1.noarch 2/6 Verifying : python3-audit-3.0-0.10.20160831git0047a6c.el8.x86_64 3/6 Verifying : python3-libsemanage-2.9-1.el8.x86_64 4/6 Verifying : python3-policycoreutils-2.9-3.el8_1.1.noarch 5/6 Verifying : python3-setools-4.2.2-1.el8.x86_64 6/6 Installed: policycoreutils-python-utils-2.9-3.el8_1.1.noarch checkpolicy-2.9-1.el8.x86_64 python3-audit-3.0-0.10.20160831git0047a6c.el8.x86_64 python3-libsemanage-2.9-1.el8.x86_64 python3-policycoreutils-2.9-3.el8_1.1.noarch python3-setools-4.2.2-1.el8.x86_64 Complete!
现在我们可以使用SemaNage命令管理Selinux政策。
说明:
如果我们不知道Semange命令的确切路径,则可以简单地运行以下命令:
# dnf provides semanage
或者,
# dnf provides */semanage
或者,
# dnf whatprovides */semanage
这将显示与上述命令相同的结果。
通常,可执行文件位于这些位置/usr/sbin和/usr/bin和/usr/local/bin中的任何一个中。
因此,我们可以直接搜索这些位置。
要获得帮助,请运行:
# semanage -h
示例输出:
usage: semanage [-h] {import,export,login,user,port,ibpkey,ibendport,interface,module,node,fcontext,boolean,permissive,dontaudit} ... semanage is used to configure certain elements of SELinux policy with-out requiring modification to or recompilation from policy source. positional arguments: {import,export,login,user,port,ibpkey,ibendport,interface,module,node,fcontext,boolean,permissive,dontaudit} import Import local customizations export Output local customizations login Manage login mappings between linux users and SELinux confined users user Manage SELinux confined users (Roles and levels for an SELinux user) port Manage network port type definitions ibpkey Manage infiniband ibpkey type definitions ibendport Manage infiniband end port type definitions interface Manage network interface type definitions module Manage SELinux policy modules node Manage network node type definitions fcontext Manage file context mapping definitions boolean Manage booleans to selectively enable functionality permissive Manage process type enforcement mode dontaudit Disable/Enable dontaudit rules in policy optional arguments: -h, --help show this help message and exit
另外,请参阅手册页。
# man semanage
修复"未找到semaNage命令"在CentOS中的错误7& Rhel 7
要弄清楚哪个程序包将在CentOS 7上提供SemaNage命令,运行:
# yum provides /usr/sbin/semanage
或者,
# yum whatprovides /usr/sbin/semanage
来自CentOS 7服务器的示例输出:
Loaded plugins: fastestmirror Determining fastest mirrors * base: mirror.nbrc.ac.in * extras: mirror.nbrc.ac.in * updates: mirror.nbrc.ac.in policycoreutils-python-2.2.5-11.el7.x86_64 : SELinux policy core python : utilities Repo : base Matched from: Filename : /usr/sbin/semanage policycoreutils-python-2.2.5-11.el7_0.1.x86_64 : SELinux policy core python : utilities Repo : updates Matched from: Filename : /usr/sbin/semanage
如上所述,我们需要安装policycoreutils-python-2.2.5-11.el7_0.1.x86_64才能使用'semaNage'命令。
所以,让我们使用以下命令作为root用户安装policycoreutils-python-2.2.5-11.el7_0.1.x86_64包:
# yum install policycoreutils-python
示例输出:
================================================================================ Package Arch Version Repository Size ================================================================================ Installing: policycoreutils-python x86_64 2.2.5-20.el7 base 435 k Installing for dependencies: audit-libs-python x86_64 2.4.1-5.el7 base 69 k checkpolicy x86_64 2.1.12-6.el7 base 247 k libcgroup x86_64 0.41-8.el7 base 64 k libsemanage-python x86_64 2.1.10-18.el7 base 94 k python-IPy noarch 0.75-6.el7 base 32 k setools-libs x86_64 3.3.7-46.el7 base 485 k Updating for dependencies: audit x86_64 2.4.1-5.el7 base 234 k audit-libs x86_64 2.4.1-5.el7 base 80 k libsemanage x86_64 2.1.10-18.el7 base 123 k policycoreutils x86_64 2.2.5-20.el7 base 803 k Transaction Summary ================================================================================ Install 1 Package (+6 Dependent packages) Upgrade ( 4 Dependent packages) Total download size: 2.6 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. (1/11): audit-libs-2.4.1-5.el7.x86_64.rpm | 80 kB 00:02 (2/11): audit-libs-python-2.4.1-5.el7.x86_64.rpm | 69 kB 00:02 (3/11): checkpolicy-2.1.12-6.el7.x86_64.rpm | 247 kB 00:02 (4/11): libsemanage-2.1.10-18.el7.x86_64.rpm | 123 kB 00:01 (5/11): audit-2.4.1-5.el7.x86_64.rpm | 234 kB 00:04 (6/11): libsemanage-python-2.1.10-18.el7.x86_64.rpm | 94 kB 00:02 (7/11): policycoreutils-python-2.2.5-20.el7.x86_64.rpm | 435 kB 00:03 (8/11): python-IPy-0.75-6.el7.noarch.rpm | 32 kB 00:02 (9/11): setools-libs-3.3.7-46.el7.x86_64.rpm | 485 kB 00:08 (10/11): policycoreutils-2.2.5-20.el7.x86_64.rpm | 803 kB 00:10 (11/11): libcgroup-0.41-8.el7.x86_64.rpm | 64 kB 00:37 ------------------------------------------------------------------------------- Total 71 kB/s | 2.6 MB 00:37 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : audit-libs-2.4.1-5.el7.x86_64 1/15 Updating : libsemanage-2.1.10-18.el7.x86_64 2/15 Updating : policycoreutils-2.2.5-20.el7.x86_64 3/15 Installing : libsemanage-python-2.1.10-18.el7.x86_64 4/15 Installing : audit-libs-python-2.4.1-5.el7.x86_64 5/15 Installing : python-IPy-0.75-6.el7.noarch 6/15 Installing : checkpolicy-2.1.12-6.el7.x86_64 7/15 Installing : libcgroup-0.41-8.el7.x86_64 8/15 Installing : setools-libs-3.3.7-46.el7.x86_64 9/15 Installing : policycoreutils-python-2.2.5-20.el7.x86_64 10/15 Updating : audit-2.4.1-5.el7.x86_64 11/15 Cleanup : policycoreutils-2.2.5-11.el7_0.1.x86_64 12/15 Cleanup : libsemanage-2.1.10-16.el7.x86_64 13/15 Cleanup : audit-2.3.3-4.el7.x86_64 14/15 Cleanup : audit-libs-2.3.3-4.el7.x86_64 15/15 Verifying : setools-libs-3.3.7-46.el7.x86_64 1/15 Verifying : libsemanage-2.1.10-18.el7.x86_64 2/15 Verifying : libcgroup-0.41-8.el7.x86_64 3/15 Verifying : checkpolicy-2.1.12-6.el7.x86_64 4/15 Verifying : policycoreutils-2.2.5-20.el7.x86_64 5/15 Verifying : python-IPy-0.75-6.el7.noarch 6/15 Verifying : audit-libs-2.4.1-5.el7.x86_64 7/15 Verifying : libsemanage-python-2.1.10-18.el7.x86_64 8/15 Verifying : audit-2.4.1-5.el7.x86_64 9/15 Verifying : policycoreutils-python-2.2.5-20.el7.x86_64 10/15 Verifying : audit-libs-python-2.4.1-5.el7.x86_64 11/15 Verifying : audit-libs-2.3.3-4.el7.x86_64 12/15 Verifying : policycoreutils-2.2.5-11.el7_0.1.x86_64 13/15 Verifying : libsemanage-2.1.10-16.el7.x86_64 14/15 Verifying : audit-2.3.3-4.el7.x86_64 15/15 Installed: policycoreutils-python.x86_64 0:2.2.5-20.el7 Dependency Installed: audit-libs-python.x86_64 0:2.4.1-5.el7 checkpolicy.x86_64 0:2.1.12-6.el7 libcgroup.x86_64 0:0.41-8.el7 libsemanage-python.x86_64 0:2.1.10-18.el7 python-IPy.noarch 0:0.75-6.el7 setools-libs.x86_64 0:3.3.7-46.el7 Dependency Updated: audit.x86_64 0:2.4.1-5.el7 audit-libs.x86_64 0:2.4.1-5.el7 libsemanage.x86_64 0:2.1.10-18.el7 policycoreutils.x86_64 0:2.2.5-20.el7 Complete!
在CentOS 7和Rhel 7系统上开始使用SemaNage命令。