Bug#927953: systemd: user and group files ignored in tmpfiles.d files
Florian Schmidt
debian at fajs.de
Thu Apr 25 12:29:45 BST 2019
Package: systemd
Version: 215-17+deb8u12
Severity: important
Dear Maintainer,
it seems the recent security update led to systemd ignoring the user and
group columns in tmpfiles.d files. This immediately leads to postgresql
in the current oldstable version (postgresql-9.4 9.4.21-0+deb8u1,
postgresql-common 165+deb8u3) breaking on reboot.
This is /usr/lib/tmpfiles.d/postgrestql.conf from
postgresql-common 165+deb8u3:
# Directory for PostgreSQL sockets, lockfiles and stats tempfiles
d /var/run/postgresql 2775 postgres postgres - -
User and group postgres exist on the system. However, after reboot,
/var/run/postgresql has root:root as owner:
# stat /var/run/postgresql
File: ‘/var/run/postgresql’
Size: 60 Blocks: 0 IO Block: 4096 directory
Device: eh/14d Inode: 9690 Links: 3
Access: (0775/drwxrwxr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-04-25 13:19:45.279148802 +0200
Modify: 2019-04-25 13:19:48.963148802 +0200
Change: 2019-04-25 13:19:48.963148802 +0200
Birth: -
This means postgres can't write its lock file in that directory, and
fails to start:
# systemctl status postgresql at 9.4-main.service -l
● postgresql at 9.4-main.service - PostgreSQL Cluster 9.4-main
Loaded: loaded (/lib/systemd/system/postgresql at .service; disabled)
Active: failed (Result: exit-code) since Thu 2019-04-25 13:19:49 CEST; 15s ago
Process: 352 ExecStart=postgresql@%i %i start (code=exited, status=1/FAILURE)
Apr 25 13:19:49 [server] postgresql at 9.4-main[352]: The PostgreSQL server failed to start. Please check the log output:
Apr 25 13:19:49 [server] postgresql at 9.4-main[352]: 2019-04-25 11:19:49 UTC [390-1] FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied
Apr 25 13:19:49 [server] systemd[1]: postgresql at 9.4-main.service: control process exited, code=exited status=1
Apr 25 13:19:49 [server] systemd[1]: Failed to start PostgreSQL Cluster 9.4-main.
Apr 25 13:19:49 [server] systemd[1]: Unit postgresql at 9.4-main.service entered failed state.
I wonder whether that has something to do with the following item in the
change log:
* CVE-2017-18078: tmpfiles: refuse to chown()/chmod() files which are
hardlinked, unless protected_hardlinks sysctl is on.
Though protected_hardlinks is on:
# cat /proc/sys/fs/protected_hardlinks
1
And a directory can't be hardlinked anyway, so the relationship to that
change log entry might be a red herring.
-- Package-specific info:
-- System Information:
Debian Release: 8.11
APT prefers oldstable-updates
APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-8-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages systemd depends on:
ii acl 2.2.52-2
ii adduser 3.113+nmu3
ii initscripts 2.88dsf-59
ii libacl1 2.2.52-2
ii libaudit1 1:2.4-1+b1
ii libblkid1 2.25.2-6
ii libc6 2.19-18+deb8u10
ii libcap2 1:2.24-8
ii libcap2-bin 1:2.24-8
ii libcryptsetup4 2:1.6.6-5
ii libgcrypt20 1.6.3-2+deb8u5
ii libkmod2 18-3
ii liblzma5 5.1.1alpha+20120614-2+b3
ii libpam0g 1.1.8-3.1+deb8u2+b1
ii libselinux1 2.3-2
ii libsystemd0 215-17+deb8u12
ii mount 2.25.2-6
ii sysv-rc 2.88dsf-59
ii udev 215-17+deb8u12
ii util-linux 2.25.2-6
Versions of packages systemd recommends:
ii dbus 1.8.22-0+deb8u1
pn libpam-systemd <none>
Versions of packages systemd suggests:
pn systemd-ui <none>
-- Configuration Files:
/etc/systemd/timesyncd.conf changed [not included]
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list