Linux故障排除 - 在CentOS 7/8和Rhel 7/8中找不到Semanage命令

时间:2020-03-21 11:46:09  来源:igfitidea点击:

在我在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命令。