in reply to root-owned script needs to "shell out" to bash as a non-privileged user. How?

Where do you run your script on, so it doesn't have a tty, but can be run interactively?

A pure-perl approach to this problem looks like this:

if ((my $pid = fork) == 0) { $< = getpwnam "dbuser" || die "getpwnam: $!"; $( = getgrnam "dbuser" || die "getgrnam: $!"; exec "/bin/bash", "-i" or die "exec: $!"; } elsif ($pid > 0) { waitpid $pid, 0; } else { die "fork: $!"; }
Sorry if my advice was wrong.
  • Comment on Re: root-owned script needs to "shell out" to bash as a non-privileged user. How?
  • Download Code