On Wed, Sep 05, 2012 at 05:28:04PM -0400, Dave Reisner wrote: > > I think we're missing out on an opportunity with runuser. su insists on > > starting a shell which, among other subtle problems, leads to the > > largeer problem of quoting and escaping the command passed to the -c > > flag. I think we should do something like this: good point > > - separate out argument parsing to runuser and su > > - remove most of the flags from runuser (-f, -c, -l, -, -s), add a -u > > flag (optional, for user) > > - create a single common entry point for creating a session > > - separate out the run command logic well, we still need to initialize the session and it would be also to have independent PAM setting for "login-like-session" (-l - options). > > With a name like runuser, I would expect that its purpose would be to > > simply run commands (and not necessarily get a shell for a user, as is > > done with su). runuser could take non-option arguments as argv for the > > new command so that we'd have examples like this: > > > > runuser -u notroot vi /etc/fstab > > runuser notroot foocmd embedded '"quotes"' > > runuser -u notroot foocmd has args "with spaces" sometimes > > > > If you still desperately want to abuse the command to create a shell for > > a user, then you just do that: > > > > runuser -u notroot -- /bin/sh - well, but it will NOT use /etc/pam.d/runuser-l I agree that -f -s -c are unnecessary (and -c is wrong at all...). It would be probably better to support: runuser [-u] notroot [<command> [arg]] and if <command> is not specified then start a shell, and if -l is specified create a login-like session. > Hrmm... I had no idea that runuser was an existing command in the RedHat > world, which makes my idea of a "mulligan" less feasible. Boo. Well, that's question if we (upstream) have to care about one crazy distro specific command. Maybe we can introduce a new command (with a different name) and ignore the original runuser. For good reason the command has not been accepted by coreutils upstream. Any suggestion for the new name? runuid runid execuser I have no problem to revert the runuser patch, really ;-) It was probably too hasty decision to merge whole my su branch. Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html