REXEC

Section: C Library Functions (3)
Index JM Home Page roff page

BSD mandoc
 

名前

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

ライブラリ

Lb libcompat  

書式

Ft int Fn rexec char **ahost int inport char *user char *passwd char *cmd int *fd2p  

説明

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

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

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

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

準拠

POSIX.1-2001 にはない。 BSD 系、Solaris や他の多くのシステムに存在する。 Fn rexec 関数は BSD 4.2 で始めて登場した。  

バグ

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

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

関連項目

rcmd(3), rexecd(8)


 

Index

名前
ライブラリ
書式
説明
準拠
バグ
関連項目

This document was created by man2html, using the manual pages.
Time: 04:31:59 GMT, November 19, 2007