.\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" 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. .\" %%%LICENSE_END .\" .\" @(#)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) .\" .\" 2013-06-21, mtk, Converted from mdoc to man macros .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2005 Akihiro MOTOKI all rights reserved. .\" Translated 2005-11-20, Akihiro MOTOKI .\" Updated 2012-05-05, Akihiro MOTOKI .\" Updated 2013-07-24, Akihiro MOTOKI .\" .TH REXEC 3 2013\-09\-26 Linux "Linux Programmer's Manual" .SH 名前 rexec, rexec_af \- リモートコマンドへのストリームを返す .SH 書式 .nf \fB#define _BSD_SOURCE\fP /* feature_test_macros(7) 参照 */ \fB#include \fP .sp \fBint rexec(char **\fP\fIahost\fP\fB, int \fP\fIinport\fP\fB, char *\fP\fIuser\fP\fB, \fP \fB char *\fP\fIpasswd\fP\fB, char *\fP\fIcmd\fP\fB, int *\fP\fIfd2p\fP\fB);\fP .sp \fBint rexec_af(char **\fP\fIahost\fP\fB, int \fP\fIinport\fP\fB, char *\fP\fIuser\fP\fB, \fP \fB char *\fP\fIpasswd\fP\fB, char *\fP\fIcmd\fP\fB, int *\fP\fIfd2p\fP\fB,\fP \fB sa_family_t \fP\fIaf\fP\fB);\fP .fi .SH 説明 このインタフェースは \fBrcmd\fP(3) によって置き換えられた。 \fBrexec\fP() 関数は \fBgethostbyname\fP(3) を使ってホスト \fI*ahost\fP を探す。ホストが存在しない場合は \-1 を返し、それ以外の場合には \fI*ahost\fP にそのホストの標準的な名前を設定する。 ユーザ名とパスワードの両方が指定された場合には、これらは 接続先のホストへの認証に利用される。そうでない場合には、 適切な情報を入手するために、環境変数と、そのユーザの ホームディレクトリの \fI.netrc\fP ファイルが検索される。情報が見つからなかった時には、 ユーザに対して情報を入力するプロンプトが表示される。 .PP ポート \fIinport\fP には、接続に使用する DARPA Internet の well\-known ポートを指定する。 \fIgetservbyname("exec", "tcp")\fP を呼び出すと構造体へのポインタが返され (\fBgetservent\fP(3) 参照)、この構造体には必要なポートが入っている。 接続に使用されるプロトコルについての詳細は \fBrexecd\fP(8) に書かれている (訳注: 現在のところ存在しない)。 .PP 接続に成功すると、インターネットドメインの \fBSOCK_STREAM\fP 型のソケットが返され、そのソケットはリモートコマンドの 標準入力および標準出力となる。 \fIfd2p\fP が 0 以外の場合、制御プロセスへの補助チャンネルがセットアップされ、 補助チャンネルのディスクリプタが \fI*fd2p\fP に書かれる。 制御プロセスはコマンドからの診断メッセージ出力 (ファイルディスクリプタ 2) をこのチャンネルで返す。また、このチャンネル経由で UNIX のシグナル番号を示すバイトを受信する。受信したシグナルは コマンドが属すプロセスグループに転送される。 診断情報にはリモートの認証失敗は含まれない。なぜなら、認証の確認が行われた 後で補助チャンネルの接続はセットアップされるからである。 \fIfd2p\fP が 0 の場合、標準エラー (リモートコマンドのファイルディスクリプタ 2) は 標準出力と同様に扱われ、リモートプロセスに任意のシグナルを送るための 手段は提供されない。但し、リモートプロセスに対してトリガをかけるために、 帯域外データ (out\-of\-band data) を使うことはできる。 .SS rexec_af() \fBrexec\fP() 関数は IPv4 (\fBAF_INET\fP) 上で動作する。 これに対して、 \fBrexec_af\fP() 関数は追加の引き数 \fIaf\fP があり、 この引き数で呼び出し側がプロトコルを選択できる。 この引き数には \fBAF_INET\fP, \fBAF_INET6\fP, \fBAF_UNSPEC\fP を指定できる (\fBAF_UNSPEC\fP は実装側がプロトコルを選択することを意味する)。 .SH バージョン \fBrexec_af\fP() 関数は glibc バージョン 2.9 で追加された。 .SH 属性 .SS "マルチスレッディング (pthreads(7) 参照)" 関数 \fBrexec\fP() と \fBrexec_af\fP() はスレッドセーフではない。 .SH 準拠 これらの関数は POSIX.1\-2001 にはない。\fBrexec\fP() 関数は 4.2BSD で始めて 登場し、BSD 系、Solaris や他の多くのシステムに存在する。\fBrexec_af\fP() 関数はもっと新しく、それほど広く使われているわけではない。 .SH バグ \fBrexec\fP() 関数はネットワークに暗号化されていないパスワードを送信する。 .PP 基礎的なサービスにおいては大きなセキュリティホールと考えられるため、 多くのサイトで無効になっている。詳細は \fBrexecd\fP(8) を参照。 .SH 関連項目 \fBrcmd\fP(3), \fBrexecd\fP(8) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。