File util-linux-uuidd-prevent-root-owning.patch of Package python-libmount.31381
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.31.1/misc-utils/uuidd.service.in
===================================================================
--- util-linux-2.31.1.orig/misc-utils/uuidd.service.in
+++ util-linux-2.31.1/misc-utils/uuidd.service.in
@@ -3,6 +3,7 @@ Description=Daemon for generating UUIDs
Requires=uuidd.socket
[Service]
+ExecStartPre=+-@CHOWN@ uuidd:uuidd /var/lib/libuuid/clock.txt
ExecStart=@usrsbin_execdir@/uuidd --socket-activation
Restart=no
User=uuidd
Index: util-linux-2.31.1/configure.ac
===================================================================
--- util-linux-2.31.1.orig/configure.ac
+++ util-linux-2.31.1/configure.ac
@@ -99,6 +99,8 @@ AS_CASE([$libdir],
)
AC_SUBST([usrlib_execdir])
+AC_PATH_PROG([CHOWN], [chown])
+
AM_PROG_CC_C_O
AC_PROG_MKDIR_P
Index: util-linux-2.31.1/Makefile.am
===================================================================
--- util-linux-2.31.1.orig/Makefile.am
+++ util-linux-2.31.1/Makefile.am
@@ -125,6 +125,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' \