0

私の友人は、いくつかのサーバーからの情報を表示する何らかの管理パネルを持っています。彼はcPanel XML APIを使用して、サーバー負荷平均などのいくつかの情報を表示しています。コードは次のようになります。

include("xmlapi.php");

$conf = simplexml_load_file("servers.xml");

foreach ( $conf->server as $server ) {
    $xmlapi = new xmlapi( $server->ip );
    $xmlapi->set_debug(1);
    $xmlapi->hash_auth( $server->user, $server->accesshash);
    $loadavg = $xmlapi->loadavg();

    print $server->ip . " - " . $loadavg->one . " - " . $loadavg->five . " - " . $loadavg->fifteen;
}

私はwikiを読んでいますが、最も近いのは、アカウントのディスク使用量を取得することです。しかし、ルートとして ssh で実行された「df」コマンドからの情報が必要です。これを行うための最も簡単で安全な方法は何でしょうか? コードを実行しているサーバーからではなく、複数のサーバーから df コマンドの出力を取得する必要があるためです。

4

1 に答える 1

0

df を「root」として実行する必要があるのはなぜですか? 自分の Linux マシンで自分自身として実行できますか? (はい、それは質問であって、答えではありません)

マシンへの完全なアクセス権があると仮定すると、sudoers に!authenticate属性付きでリストされているユーザーアカウント「df」を設定することができます (パスワードなしで sudo を実行できます)。また、ssh df@${machine} sudo df sudo を制限して、df" ユーザーがアクセスできるようにすることもできます。 df のみを実行し、実行しません。たとえばrm -rf /、またはadduser blah

そしてもちろん、php コードを使用してソースにパスワードを設定するのではなく、公開/秘密鍵チャレンジを使用するように ssh を設定します。パスワードを変更することにしました。

于 2012-12-20T23:36:48.053 に答える