In it's current version (systemd-229-4ubuntu21.9) it seems to be made worse.
Files in /var/run/ will get `Too many levels of symbolic links` files in /run/ will still get `fchownat() of /run/... failed: Invalid argument` root@sandres-test-systemd:/usr/lib/tmpfiles.d# SYSTEMD_LOG_LEVEL=debug systemd-tmpfiles --create zabbix-agent.conf Reading config file "zabbix-agent.conf". Running create action for entry d /var/run/zabbix Failed to validate path /var/run/zabbix: Too many levels of symbolic links root@sandres-test-systemd:/usr/lib/tmpfiles.d# cat zabbix-agent.conf d /var/run/zabbix 0755 zabbix zabbix - - root@sandres-test-systemd:/usr/lib/tmpfiles.d# SYSTEMD_LOG_LEVEL=debug systemd-tmpfiles --create zabbix-agent2.conf Reading config file "zabbix-agent2.conf". Running create action for entry d /run/zabbix Found existing directory "/run/zabbix". "/run/zabbix" has right mode 40755 chown "/run/zabbix" to 108.115 fchownat() of /run/zabbix failed: Invalid argument root@sandres-test-systemd:/usr/lib/tmpfiles.d# cat zabbix-agent2.conf d /run/zabbix 0755 zabbix zabbix - - root@sandres-test-systemd:/usr/lib/tmpfiles.d# -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1804847 Title: systemd=229-4ubuntu21.8 use of fchownat failes on some systems (openvz) Status in systemd package in Ubuntu: Confirmed Bug description: The following description is taken from: https://answers.launchpad.net/ubuntu/+source/systemd/+question/676237 Hello everyone, I'm running 16.04 LTS on a virtual server which, I think, uses OpenVz. After a recent reboot I found most of my services to be in a failed state. The reason for that, I guess, are these log entries: Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/elasticsearch failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/kopano failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/kopano failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/php failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/postgresql failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/redis failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/screen failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/utmp failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/systemd/netif failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/systemd/netif/links failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/systemd/netif/leases failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/log/journal failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/log/journal/bbad3a438f4b4fb49e5d0700bd5981e8 failed: Invalid argument Nov 17 04:47:42 h2118376 systemd-tmpfiles[165]: fchownat() of /run/log/journal/bbad3a438f4b4fb49e5d0700bd5981e8/system.journal failed: Invalid argument To verify I tried this: /usr/lib/tmpfiles.d# SYSTEMD_LOG_LEVEL=debug systemd-tmpfiles --create elasticsearch.conf Reading config file "elasticsearch.conf". Running create action for entry d /var/run/elasticsearch Found existing directory "/var/run/elasticsearch". "/run/elasticsearch" has right mode 40755 chown "/run/elasticsearch" to 120.128 fchownat() of /run/elasticsearch failed: Invalid argument I can manually chown the directories, e.g. "chown elasticsearch:elasticsearch /var/run/elasticsearch" and restart the service successfully. My suspicion is, this is related to an upgrade of systemd to 229-4ubuntu21.8. At this point I don't know what to do. I'm also confused about the version I have installed, which I thought is systemd-229. Howver, I looked at https://github.com/systemd/systemd/blob/v229/src/tmpfiles/tmpfiles.c and found that fchownat() is only used from version 238+: Tag v237 (and earlier, including 229): /.../ if (chown(fn, i->uid_set ? i->uid : UID_INVALID, i->gid_set ? i->gid : GID_INVALID) < 0) return log_error_errno(errno, "chown(%s) failed: %m", path); } /.../ Tag v238 /.../ if (fchownat(fd, "", i->uid_set ? i->uid : UID_INVALID, i->gid_set ? i->gid : GID_INVALID, AT_EMPTY_PATH) < 0) return log_error_errno(errno, "fchownat() of %s failed: %m", path); /.../ Any help fixing this problem would be highly appreciated. Many thanks, Rafael To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1804847/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp