runuser do not preserve env
Elan Ruusamäe
glen at delfi.ee
Mon Apr 16 21:37:26 CEST 2018
looks like i've already been there
https://github.com/karelzak/util-linux/issues/325
On 16/04/2018 22:08, Elan Ruusamäe wrote:
> doesn't seem like runuser resets env...
>
> seems to me that these days only reliable way to switch user is using
> sudo, no standard tools available...
>
>
> # rpm -qf `which runuser`
> util-linux-2.31-2.x86_64
>
> # runuser --help
>
> Usage:
> runuser [options] -u <user> [[--] <command>]
> runuser [options] [-] [<user> [<argument>...]]
>
> Run <command> with the effective user ID and group ID of <user>. If
> -u is
> not given, fall back to su(1)-compatible semantics and execute
> standard shell.
> The options -c, -f, -l, and -s are mutually exclusive with -u.
>
> Options:
> -u, --user <user> username
> -m, -p, --preserve-environment do not reset environment variables
> -g, --group <group> specify the primary group
> -G, --supp-group <group> specify a supplemental group
>
> -, -l, --login make the shell a login shell
> -c, --command <command> pass a single command to the shell
> with -c
> --session-command <command> pass a single command to the shell
> with -c
> and do not create a new session
> -f, --fast pass -f to the shell (for csh or tcsh)
> -s, --shell <shell> run <shell> if /etc/shells allows it
> -P, --pty create a new pseudo-terminal
>
> -h, --help display this help
> -V, --version display version
>
>
> For more details see runuser(1).
>
> # env TMP111=foo runuser -u http -- env|grep TMP
>
> TMP=/home/glen/tmp
> TMPDIR=/home/glen/tmp
> TMP111=foo
>
> and "login shell" has completely useless purpose
>
> $ env TMP111=foo runuser -l -u http -- env|grep TMP
> runuser: options --{shell,fast,command,session-command,login} and
> --user are mutually exclusive
More information about the pld-devel-en
mailing list