.\" 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.5.2.4 2001/08/17 15:42:56 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt REXEC 3 .Os BSD 4.2 .Sh 名称 .Nm rexec .Nd リモートコマンドにストリームを戻す .Sh ライブラリ .Lb libcompat .Sh 書式 .Ft int .Fn rexec "char **ahost" "int inport" "char *user" "char *passwd" "char *cmd" "int *fd2p" .Sh 解説 .Bf -symbolic このインタフェースは、 .Xr krcmd 3 に置き換えられました。 .Ef .Pp .Fn rexec 関数は .Xr gethostbyname 3 を使用してホスト .Fa *ahost を検索し、ホストが存在しない場合は \-1 を戻します。ホストが存在する場 合は、ホストの標準名に .Fa *ahost を設定します。ユーザ名とパスワードの両方が指定されている場合は、この情 報を使用して外部ホストに認証します。ユーザ名とパスワードが指定されてい な場合は、ホームディレクトリの環境とユーザの .Pa .netrc ファイルを検索して適切な情報を特定します。このすべてがエラーとなった場 合は、情報を入力するようにユーザに要求します。 .Pp ポート .Fa inport は、接続に使用する、既知の .Tn DARPA インターネットポートを指定します。 .Fn getservbyname \*qexec\*q \*qtcp\*q を呼び出すと ( .Xr getservent 3 参照)、必要なポートを含む構造体のポインタが戻されます。 接続のプロトコルについては、 .Xr rexecd 8 を参照してください。 .Pp 問題なく接続されると、 .Dv SOCK_STREAM タイプのインターネットドメインのソケットが呼び出し側に戻され、 .Em stdin と .Em stdout としてリモートコマンドに指定されます。 .Fa fd2p が 0 以外である場合は、制御プロセスの補助チャンネルが設定され、その記述子が .Fa *fd2p に配置されます。制御プロセスは、このチャンネルのコマンド (ユニット 2) か ら診断出力を戻し、このチャンネルのバイトを .Tn UNIX シグナル番号として受け入れ、コマンドのプロセスグループに転送します。戻される 診断情報には、認証が確認されてから第 2 接続が設定されるので、リモート認証 エラーが含まれません。 .Fa fd2p が 0 である場合は、 .Em stderr (リモートコマンドのユニット 2) が .Em stdout と同じように作成されます。バンド外データを使用して注目を集められますが、 リモートプロセスに任意のシグナルを送信する準備は行なわれません。 .Sh 関連項目 .Xr rcmd 3 , .Xr rexecd 8 .Sh 歴史 .Fn rexec 関数は .Bx 4.2 に追加されました。 .Sh バグ .Fn rexec 関数は、暗号化されていないパスワードをネットワークで送信します。 .Pp 基礎となるサービスは、セキュリティの大きな問題があるとみなされているた め、多くのサイトでは有効になっていません。 .Xr rexecd 8 を参照してください。