Rechercher une page de manuel
rexec
Langue: ja
Version: 98353 (fedora - 25/11/07)
Section: 3 (Bibliothèques de fonctions)
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) によって置き換えられた。 EfFn 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)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre