@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

【続】Service for Unixのrsh機能について

1
投稿者投稿内容
kohtan
会議室デビュー日: 2005/01/21
投稿数: 5
投稿日時: 2005-01-21 16:22
昨年10月20日に立ち上がったスレと似ている(参照元記事URLを参照)
のですが、少し違うので別スレとして立ち上げます。

SFU3.5をダウンロードし、インストール後、上記スレの内容は正常に動作しました。
このスレの質問は、
 「UNIX上のrsh(HPの場合remsh)コマンドでWindows上にあるコマンドを実行するには?」
というものでしたが、この逆で、
 「Windows上のrshコマンドからUNIX上にあるコマンドを実行するには?」
どうすればいいんでしょう?

ぐぐってみたところ、こんな記事を見つけた
http://www.monyo.com/technical/windows/sfu30/
のですが、UNIX上の変更(パスワード同期)って必要なんでしょうか?

ご伝授いただけないでしょうか。
宜しくお願い致します。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2005-01-21 16:28
Windows Services for Unix の rsh 使わんでも、普通の 2000 のDOSプロンプトの rsh
使こたら?

rsh(RPC) サーバーのポートは開けとかなアカンし、ホームディレクトリ上の .rhosts に
ウィンドウズのIPとlogin名書いてやらんとアカンけど。/etc/hosts.allow と /etc/hosts.deny

も場合によっては適切に設定してやる必要あるし。。。
kohtan
会議室デビュー日: 2005/01/21
投稿数: 5
投稿日時: 2005-01-21 17:35
コブラさん、超速攻返信ありがとうございます。

え!?SFUは、もしかしていらない!?
そうなんですか。。。
ま、それで済むならラッキーです。
で、確認してみたところW2K pro SP3 のDOSプロンプトで、以下のように実行したところ、
 rsh UNIXマシン名 -l ユーザ名 コマンド
(コマンドはlsとかpwdとか普通のコマンド)

で、以下のようなメッセージが出るんです。
 UNIXマシン名: remshd: Account is disabled.
rsh: can't establish connection

う〜ん。困ったな。
$HOMEに.rhostsを作って、WindowsマシンIP 有効ログイン名は記述しました。
 /etc/hosts.allow, /etc/hosts.denyはファイルが存在しないので特に悪さはしてないし。
 ポート番号を空けるって・・・どこを確認すればいいんですかね。

ほかに原因とかあるのでしょうか。
kohtan
会議室デビュー日: 2005/01/21
投稿数: 5
投稿日時: 2005-01-21 17:58
追記です。

ポート番号指定ファイルは、
 /etc/services
でした。
う〜ん、ポート番号135は記述してないですねぇ。

実はこのUNIXマシンからrsh(HPなのでremshですが)を使っている実績があるんです。
もうちょっと環境を調べてみます。
わかったらまたここへ書き込みます。

kohtan
会議室デビュー日: 2005/01/21
投稿数: 5
投稿日時: 2005-02-01 13:41
解決しました!!

# すずけんさん、プライベートメールありがとうございます。
# プライベートメールにも返信しましたが間違いもあるようなので、
# こちらを参考にしてもらえたら幸いです。

結局、SFUも何もいらず、Windows標準で動くことがわかりました。(W2Kで確認済み)

動かないといっていた対象のUNIXマシンは、実際に実行したいUNIXマシンではなく、
本当に実行したいのは別のUNIXマシンでした。
確かに、/etc/servicesファイルを開くと、135番の記述(rpcサービスか何か)が
ありませんでした。
で、本当に実行したいUNIXマシンの/etc/servicesファイルには135番の記述が、
loc-srv 135/tcp
loc-srv 135/udp
という形で記述してありました。
ここの記述はrootでないと書き換え出来ないはずなので、システム管理者に相談
してみてください。

# とはいえこのあたりはセキュリティポリシーがあって、簡単に「このポートを開けて」
# とお願いしづらいでしょうけど。。。でもシステム管理者ならどのマシンなら、
# そのポートが開いてるか、(rshコマンドが使えるか)わかると思うので、
# 是非とも相談してみてください。

その他の設定などは特にないので、以下の手順で試してみてください。

(1) ローカルマシンはWindows上でコマンドプロンプトを実行。
(2) あとはrshコマンドを利用し、以下のルールに従って入力します。

rsh UNIXマシン名 -l UNIXマシンのユーザ名 コマンド

例)
UNIXマシン名:server1
UNIXマシンのユーザ名:Z999999
コマンド:ls

「rsh server1 Z999999 -l ls」

実行結果が出てくるはずです。

# 結果報告が遅くなりすみません。
すずけん
会議室デビュー日: 2005/02/01
投稿数: 1
投稿日時: 2005-02-01 21:18
kohtanさん、早速の返信ありがとうございました。

色々と試してみましたが、UNIXサーバ側の.rhostsの記述に
問題があることが分かりました。

UNIXからUNIXへのrshの場合は、.rhostsにはホスト名(FQDNで)記述してたのですが、WindowsからUNIXへのrshの場合はマシン名を記述しないといけなかったようです。

色々とお気遣い頂きありがとうございます。
kohtan
会議室デビュー日: 2005/01/21
投稿数: 5
投稿日時: 2005-02-01 22:47
いえいえ、こちらこそ細かく書いてるわりには間違いが多くてすみません。
先ほど私が書いた
 「rsh server1 Z999999 -l ls」
は、
 「rsh server1 -l Z999999 ls」
の間違いでした。
失礼しました。

問題解決して良かったですね。

では。
1

スキルアップ/キャリアアップ(JOB@IT)