Подключить samba к Active Directory через порт 636

Если был установлен пакет setroubleshoot-server(рекомендованный ), то программа setroubleshootdбудет вызываться через dbus из демона аудита auditd(, хотя и косвенно )и заданные записи SELinux AVC для обработки:

SELinux Notification and Logging Cascade

Обратите внимание, что setroubleshootdна самом деле не "демон" (, он был ), а , вызываемый -в -программе активности, которая снова завершает работу, если все спокойно .

setroubleshootdзапишется в системный журнал, и вы увидите информацию об отклонении AVC. По умолчанию это заканчивается на /var/log/messages, если rsyslogне настроено по-другому.

setroubleshootdтакже будет уведомлять клиентов dbus , заинтересованных в событиях SELinux, таких как sealertили виджетах GUI.

Используйте sealertдля проверки записей AVC. На странице руководства говорится :: «Две наиболее полезные опции командной строки: -l для «поиска» идентификатора предупреждения и -a для «анализа» файла журнала».

Глядя на /var/log/messages,теперь можно будет увидеть такие вещи, как:

setroubleshoot: SELinux is preventing mysqld from
name_connect access on the tcp_socket port 3307. For complete SELinux
messages run: sealert -l 90cd70e9-0bb2-4668-b165-d5be37e26b22

..и дополнительные строки очень удобочитаемой информации, которые оказались частью вывода sealert -l 90cd70e9-0bb2-4668-b165-d5be37e26b22.

Итак, давайте запустимsealert -l 90cd70e9-0bb2-4668-b165-d5be37e26b22--это дает нам хороший совет (а не то, что эта запись была получена при включенном SELinux):

SELinux is preventing mysqld from name_connect access on the tcp_socket port 3307.

*****  Plugin connect_ports (85.9 confidence) suggests   *********************

If you want to allow mysqld to connect to network port 3307
Then you need to modify the port type.
Do
# semanage port -a -t PORT_TYPE -p tcp 3307
    where PORT_TYPE is one of the following: dns_port_t, dnssec_port_t,
    kerberos_port_t, mysqld_port_t, ocsp_port_t, tram_port_t.

*****  Plugin catchall_boolean (7.33 confidence) suggests   ******************

If you want to allow nis to enabled
Then you must tell SELinux about this by enabling the 'nis_enabled' boolean.
You can read 'None' man page for more details.
Do
setsebool -P nis_enabled 1

*****  Plugin catchall_boolean (7.33 confidence) suggests   ******************

If you want to allow mysql to connect any
Then you must tell SELinux about this by enabling the 'mysql_connect_any' boolean.
You can read 'None' man page for more details.
Do
setsebool -P mysql_connect_any 1

*****  Plugin catchall (1.35 confidence) suggests   **************************

If you believe that mysqld should be allowed name_connect access on the
port 3307 tcp_socket by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'mysqld' --raw | audit2allow -M my-mysqld
# semodule -i my-mysqld.pp


Additional Information:
Source Context                system_u:system_r:mysqld_t:s0
Target Context                system_u:object_r:unreserved_port_t:s0
Target Objects                port 3307 [ tcp_socket ]
Source                        mysqld
Source Path                   mysqld
Port                          3307
Host                          foobar.example.com
Source RPM Packages
Target RPM Packages
Policy RPM                    selinux-policy-3.13.1-166.el7_4.9.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     foobar.example.com
Platform                      Linux foobar.example.com
                              3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7
                              19:03:37 UTC 2018 x86_64 x86_64
Alert Count                   36
First Seen                    2018-03-22 16:04:59 CET
Last Seen                     2018-03-22 16:39:59 CET
Local ID                      90cd70e9-0bb2-4668-b165-d5be37e26b22

Raw Audit Messages
type=AVC msg=audit(1521733199.870:201): avc:  denied  { name_connect }
for  pid=1352 comm="mysqld" dest=3307
scontext=system_u:system_r:mysqld_t:s0
tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket


Hash: mysqld,mysqld_t,unreserved_port_t,tcp_socket,name_connect

Итак, с 85,9 уверенностью("Я вернусь!")

"Если вы хотите разрешить mysqld подключаться к сетевому порту 3307, вам необходимо изменить тип порта. Сделайте semanage port -a -t PORT_TYPE -p tcp 3307", где PORT _TYPE равен mysqld_port_t!

0
01.03.2020, 22:10
1 ответ

Вы должны изменить порт LDAP, а не Samba. Следовательно, если вы посетите свой ldap.conf, вы сможете указать порт.

Файл обычно находится в /etc/ldap/, но различные дистрибутивы помещают его в разные папки.

https://linux.die.net/man/5/ldap.conf

0
28.04.2021, 23:21

Теги

Похожие вопросы