CentOS 7にMariaDBサーバーがあります。このサーバーはスレーブとして機能し、リモートマスターを複製する必要があります。リモートマスターサーバーはSSHトンネルを介して接続できます。 SSHトンネル「入り口」は127.0.0.1:3307にあります。
MariaDBクライアントプログラムを使用してこのエンドポイントに接続できます。
ただし、MariaDBサーバーは接続できません。 MySQLエラーログには次のものがあります。Slave I/O: error connecting to master '[email protected]:3307' - retry-time: 60 maximum-retries: 86400 message: Can't connect to MySQL server on '127.0.0.1' (13 "Permission denied"), Internal MariaDB error code: 2003
明らかに、人々はすぐにMariaDBサーバーからの非標準接続を拒否するSELinuxを考えています。
SELinuxを許可モード(編集/etc/selinux/config
と再起動)に切り替えた後、良いphociformプロセスをリンクできました。
/var/log/audit/audit.log
SELinux拒否イベント(およびその他のイベント)を使用するログを確認しましょうausearch
(auditdの詳細については、auditdの簡単な紹介")
ausearch --comm mysqld
これにより、次の項目が提供されます。
time->Wed Mar 21 18:52:53 2018
type=PROCTITLE msg=audit(1521654773.504:120): proctitle="/usr/sbin/mysqld"
type=SYSCALL msg=audit(1521654773.504:120): arch=c000003e syscall=42 success=no exit=-115 a0=41 a1=7fd1f4028ad0 a2=10 a3=72 items=0 ppid=1 pid=1342 auid=4294967295 uid=27 gid=27 euid=27 suid=27 fsuid=27 egid=27 sgid=27 fsgid=27 tty=(none) ses=4294967295 comm="mysqld" exe="/usr/sbin/mysqld" subj=system_u:system_r:mysqld_t:s0 key=(null)
type=AVC msg=audit(1521654773.504:120): avc: denied { name_connect } for pid=1342 comm="mysqld" dest=3307 scontext=system_u:system_r:mysqld_t:s0 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket
(システムコール 42例sys_connect
)
とても素敵です。
今読んでください。手動(おそらく役に立たないかもしれません。)したがって、質問は次のようになります。
MariaDBを127.0.0.1:3307に接続するには、どのコマンドを実行する必要がありますか?私が欲しいからSELinuxを再度有効にします。。
ベストアンサー1
SELinuxポリシーは、プロセスがファイル、デバイス、ソケットなどの特定のオブジェクトで実行できるすべての操作を制御します。非標準ポートを使用して受信または通信するようにデーモンが設定されている場合、ターゲットポリシーはそのアクションを拒否します。ラベルはポートを制御するために使用されます。 MariaDBタグを見つけるには、を使用し、semanage
よく知られているポート番号を使用して結果をフィルタリングします。grep
semanage port -l | grep 3306
これにより、次のような出力が生成されます。
mysqld_port_t tcp 1186, 3306, 63132-63164
このラベルのルールを変更するには、semanage
次のようにポート 3307 を再度使用します。
semanage port -a -t mysqld_port_t -p tcp 3307
上記のコマンドを実行した後、ルールを再確認して3307が許可されていることを確認します。
semanage port -l | grep 3307
ポートリストに3307が表示されます。
mysqld_port_t tcp 3307, 1186, 3306, 63132-63164