sysusers: add fsync for passwd (#24324)

https://github.com/systemd/systemd/pull/6636 added `fsync()` when
temporary shadow, group, and gshadow files are created, but it was
not added for passwd. As far as I can tell, this seems to have been
an oversight. I'm seeing real world issues where a blank /etc/passwd
file is being created if a machine loses power early in the boot process.
This commit is contained in:
Avram Lubkin 2022-08-16 08:51:21 -04:00 committed by GitHub
parent 7309690788
commit 19193b4898
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -507,7 +507,7 @@ static int write_temporary_passwd(const char *passwd_path, FILE **tmpfile, char
break;
}
r = fflush_and_check(passwd);
r = fflush_sync_and_check(passwd);
if (r < 0)
return log_debug_errno(r, "Failed to flush %s: %m", passwd_tmp);