Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sysuser-tools for openSUSE:Factory checked in at 2021-01-22 21:49:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sysuser-tools (Old) and /work/SRC/openSUSE:Factory/.sysuser-tools.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysuser-tools" Fri Jan 22 21:49:01 2021 rev:13 rq:865022 version:3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/sysuser-tools/sysuser-tools.changes 2020-12-16 10:58:49.591471997 +0100 +++ /work/SRC/openSUSE:Factory/.sysuser-tools.new.28504/sysuser-tools.changes 2021-01-22 21:49:03.077570590 +0100 @@ -1,0 +2,27 @@ +Wed Jan 20 15:06:51 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Ignore nscd return code + +------------------------------------------------------------------- +Tue Jan 19 15:15:41 UTC 2021 - Thorsten Kukuk <[email protected]> + +- If systemd-sysusers is used to create a new user/group, invalidate + the nscd passwd and group cache to make the new user/group + visible immediately as workaround [bsc#1181121]. + Needs to be removed after sytemd-sysusers get's fixed, since we + invalidate the cache even if the user/group file wasn't changed. + +------------------------------------------------------------------- +Sun Jan 17 21:16:25 UTC 2021 - Thorsten Kukuk <[email protected]> + +- An "u" in a sysusers.d file will create an user and a group. + Create provides for both, user and group. + +------------------------------------------------------------------- +Thu Jan 14 14:30:20 UTC 2021 - Thorsten Kukuk <[email protected]> + +- Use systemd-sysusers as default to create and update the user + account. Fixes the problem that a modified sysusers config file + get's ignored by useradd and adduser [bsc#1180549]. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sysuser-tools.spec ++++++ --- /var/tmp/diff_new_pack.GPTu0y/_old 2021-01-22 21:49:03.877571724 +0100 +++ /var/tmp/diff_new_pack.GPTu0y/_new 2021-01-22 21:49:03.881571730 +0100 @@ -1,7 +1,7 @@ # # spec file for package sysuser-tools # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -38,7 +38,7 @@ %package -n sysuser-shadow Summary: Tool to execute sysusers.d with shadow utilities Group: System/Packages -PreReq: useradd_or_adduser_dep +Requires(pre): (/usr/sbin/useradd or busybox or /usr/bin/systemd-sysusers) # prefer original shadow over busybox by default Suggests: shadow ++++++ sysusers.prov ++++++ --- /var/tmp/diff_new_pack.GPTu0y/_old 2021-01-22 21:49:03.945571820 +0100 +++ /var/tmp/diff_new_pack.GPTu0y/_new 2021-01-22 21:49:03.949571826 +0100 @@ -11,6 +11,7 @@ echo "group($2)" elif [ "$1" = 'u' ]; then echo "user($2)" + echo "group($2)" fi done } ++++++ sysusers2shadow.sh ++++++ --- /var/tmp/diff_new_pack.GPTu0y/_old 2021-01-22 21:49:03.961571843 +0100 +++ /var/tmp/diff_new_pack.GPTu0y/_new 2021-01-22 21:49:03.961571843 +0100 @@ -7,85 +7,98 @@ "$@" } -# Absolute path to busybox, if found -busybox= -for i in /bin/busybox /usr/bin/busybox; do [ -x "$i" ] && busybox=$i; done +if [ -x /usr/bin/systemd-sysusers ]; then -while read LINE -do + # Use systemd-sysusers and let it read the input directly from stdin + /usr/bin/systemd-sysusers - + # We need to clear the nscd cache, as systemd-sysusers could have + # triggered a negative cache entry + if [ -x /usr/sbin/nscd ]; then + /usr/sbin/nscd -i passwd ||: + /usr/sbin/nscd -i group ||: + fi +else + + # Absolute path to busybox, if found + busybox= + for i in /bin/busybox /usr/bin/busybox; do [ -x "$i" ] && busybox=$i; done + + while read LINE + do # "eval set" to do proper splitting while respecting quotes eval set -- $LINE case "${1-}" in - \#*|"") - ;; - g) + \#*|"") + ;; + g) shift ARGUMENTS="$1" if [ -n "${2-}" ] && [ "$2" != "-" ]; then - ARGUMENTS="-g $2 $ARGUMENTS" + ARGUMENTS="-g $2 $ARGUMENTS" fi if ! /usr/bin/getent group "$1" >> /dev/null; then - if [ -x "/usr/sbin/groupadd" ]; then - run /usr/sbin/groupadd -r $ARGUMENTS - elif [ -x "$busybox" ]; then - run $busybox addgroup -S $ARGUMENTS - else - echo "ERROR: neither groupadd nor busybox found!" - exit 1 - fi + if [ -x "/usr/sbin/groupadd" ]; then + run /usr/sbin/groupadd -r $ARGUMENTS + elif [ -x "$busybox" ]; then + run $busybox addgroup -S $ARGUMENTS + else + echo "ERROR: neither groupadd nor busybox found!" + exit 1 + fi fi ;; - u) + u) shift ARGUMENTS="$1" if [ -n "${2-}" ] && [ "$2" != "-" ]; then - ARGUMENTS="-u $2 $ARGUMENTS" + ARGUMENTS="-u $2 $ARGUMENTS" fi homedir="/" # If null, empty or '-' if [ "${4:--}" != "-" ]; then - homedir="$4" + homedir="$4" fi if [ -x /usr/sbin/useradd ]; then - if ! /usr/bin/getent passwd "$1" >> /dev/null; then - # this is useradd/shadow specific - if /usr/bin/getent group "$1" >> /dev/null; then - ARGUMENTS="-g $1 $ARGUMENTS" - else - ARGUMENTS="-U $ARGUMENTS" - fi - - run /usr/sbin/useradd -r -s /sbin/nologin -c "$3" -d "${homedir}" $ARGUMENTS + if ! /usr/bin/getent passwd "$1" >> /dev/null; then + # this is useradd/shadow specific + if /usr/bin/getent group "$1" >> /dev/null; then + ARGUMENTS="-g $1 $ARGUMENTS" + else + ARGUMENTS="-U $ARGUMENTS" fi + + run /usr/sbin/useradd -r -s /sbin/nologin -c "$3" -d "${homedir}" $ARGUMENTS + fi elif [ -x "$busybox" ]; then - /usr/bin/getent group "$1" >> /dev/null || $busybox addgroup -S "$1" + /usr/bin/getent group "$1" >> /dev/null || $busybox addgroup -S "$1" - if ! /usr/bin/getent passwd "$1" >> /dev/null; then - run $busybox adduser -S -H -s /sbin/nologin -g "$3" -G "$1" -h "${homedir}" $ARGUMENTS - fi + if ! /usr/bin/getent passwd "$1" >> /dev/null; then + run $busybox adduser -S -H -s /sbin/nologin -g "$3" -G "$1" -h "${homedir}" $ARGUMENTS + fi else - echo "ERROR: neither useradd nor busybox found!" - exit 1 + echo "ERROR: neither useradd nor busybox found!" + exit 1 fi - ;; - m) + ;; + m) shift if [ -x /usr/sbin/usermod ] ; then - run /usr/sbin/usermod -a -G $2 $1 + run /usr/sbin/usermod -a -G $2 $1 elif [ -x "$busybox" ]; then - run $busybox addgroup $1 $2 + run $busybox addgroup $1 $2 else - echo "ERROR: neither usermod nor busybox found!" - exit 1 + echo "ERROR: neither usermod nor busybox found!" + exit 1 fi - ;; - r) + ;; + r) echo "range option ignored: \"$LINE\"" ;; - *) - echo "Syntax Error: \"$LINE\"" - exit 1 - ;; + *) + echo "Syntax Error: \"$LINE\"" + exit 1 + ;; esac -done + done +fi
