tail head cat sleep
QR code linking to this page

manページ  — REXEC

名称

rexec – リモートコマンドにストリームを戻す

内容

ライブラリ

Compatibility Library (libcompat, -lcompat)

書式


int
rexec(char **ahost, int inport, char *user, char *passwd, char *cmd, int *fd2p);

解説

このインタフェースは、 krcmd(3) に置き換えられました。

rexec() 関数は gethostbyname(3) を使用してホスト *ahost を検索し、ホストが存在しない場合は -1 を戻します。ホストが存在する場 合は、ホストの標準名に *ahost を設定します。ユーザ名とパスワードの両方が指定されている場合は、この情 報を使用して外部ホストに認証します。ユーザ名とパスワードが指定されてい な場合は、ホームディレクトリの環境とユーザの .netrc ファイルを検索して適切な情報を特定します。このすべてがエラーとなった場 合は、情報を入力するようにユーザに要求します。

ポート inport は、接続に使用する、既知の DARPA インターネットポートを指定します。 getservbyname(qexecq, qtcpq) を呼び出すと ( getservent(3) 参照)、必要なポートを含む構造体のポインタが戻されます。 接続のプロトコルについては、 rexecd(8) を参照してください。

問題なく接続されると、 SOCK_STREAM タイプのインターネットドメインのソケットが呼び出し側に戻され、 stdin stdout としてリモートコマンドに指定されます。 fd2p が 0 以外である場合は、制御プロセスの補助チャンネルが設定され、その記述子が *fd2p に配置されます。制御プロセスは、このチャンネルのコマンド (ユニット 2) か ら診断出力を戻し、このチャンネルのバイトを UNIX シグナル番号として受け入れ、コマンドのプロセスグループに転送します。戻される 診断情報には、認証が確認されてから第 2 接続が設定されるので、リモート認証 エラーが含まれません。 fd2p が 0 である場合は、 stderr (リモートコマンドのユニット 2) が stdout と同じように作成されます。バンド外データを使用して注目を集められますが、 リモートプロセスに任意のシグナルを送信する準備は行なわれません。

関連項目

rcmd(3), rexecd(8)

歴史

rexec() 関数は BSD 4.2 に追加されました。

バグ

rexec() 関数は、暗号化されていないパスワードをネットワークで送信します。

基礎となるサービスは、セキュリティの大きな問題があるとみなされているた め、多くのサイトでは有効になっていません。 rexecd(8) を参照してください。


BSD 4.2 REXEC (3) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.