[debian-mysql] Bug#994284: mariadb-10.5: Don't require debian.cnf to be executable in logrote configuration

Bas Couwenberg sebastic at xs4all.nl
Wed Sep 15 05:52:11 BST 2021


Source: mariadb-10.5
Version: 1:10.5.11-1
Severity: important
Tags: patch

Dear Maintainer,

When using a non-default configuration with password access to the database, the logrotate postscript fails causing the systemd service to be marked as failed:

 ● logrotate.service - Rotate log files
      Loaded: loaded (/lib/systemd/system/logrotate.service; static)
      Active: failed (Result: exit-code) since Wed 2021-09-15 00:00:01 CEST; 6h ago
 TriggeredBy: ● logrotate.timer
        Docs: man:logrotate(8)
              man:logrotate.conf(5)
     Process: 4138993 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=1/FAILURE)
    Main PID: 4138993 (code=exited, status=1/FAILURE)
         CPU: 204ms

 Sep 15 00:00:01 foobar systemd[1]: Starting Rotate log files...
 Sep 15 00:00:01 foobar logrotate[4139061]: [64B blob data]
 Sep 15 00:00:01 foobar logrotate[4139061]: error: 'Access denied for user 'root'@'localhost' (using password: NO)'
 Sep 15 00:00:01 foobar logrotate[4138993]: error: error running shared postrotate script for '/var/lib/mysql/mysqld.log /var/log/mysql/mysql.log /var/lib/mysql/mariadb.log /var/log/mysql/mysql-slow.log /var/log/mysql/mariadb-s>
 Sep 15 00:00:01 foobar systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE
 Sep 15 00:00:01 foobar systemd[1]: logrotate.service: Failed with result 'exit-code'.
 Sep 15 00:00:01 foobar systemd[1]: Failed to start Rotate log files.

The problem is that the postrotate script only uses /etc/mysql/debian.cnf when it is executable, which a config file should not be. Changing the test from -x to -r to ensure the file exists and is readable resolves the issue.

Please consider applying the attached patch and including it in the next stable update.

Kind Regards,

Bas
-------------- next part --------------
--- debian/patches/1556.patch.orig	2021-09-15 06:39:17.106829777 +0200
+++ debian/patches/1556.patch	2021-09-15 06:40:47.294168561 +0200
@@ -146,7 +146,7 @@
 +  # has thanks to the default use of Unix socket authentication for the 'root'
 +  # account used everywhere since MariaDB 10.4.
 +  postrotate
-+    if test -x /etc/mysql/debian.cnf
++    if test -r /etc/mysql/debian.cnf
 +    then
 +      EXTRAPARAM='--defaults-file=/etc/mysql/debian.cnf'
 +    fi


More information about the pkg-mysql-maint mailing list