salvas の Net::Openssh モジュールを使用していますが、sudo の使用方法がわかりません。以下を試してみましたが、うまくいきません...
結果には何も出力されません。ls
、などの単一単語コマンドpwd
も何も生成しません。
ターゲット システムの sudo のバージョン:
$ /usr/local/bin/sudo -V
CU Sudo version 1.5.7p2
$ /usr/local/bin/sudo -h
CU Sudo version 1.5.7p2
usage: /usr/local/bin/sudo -V | -h | -l | -v | -k | -H | [-b] [-p prompt] [-u username/#uid] -s | <command>
CU sudo は一度に複数のオプションを許可しないため、コマンドを提供する前に -k を提供します。
この sudo バージョンには、stdin を使用してパスワードを渡すための -S スイッチがないことに注意してください。そのため、端末からのパスワードが必要です。もっと助けてくれませんか。どうも。
$ssh->system("$sudo_path -k");
my @output = $ssh->capture({tty => 1,
stdin_data => "$PASS"},
$sudo_path,
"-p",'', "$cmd");
print " result=@output \n";
また
$ssh->system("$sudo_path -k");
my @output = $ssh->capture({stdin_data => "$PASS"},
$sudo_path,
"-p",'', "$cmd");
print " result=@output \n";