File util-linux-uuidd-prevent-root-owning.patch of Package util-linux-systemd.32042
Prevent root owning of /var/lib/libuuid/clock.txt
Just after the installation, calling uuid_generate_time() or
uuid_generate_time_safe() as root may create root owned
/var/lib/libuuid/clock.txt, which makes it unusable for uuidd.
To reproduce:
zypper rm uuidd
zypper in uuidd
uuidgen --time
ls -l /var/lib/libuuid/clock.txt
rcuuidd start
ls -l /var/lib/libuuid/clock.txt
Before:
-rw-rw---- 1 root root 56 Mar 4 17:24 /var/lib/libuuid/clock.txt
After (with the patch):
-rw-rw---- 1 uuidd uuidd 56 Mar 4 17:30 /var/lib/libuuid/clock.txt
Index: util-linux-2.36.2/misc-utils/uuidd.service.in
===================================================================
--- util-linux-2.36.2.orig/misc-utils/uuidd.service.in
+++ util-linux-2.36.2/misc-utils/uuidd.service.in
@@ -4,6 +4,7 @@ Documentation=man:uuidd(8)
Requires=uuidd.socket
[Service]
+ExecStartPre=+-@CHOWN@ --quiet uuidd:uuidd /var/lib/libuuid/clock.txt
ExecStart=@usrsbin_execdir@/uuidd --socket-activation
Restart=no
User=uuidd
Index: util-linux-2.36.2/configure.ac
===================================================================
--- util-linux-2.36.2.orig/configure.ac
+++ util-linux-2.36.2/configure.ac
@@ -168,6 +168,8 @@ AC_SUBST([PYTHON_WARN_CFLAGS])
UL_WARN_ADD([-Wno-unused-parameter], [NO_UNUSED_WARN_CFLAGS])
AC_SUBST([NO_UNUSED_WARN_CFLAGS])
+AC_PATH_PROG([CHOWN], [chown])
+
AC_ARG_ENABLE([asan],
AS_HELP_STRING([--enable-asan], [compile with Address Sanitizer]),
Index: util-linux-2.36.2/Makefile.am
===================================================================
--- util-linux-2.36.2.orig/Makefile.am
+++ util-linux-2.36.2/Makefile.am
@@ -131,6 +131,7 @@ edit_cmd = sed \
-e 's|@usrsbin_execdir[@]|$(usrsbin_execdir)|g' \
-e 's|@VERSION[@]|$(VERSION)|g' \
-e 's|@ADJTIME_PATH[@]|$(ADJTIME_PATH)|g' \
+ -e 's|@CHOWN[@]|$(CHOWN)|g' \
-e 's|@LIBUUID_VERSION[@]|$(LIBUUID_VERSION)|g' \
-e 's|@LIBMOUNT_VERSION[@]|$(LIBMOUNT_VERSION)|g' \
-e 's|@LIBMOUNT_MAJOR_VERSION[@]|$(LIBMOUNT_MAJOR_VERSION)|g' \