2010年1月31日日曜日

Infernoのサーバーの機能について

Infernoのサーバー機能についてちょっと解って来ました。
Plan9のサーバーは
- CPUサーバー
- 認証サーバー
- ファイルサーバー
にわかれるそうです。
どうやらInfernoもそういう分け方という理解で良さそう。

なお、それぞれのサーバー機能で、サービス名のニーモニック(styxとか、ポート番号を文字列で表現する)とか、ネットワークアクセスをする場合は、あらかじめ
ndb/cs
を実行しておく。

・認証サーバー
認証サーバーのプログラムはsvc/auth。
アカウント情報はauth/changeloginで追加する。

例えば、ユーザー/パスワードを追加するには、
auth/changelogin [ユーザー]
と実行する。

また、auth/createsignerkeyで鍵の生成も必要。
auth/createsignerkey [ユーザー]

認証サーバーを使う場合は、getauthinfoで
認証を行う。

例えば、後述のCPUサーバーの機能を使う場合は、
CPUサーバー、クライアントそれぞれでgetauthinfoを実行する。

・CPUサーバー
サービス名はrstyx。
サーバー側では、getauthinfoを実行するか、svc/rstyxを
実行するとサービスが立ち上がるんじゃなかろうか(自信無い)。
getauthinfo default
signer: 認証サーバー(cpuサーバーと同じ所で認証サーバーを動かすときはlocalhost)
user: ユーザー

保存しますか?にYESと答えると、認証情報が保存される。
再起動後はsvc/net or svc/rstyxの起動だけでよい。

クライアントからはまず認証。
getauthinfo tcp!接続先アドレス
signer: 認証サーバー
user: ユーザー

つぎに、接続コマンド
cpu tcp![CPUサーバー]
とすると、サーバーにログインし、
プロンプトが表示される。
抜けるときはexit。

ほかに、クライアントからはrcmdというのもつかえそう。
こちらはおそらくコマンドの単品実行でしょう。

・ファイルサーバー

ファイルサーバー側ではgetauthinfoを行う。
やり方はCPUサーバーと同じ。
getauthinfoの結果ファイルサーバーが立ち上がるようだ。
save file = yes としたときだけかな?

サーバー立ち上げはsvc/styxで。
または、細かくオプションを選ぶ場合はlisten。
認証(引数にキーを選ぶ)、エクスポートするディレクトリを選べるようだ。

クライアントからはgetauthinfoで認証し(CPUサーバーと同じ)
mountする。
mountは、こんな感じで。
mount tcp![ファイルサーバー] /n/remote
でOK。

※マウント後のファイルの使い方はいろいろ面白いことがありそう。
 例えば、Xみたいに画面を飛ばすのが面白かった。

※svc/net というサーバーコマンドもあるけど、これは
CPUサーバーとファイルサーバー両方まとめて立ち上げるように
思われる。

1 件のコメント:

  1. もう一度試してみたらどうもうまく行かない。

    結局サーバー側のinfernoを再起動してやり直した。
    特に手順は間違えていなかったと思うんだけど。

    返信削除