1

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";
}

実行後もパスワード プロンプトが表示されますが、回避するにはどうすればよいですか?

4

1 に答える 1

0

コマンド ls を/etc/sudoersfile に追加しようとしましたか? パスワードなしでいくつかのコマンドを実行するようにユーザーに自動化できます。

user ALL= NOPASSWD: /bin/ls
于 2013-02-06T09:46:48.153 に答える