Synology DS420+, mariadb отказано в доступе в /volume1/logs/mysql

Вопрос или проблема

Я хотел бы поместить логи MariaDB в легкодоступное место (без необходимости использования ssh), но у меня это не получилось.
Моя текущая конфигурация следующая:

[mysqld]
general_log
general_log_file=/volume1/logs/mysql/general.log
# log_error=/volume1/logs/mysql/error.log # в ожидании работы общих логов

Я выполнил chown -R mysql:mysql /volume1/logs/mysql

drwxrwxrwx+ 1 mysql mysql 0 Jun 8 00:12 mysql

Если есть способ перенести логи в центр логов Synology, я приму его!

Установленные вами разрешения позволяют всем, у кого есть доступ к системе, читать, записывать и выполнять файлы в вашей папке. Это не лучшая практика и представляет собой угрозу безопасности.

Что я сделал: авторизовался в системе через ssh, получил с помощью

id

свои числовые идентификаторы пользователя и группы, а затем добавил

user: 1026:100

атрибут в файл compose (замените их вашими id, полученными в предыдущей команде). Добавьте папку через bash и измените разрешения с помощью

mkdir foldername

chmod +w

Вы должны были установить “Проход по папкам/Выполнение файлов” для общей папки и сделать так, чтобы дочерние элементы наследовали это.

Разрешения ACL > Чтение > Проход по папкам/Выполнение файлов
помощь: https://kb.synology.com/en-us/DSM/help/DSM/AdminCenter/file_share_privilege?version=7#b_25

.

Ответ или решение

Для решения проблемы с доступом к логам MariaDB на Synology DS420+ необходимо учитывать много аспектов, связанных как с конфигурацией системы, так и с управлением правами доступа. Ваша ситуация вызывает ошибки "permission denied", когда MariaDB пытается записать логи в директорию /volume1/logs/mysql. Основная задача состоит в обеспечении правильного доступа к соответствующим файлам и директориям, не ставя при этом под угрозу безопасность системы.

Теория

MariaDB — это реляционная база данных с открытым кодом, которая часто используется в сочетании с различными устройствами хранения данных, такими как NAS Synology. Основной механизм работы MariaDB с файлами логов заключается в том, что она требует надлежащих прав доступа к директориям, где эти логи сохраняются.

Общие логи и логи ошибок предоставляют ценные сведения о работе серверной части. Правильная настройка может дать вам возможность размещать эти логи в легкодоступных местах без необходимости использования SSH для доступа.

Проблема с "permission denied" часто связана с неправильной установкой прав на папку или с недостаточными правами ACL (Access Control List). Важно, чтобы служба базы данных MariaDB могла свободно записывать данные в назначенные директории.

Пример

С вашей стороны уже были предприняты следующие меры:

  1. Конфигурация MariaDB настроена для хранения логов в /volume1/logs/mysql.
  2. Установлены права владельца с помощью команды chown -R mysql:mysql /volume1/logs/mysql.
  3. Проведена проверка текущих прав с помощью команд id и chmod +w.

Приведенные настройки, на первый взгляд, должны разрешать MariaDB запись в указанную директорию. Однако этого недостаточно, если ACL не настроена должным образом.

Применение

  1. Проверка текущих прав и корректировка:

    Убедитесь, что пользователь mysql действительно владеет директориями и имеет полноценные права на запись. Несмотря на то что вы уже провели chown, необходимо убедиться, что нет конфликтов с ACL:

    getfacl /volume1/logs/mysql

    Эта команда покажет, какие права установлены через ACL.

  2. Настройка ACL:

    Для корректной работы MariaDB необходимы права на чтение, запись и выполнение для пользователя mysql. Выполните следующие команды для настройки:

    setfacl -m u:mysql:rwx /volume1/logs/mysql
    setfacl -R -m u:mysql:rwx /volume1/logs/mysql

    Эти команды обеспечат рекурсивное предоставление нужных прав.

  3. Разрешение доступа через Synology DSM:

    Откройте интерфейс Synology DSM и перейдите в Control Panel -> Shared Folder. Убедитесь, что у соответствующего пользователя или группы есть необходимые права для работы с данной директорией. Флажок "Traverse folders/Execute files" должен быть установлен.

  4. Несколько рекомендаций по безопасности:

    • Избегайте присвоения прав 777, так как это ставит под угрозу безопасность системы, позволяя любому пользователю читать, записывать и выполнять файлы.
    • Регулярно проверяйте списки пользователей и групп для актуализации прав доступа и исключения нерелевантных записей.
  5. Интеграция с лог центром Synology:

    Если вы хотите интегрировать логи MariaDB в Synology Log Center, воспользуйтесь встроенными инструментами или сторонними расширениями, которые могут предоставить возможность отслеживания логов в более удобной форме.

  6. Перезапуск служб:

    После внесения изменений необходимо перезапустить MySQL или MariaDB:

    sudo service mysql restart

    Также убедитесь, что Synology NAS перезапустила все связанные службы для применения новых настроек.

Заключение

Настройка MariaDB и обеспечение правильных прав доступа на NAS Synology — это процесс, требующий детального внимания и понимания специфики работы системы. Важно учитывать, что безопасность должна быть приоритетом, особенно когда речь идет о критически важных сервисах, таких как базы данных. Следуя указанным шагам, вы сможете настроить корректную работу логов и интегрировать их с Log Center, обеспечивая при этом защиту данных.

Оцените материал
Добавить комментарий

Капча загружается...