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