避免密码提示

时间:2013-02-06 09:35:46

标签: php unix

我希望在没有密码提示的情况下执行命令sudo ls -l

$streams = array(
    0 => array("pipe", "r"),  // stdin
    1 => array("pipe", "w"),  // stdout
    2 => array("pipe", "w")   // stderr
);
$process = proc_open('sudo ls -l', $streams, $pipes);
if (is_resource($process)) {
    list($stdin, $stdout) = $pipes;
    fwrite($stdin, "password\n"); //must write password, but not
    fclose($stdin);
    var_dump(stream_get_contents($stdout));
    fclose($stdout);
    $returnCode = proc_close($process);
    echo "Return code $returnCode\n";
}

执行密码提示后仍然存在,如何避免呢?

1 个答案:

答案 0 :(得分:0)

您是否尝试将命令ls添加到/etc/sudoers文件? 您可以授权用户在没有密码的情况下执行某些命令。

user ALL= NOPASSWD: /bin/ls