Поиск по сайту:

Команда semanage не найдена в CentOS 7/8 и RHEL 7/8

Некоторое время назад я пытался настроить сервер Apache для прослушивания порта, отличного от порта по умолчанию, то есть 80. После того, как я внес необходимые изменения в файл конфигурации Apache и разрешил использование пользовательского порта через брандмауэр, сервер Apache по-прежнему отказывался прослушивать пользовательский порт. Немного погуглив, я понял, что SELinux не разрешает этот порт, поэтому я выполнил следующую команду, чтобы сервер Apache прослушивал другой порт:

# semanage port -a -t ftp_port_t -p tcp 8090

Здесь 8090 — это порт, который я хочу, чтобы сервер Apache прослушивал.

Но выдала еще одну ошибку:

-bash: semanage: command not found

Я понятия не имею, какой пакет будет предоставлять команду semanage в моей системе CentOS. Если вы когда-нибудь задавались вопросом, как исправить эту ошибку в версиях RHEL 7 и 8 и CentOS 7 и 8, найдите ту, которая предоставляет команду semanage, и установите ее, как описано ниже.

Команда semanage не найдена в CentOS 7/8 и RHEL 7/8

Сначала мы увидим, как это исправить на сервере CentOS 8.

Исправьте ошибку «команда 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 2020 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-utils-2.9-3.el8_1.1.noarch» предоставляет команду «semanage», и она доступна в репозитории по умолчанию, то есть BaseOS.

Итак, давайте установим этот пакет, используя следующую команду от имени пользователя 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.20180831git0047a6c.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.20180831git0047a6c.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.20180831git0047a6c.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.20180831git0047a6c.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.20180831git0047a6c.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!

Вот и все. Теперь мы можем управлять политиками SELinux с помощью команды semanage.

Примечание:

Если вы не знаете точный путь к команде 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.

Чтобы выяснить, какой пакет предоставит команду semanage в CentOS 7, запустите:

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'< команда.

Итак, давайте установим пакет policycoreutils-python-2.2.5-11.el7_0.1.x86_64 , используя следующую команду от имени пользователя root:

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!

Начните использовать команду semanage в своих системах CentOS 7 и RHEL 7.

Надеюсь это поможет.

Рекомендуется к прочтению:

  • Как найти пакет, предоставляющий определенный файл в Linux
  • Узнайте, доступен ли пакет для вашего дистрибутива Linux
  • Предлагать установку пакетов при запуске недоступной команды
  • Как проверить версию пакета Linux перед его установкой

Статьи по данной тематике