.\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rexec.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD: src/lib/libcompat/4.3/rexec.3,v 1.12 2004/07/02 23:52:14 ru Exp $ .\" .\" Taken from FreeBSD 5.4; not checked against Linux reality (mtk) .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" .\" Japanese Version Copyright (c) 2005 Akihiro MOTOKI all rights reserved. .\" Translated 2005-11-20, Akihiro MOTOKI .\" .TH REXEC 3 2010-09-10 "Linux" "Linux Programmer's Manual" .SH 名前 rexec \- リモートコマンドへのストリームを返す .SH 書式 .nf .BR "#define _BSD_SOURCE" " /* feature_test_macros(7) 参照 */" .B #include .sp .BI "int rexec(char **" ahost ", int " inport ", char *" user ", " .BI " char *" passwd ", char *" cmd ", int *" fd2p ); .fi .SH 説明 このインタフェースは .BR rcmd (3) によって置き換えられた。 .BR rexec () 関数は .BR gethostbyname (3) を使ってホスト .I *ahost を探す。ホストが存在しない場合は \-1 を返し、それ以外の場合には .I *ahost にそのホストの標準的な名前を設定する。 ユーザ名とパスワードの両方が指定された場合には、これらは 接続先のホストへの認証に利用される。そうでない場合には、 適切な情報を入手するために、環境変数と、そのユーザの ホームディレクトリの .I .netrc ファイルが検索される。情報が見つからなかった時には、 ユーザに対して情報を入力するプロンプトが表示される。 .PP ポート .I inport には、接続に使用する DARPA Internet の well-known ポートを指定する。 .I "getservbyname(""exec"", ""tcp"")" を呼び出すと構造体へのポインタが返され .RB ( getservent (3) 参照)、この構造体には必要なポートが入っている。 接続に使用されるプロトコルについての詳細は .BR rexecd (8) に書かれている (訳注: 現在のところ存在しない)。 .PP 接続に成功すると、インターネットドメインの .B SOCK_STREAM 型のソケットが返され、そのソケットはリモートコマンドの 標準入力および標準出力となる。 .I fd2p が 0 以外の場合、制御プロセスへの補助チャンネルがセットアップされ、 補助チャンネルのディスクリプタが .I *fd2p に書かれる。 制御プロセスはコマンドからの診断メッセージ出力 (ファイルディスクリプタ 2) をこのチャンネルで返す。また、このチャンネル経由で UNIX のシグナル番号を示すバイトを受信する。受信したシグナルは コマンドが属すプロセスグループに転送される。 診断情報にはリモートの認証失敗は含まれない。なぜなら、認証の確認が行われた 後で補助チャンネルの接続はセットアップされるからである。 .I fd2p が 0 の場合、標準エラー (リモートコマンドのファイルディスクリプタ 2) は 標準出力と同様に扱われ、リモートプロセスに任意のシグナルを送るための 手段は提供されない。但し、リモートプロセスに対してトリガをかけるために、 帯域外データ (out-of-band data) を使うことはできる。 .SH 準拠 POSIX.1-2001 にはない。 BSD 系、Solaris や他の多くのシステムに存在する。 .BR rexec () 関数は 4.2BSD で始めて登場した。 .SH バグ .BR rexec () 関数はネットワークに暗号化されていないパスワードを送信する。 .PP 基礎的なサービスにおいては大きなセキュリティホールと考えられるため、 多くのサイトで無効になっている。詳細は .BR rexecd (8) を参照。 .SH 関連項目 .BR rcmd (3), .BR rexecd (8)