[bug #68587] Prefer runuser over su

Bernhard Voelker <[email protected]>
Newsgroups gmane.comp.gnu.findutils.bugs
Message-ID <[email protected]>
Update of bug #68587 (group findutils):

                  Status:                    None => Code Review
             Assigned to:                    None => berny

    _______________________________________________________

Follow-up Comment #1:

Thanks for the suggestion.


> diff --git a/locate/updatedb.sh b/locate/updatedb.sh
> index 4014a4bf..e2d26788 100644
> --- a/locate/updatedb.sh
> +++ b/locate/updatedb.sh
> @@ -121,15 +121,17 @@ getuid() {
> # uid=1(daemon) gid=1(other)
> # for `id's that don't understand -u
> id | cut -d'(' -f 1 | cut -d'=' -f2
> }
> 
> # figure out if su supports the -s option
> select_shell() {
> -    if su "$1" -s $SHELL -c false < /dev/null  ; then
> +    if [ "$updatedbuserchange" = "runuser" ] ; then
> +	    echo "-s $SHELL"
> +    elif su "$1" -s $SHELL -c false < /dev/null  ; then
> # No.
> echo ""


This does not test whether runuser(1) actually works or not.
E.g. if some regular user's PATH includes /sbin, then which(1) below would
find the tool, but it still would not work.

  $ /sbin/runuser someuser - true
  runuser: may not be used by non-root users


> else
> if su "$1" -s $SHELL -c true < /dev/null  ; then
> # Yes.
> echo "-s $SHELL"
> else
> @@ -278,26 +280,32 @@ sysfs
> if test -n "$PRUNEFS"; then
> prunefs_exp=`echo $PRUNEFS |sed -e 's/\([^ ][^ ]*\)/-o -fstype \1/g' \
> -e 's/-o //' -e 's/$/ -o/'`
> else
> prunefs_exp=''
> fi
> 
> +if which runuser 2>&1 ; then
> +    updatedbuserchange=runuser
> +else
> +    updatedbuserchange=su
> +fi
> +


I'm not sure about this redirection of stderr to stdout.
Did you mean

  if which runuser >/dev/null 2>&1 ; then

?

I've fixed both, and added documentation (man+texi) and a NEWS entry.
Good to push the attached?

(file #58871)

    _______________________________________________________

Additional Item Attachment:

[PATCH] updatedb: prefer runuser(1) over su(1)

Name: 0001-updatedb-prefer-runuser-1-over-su-1.patch Size: 4.9KiB

<https://file.savannah.gnu.org/file/0001-updatedb-prefer-runuser-1-over-su-1.patch?file_id=58871>


    AGPL NOTICE

These attachments are served by Savane. You can download the corresponding
source code of Savane at
https://savannah.gnu.org/source/savane-a6bd2af55ecbc1d79b276bb1fd2fc3899046f847.tar.gz


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?68587>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCanh0YgAKCRCqLAuaBUf3
TiHOAQDDYfJ41FoIMTnOkizkBaFi2LBhEz+hfh2vRL/XpFEobQD+NuTRbedjasZR
zxd0iU1BRI3I2CLBzeq1zDklXaarSQI=
=aWp0
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.