.\" 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 2017\-09\-15 Linux "Linux Programmer's Manual" .SH 名前 rexec, rexec_af \- リモートコマンドへのストリームを返す .SH 書式 .nf \fB#include \fP .PP \fBint rexec(char **\fP\fIahost\fP\fB, int \fP\fIinport\fP\fB, const char *\fP\fIuser\fP\fB,\fP \fB const char *\fP\fIpasswd\fP\fB, const char *\fP\fIcmd\fP\fB, int *\fP\fIfd2p\fP\fB);\fP .PP \fBint rexec_af(char **\fP\fIahost\fP\fB, int \fP\fIinport\fP\fB, const char *\fP\fIuser\fP\fB,\fP \fB const char *\fP\fIpasswd\fP\fB, const char *\fP\fIcmd\fP\fB, int *\fP\fIfd2p\fP\fB,\fP \fB sa_family_t \fP\fIaf\fP\fB);\fP .fi .PP \fBrexec\fP(), \fBrexec_af\fP(): .nf Since glibc 2.19: _DEFAULT_SOURCE In glibc up to and including 2.19: _BSD_SOURCE .fi .SH 説明 このインターフェースは \fBrcmd\fP(3) によって置き換えられた。 .PP \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 属性 この節で使用されている用語の説明は \fBattributes\fP(7) を参照のこと。 .TS allbox; lbw19 lb lb l l l. Interface Attribute Value T{ \fBrexec\fP(), \fBrexec_af\fP() T} Thread safety MT\-Unsafe .TE .SH 準拠 これらの関数は POSIX.1 にはない。\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 プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は \%https://www.kernel.org/doc/man\-pages/ に書かれている。