Просто добавлю, что в исходном коде также упоминается это:
Я проверил недавний снимок. В частности, proftpd-cvs-20130903 / contrib / mod_sql_mysql.c
:
485 /* Make sure the MySQL config files are read in. This will read in
486 * options from group "client" in the MySQL .cnf files.
487 */
488 mysql_options(conn->mysql, MYSQL_READ_DEFAULT_GROUP, "client");
Клиенты MySQL, которые связываются с libmysqlclient , читают глобальные параметры из раздела [client]
в /etc/my.cnf
. Это типичное поведение для таких клиентов, и ProFTPD является таким клиентом , когда вы используете его модуль MySQL.
Логическое значение SELinux ftpd_full_access
разрешает этот доступ, но также эффективно отключает SELinux для всех операций FTP-демона, поэтому его не следует использовать без особой осторожности.
Если бы это был я, я бы отправил запрос функции против selinux-policy
, запрашивая логическое значение, разрешающее это добавить доступ или, возможно, добавить его к логическому ftpd_connect_db
.
Из отключенного документа
Вопрос : Как мне настроить mod_sql
, чтобы он использовал зашифрованные соединения ( например SSL / TLS) к внутреннему серверу базы данных?
Ответ : Если вы используете MySQL, вы можете настроить это в разделе [client] вашего my.cnf
файл конфигурации.
Вот почему proftpd пытается прочитать /etc/my.cnf