Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       rexec, rexec_af - リモートコマンドへのストリームを返す

書式

       #include <netdb.h>

       int rexec(char **ahost, int inport, const char *user,
                 const char *passwd, const char *cmd, int *fd2p);

       int rexec_af(char **ahost, int inport, const char *user,
                    const char *passwd, const char *cmd, int *fd2p,
                    sa_family_t af);

       rexec(), rexec_af():
           Since glibc 2.19:
               _DEFAULT_SOURCE
           In glibc up to and including 2.19:
               _BSD_SOURCE

説明

       このインターフェースは rcmd(3)  によって置き換えられた。

       rexec()   関数は gethostbyname(3)  を使ってホスト *ahost を探す。ホストが存在しない場合は -1 を返し、それ
       以外の場合には *ahost にそのホストの標準的な名前を設定する。 ユーザー名とパスワードの両方が指定された場合
       には、これらは 接続先のホストへの認証に利用される。そうでない場合には、  適切な情報を入手するために、環境
       変数と、そのユーザーの  ホームディレクトリの  .netrc ファイルが検索される。情報が見つからなかった時には、
       ユーザーに対して情報を入力するプロンプトが表示される。

       ポート inport には、接続に使用する DARPA Internet の well-known ポートを指定する。  getservbyname("exec",
       "tcp")  を呼び出すと構造体へのポインターが返され (getservent(3) 参照)、この構造体には必要なポートが入って
       いる。 接続に使用されるプロトコルについての詳細は rexecd(8)  に書かれている  (訳注:  現在のところ存在しな
       い)。

       接続に成功すると、インターネットドメインの SOCK_STREAM 型のソケットが返され、そのソケットはリモートコマン
       ドの  標準入力および標準出力となる。 fd2p が 0 以外の場合、制御プロセスへの補助チャンネルがセットアップさ
       れ、 補助チャンネルのファイルディスクリプターが *fd2p  に書かれる。  制御プロセスはコマンドからの診断メッ
       セージ出力 (ファイルディスクリプター 2)  をこのチャンネルで返す。また、このチャンネル経由で UNIX のシグナ
       ル番号を示すバイトを受信する。受信したシグナルは  コマンドが属すプロセスグループに転送される。 診断情報に
       はリモートの認証失敗は含まれない。なぜなら、認証の確認が行われた 後で補助チャンネルの接続はセットアップさ
       れるからである。 fd2p が 0 の場合、標準エラー (リモートコマンドのファイルディスクリプター 2) は  標準出力
       と同様に扱われ、リモートプロセスに任意のシグナルを送るための 手段は提供されない。但し、リモートプロセスに
       対してトリガーをかけるために、 帯域外データ (out-of-band data) を使うことはできる。

   rexec_af()
       rexec()  関数は IPv4 (AF_INET) 上で動作する。 これに対して、 rexec_af() 関数は追加の引数 af があり、 この
       引数で呼び出し側がプロトコルを選択できる。  この引数には  AF_INET,   AF_INET6,   AF_UNSPEC   を指定できる
       (AF_UNSPEC は実装側がプロトコルを選択することを意味する)。

バージョン

       rexec_af() 関数は glibc バージョン 2.9 で追加された。

属性

       この節で使用されている用語の説明は attributes(7) を参照のこと。
       ┌─────────────────────┬───────────────┬───────────┐
       │ InterfaceAttributeValue     │
       ├─────────────────────┼───────────────┼───────────┤
       │ rexec(), rexec_af() │ Thread safety │ MT-Unsafe │
       └─────────────────────┴───────────────┴───────────┘

準拠

       これらの関数は  POSIX.1 にはない。rexec() 関数は 4.2BSD で始めて 登場し、BSD 系、Solaris や他の多くのシス
       テムに存在する。rexec_af() 関数はもっと新しく、それほど広く使われているわけではない。

バグ

       rexec()  関数はネットワークに暗号化されていないパスワードを送信する。

       基礎的なサービスにおいては大きなセキュリティホールと考えられるため、 多くのサイトで無効になっている。詳細
       は rexecd(8) を参照。

関連項目

       rcmd(3), rexecd(8)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10  の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

Linux                                              2017-09-15                                           REXEC(3)