http://www.perlmonks.org?node_id=625838


in reply to Re^4: perl and sudo basic question
in thread perl and sudo basic question

I don't know how it happened, but the Sudo.pm is wrong, this code is wrong :
%ret = { 'error' => (sprintf 'Error: the sudo binary "%s" is not set t +o group id = 0',$sudo) }; return \%ret;
So I changed manually the code to return the correct info like this:
$ret = { 'error' => (sprintf 'Error: the sudo binary "%s" is not set t +o group id = 0',$sudo) }; return $ret;
Now it is giving me the correct error information. But the actual script seems to be not running. Here is the test.sh file info :
echo hello echo something >> /tmp/testfile
I haven't seen hello in the display OR the file /tmp/testfile has not been created. The "result" code is 256, what does it mean.

Replies are listed 'Best First'.
Re^6: perl and sudo basic question
by Tomte (Priest) on Jul 11, 2007 at 07:54 UTC

    I haven't seen hello in the display OR the file /tmp/testfile has not been created. The "result" code is 256, what does it mean.
    Normaly you would do my $realexitcode = $exitcode >> 8;, assuming that Sudo.pm uses system to execute sudo -- in this case this is 1. Looking into sudos man-page:
    RETURN VALUES Upon successful execution of a program, the return value from sudo will simply be the return value of the program that was executed. Otherwise, sudo quits with an exit value of 1 if there is a configuration/permission problem or if sudo cannot execute the given command.

    regards,
    tomte


    An intellectual is someone whose mind watches itself.
    -- Albert Camus