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

_______________________________________________
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en

Reply via email to