Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rexecd(8C) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rexec(3X)

REXECD(8C)  —  UNIX Programmer’s Manual

名称

rexecd − リモート実行サーバ

形式

/etc/rexecd

解説

rexecd は、 rexec(3X) ルーチンのためのサーバです。このサーバは、 ユーザ名とパスワードに基づく証明を伴ったリモート実行機能を提供します。

rexecd は、“exec”サービス指定で示されている ポートへのサービス要求を待ちます (services(5) 参照)。サービス要求が受信されると、次のプロトコルが開始されます。

1)サーバは、ソケットからナル(‘\0’)までのキャラクタを読み取ります。 これは、ASCIIコードで表現された 10進数として解釈します。

2)ステップ1) で受け取られた数がゼロ以外である場合には、 stderr のために使用される二次ストリームのポート番号として解釈されます。 その後、クライアントのマシンの指定されたポートへの別の接続が行われます。

3)ナルで終わっている最高 16 キャラクタまでのユーザ名が、 最初の接続のソケットで取り込まれます。

4)ナルで終わっていて、暗号化されていない 最高 16 キャラクタまでのパスワードが、 最初の接続のソケットから取り込まれます。

5)シェルへ渡されるナルで終わっているコマンドが、 最初の接続のソケットから取り込まれます。 コマンドの長さは、システムの引数リストのサイズの上限で制限されます。

6)次に、 rexecd は、ログイン時に行われるように、 そのユーザが正当なユーザであることを確かめ、 それが成功した場合には、 そのユーザのホームディレクトリへ変更し、 そのユーザのユーザおよびグループ保護を確立します。 以上のステップのいずれかが失敗した場合には、 接続は中断されて診断メッセージが返されます。

7)最初の接続のソケットにナルが返され、 コマンド行が、そのユーザの通常の ログインシェルへ渡されます。そのシェルは、 rexecd によって確立されたネットワーク接続を受け継ぎます。

診断

以下に列記されている診断メッセージの うちの最後のものは除き、 すべての診断メッセージは最初の接続のソケットに返され、 その後にネットワーク接続がクローズされます。 エラーは、値 1 を有する 1つの先行バイトによって示されます (コマンドの実行に先行するすべてのステップが 成功のうちに完了したとき、 上記のステップ7) で 0 が返されます)。

“username too long”
名前が 16 キャラクタより長い。

“password too long”
パスワードが 16 キャラクタより長い。

“command too long”
渡されたコマンド行が、 (システムに構成設定されている)引数リストのサイズを超えている。

“Login incorrect.”
そのユーザ名に対するパスワードファイルエントリが存在していなかった。

“Password incorrect.”
与えられたパスワードが正しくなかった。

“No remote directory.”
ホームディレクトリへの chdir コマンドが失敗した。

“Try again.”
サーバによるフォークが失敗した。

“<shellname>: ...”
そのユーザのログインシェルを開始できなかった。このメッセージは、 stderr に関する接続に返され、フラグバイトは先頭に付加されない。

関連事項

rexec(3X)

バグ

“Password incorrect”とは全く異なり、 “Login incorrect”を返すことは、 パスワードを決定していないユーザ名で システムに侵入できる事を示している。

すべてのデータおよびパスワードの交換を暗号化できる機能が必要です。

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026