in reply to Re: Automating sudo actions
in thread Automating sudo actions

I would add a caveat (absolutes in security, and other areas of life, are asking to be shown the exception).

It will be impossible to use it to get a shell for example.

If properly written to avoid exploitation, it will be impossible to use it to get a shell for example.

--MidLifeXis

Replies are listed 'Best First'.
Re^3: Automating sudo actions
by rastoboy (Monk) on Jan 25, 2011 at 14:50 UTC
    Thanks for all the great suggestions. Unfortunately, changing the environment is quite impossible. I'm stuck having to 'sudo bash'. If I can't automate through that (icky) interface, I'm stuck largely copy/pasting chunks of commands.

    Can this be done in perl?

      Thanks for all the great suggestions. Unfortunately, changing the environment is quite impossible. I'm stuck having to 'sudo bash'. If I can't automate through that (icky) interface, I'm stuck largely copy/pasting chunks of commands.

      Why are you stuck to 'sudo bash'? Why can't you do `sudo perl_script`?

      Well, even if you can't control sudo configuration and only "bash" is available for execution, then try something like

      my $pid = open(OUT, "|-"); die "Can't fork\n" unless defined $pid; if(!$pid) { exec "sudo bash"; die "oops no exec\n"; } select OUT; $| = 1; print "echo hi there\nexit\n"; close(OUT);
      Read perldoc perlipc. Section Bidirectional Communication with Another Process. Maybe this will help you to do simple automation.