![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Solaris9を利用しております。
データを更新するスクリプトファイル(shファイル)があり、現在はcronで
スケジュール設定を行っております。
最近、そのスクリプトファイルの実行をユーザの意図したタイミングで走らせたい
という要望が挙がっております。
ただし、そのユーザはUNIXについては全く知らない素人なため、直接コマンドを
実行させるのは避けたい状況です。(ログインパスワードも知らせたくない)
という状況なのですが、簡単な操作でスクリプトを実行できる何か良い方法はありますでしょうか?
宜しくお願い致します。
No.8ベストアンサー
- 回答日時:
確かにおっしゃるとおりです。
クライアントPCへのログインアカウント = .rhosts に記載するアカウント
rsh コマンドで指定するアカウント = Solaris に作成するアカウント
私の環境では、上記4つが全て同じアカウント名であり、
クライアントPCへのログインアカウントを考慮する点を忘れておりました。
すいません。時間を取らせましたことお詫びします。
> クライアントPCへのログインアカウントを考慮する点を忘れておりました。
> すいません。時間を取らせましたことお詫びします。
いえいえ。いろいろありがとうございました。
Solaris上でWindowsのログイン名を認識するはずがないという先入観もあり・・・
動作した時に「まさか・・・?!」と思いましたが、、
そうなんですね、正直これには驚きでした。
勉強になりました。ありがとうございます。
また問題クリアされましたので、これで要望どおりの動作が可能になりそうです m(^^)m
No.7
- 回答日時:
> ホスト名は、IPアドレスでOKですよね?
私の環境で、.rhosts の内容をIPアドレスに変更したところ
permission denied
rsh: can't establish connection
になりました。
IPアドレス指定ではダメなようです。
一度、ホスト名指定に変更してみてください。
私の今日の仕事が .rhosts の勉強になっています・・・(笑)
この回答への補足
やっと動作しました。
ありがとうございます。
仕様を勘違いしていたのかもしれませんが、
> .rhostsファイル の設定(Solaris内)
に記述するユーザ名は何のユーザ名でしょうか?
私の認識・設定した内容は、
(1)「testuser」というユーザをSolarisOS上に作成
(2).rhostsに接続を許可するホスト名と「testuser」を記載
(3)rshを実行するマシンにて「rsh HOSTNAME -l testuser ls」を実行
でした。そしてダメでした。
(2)と(3)との情報で認証を行っていると思っておりました。
↑認識間違っておりますか?
rhostsファイルに「testuser」ではなく、ローカルマシンのWindowsのログイン名(ActiveDirectoryにログインしているユーザ名)を記載したところ正常に動作しました。他の設定はいじっておりません。
結果動作してよかったのですが、何か余計に混乱してきました・・・。
いろいろありがとうございますm(__)m
ただ、未だにダメです。
(ホスト名にも変えてみました。)
今いろいろ調べていますが・・・ 進展なしです。
取り急ぎ、状況報告まで。
進展がありましたらコメントします。
No.6
- 回答日時:
パーミッションエラーですね。
。。。testuser で 172.45.123.1 にログインし、
ps -el コマンドを実行してください。その中に inetd が存在しますか?
存在しないのであればサーバ管理者によって r系 の実行が全て拒否されています。
/etc/inetd.conf の設定を変更しない限り rsh での接続はできません。
inetd がちゃんと存在するのであれば、.rhosts の中を再度確認してください。
接続してくるホストのホスト名[タブ区切り]ユーザ名(testuser)
です。
これでもダメならば .rhosts のパーミションを 644 or 600 にしてください
これでどうかな?
根本的に私が勘違いしているような気もしてきました・・・
あと、1時間ぐらいほっておくと接続できるようになる!
みたいな体験をしたこともあります。(笑)
> ps -el コマンドを実行してください。その中に inetd が存在しますか?
はい、存在してます。
---------
$ ps -ef | grep inetd
root 160 1 0 8月 26 ? 0:00 /usr/sbin/inetd -s
$
$
---------
マシン・ユーザごとに、RSHを有効にする、などの設定の必要はないですよね?
以下のサイトを見て、inetd.confファイルの中で、rlogind,rshdを検索してみたのですが
見つかりませんでした。
OS側の設定が、何か抜けてますかね?
http://x68000.q-e-d.net/~68user/unix/pickup?%7E% …
OSはSolaris8でテストを行ってます(実運用はSolaris9)
> inetd がちゃんと存在するのであれば、.rhosts の中を再度確認してください。
> 接続してくるホストのホスト名[タブ区切り]ユーザ名(testuser)
> です。
> これでもダメならば .rhosts のパーミションを 644 or 600 にしてください
も問題ないと思います。
ホスト名は、IPアドレスでOKですよね?
パーミッションも644となっております。
時間が経って解決してくれれば良いんですがね・・・(笑)
No.5
- 回答日時:
ANo3,4 のものです。
OSかバージョンを勘違いしていたようです。
順番が違うみたいですね。
C:\tmp>rsh 172.45.123.1 -l testuser ls
これでどうですか?
これでちゃんと表示されるようになれば、
あとは ls コマンドの変わりにシェルスクリプトを指定すればOKですね。
単純に文法(順番)の間違いだったんですね。
すみません
修正して試してみたところ、
-------
172.45.123.1: permission denied
rsh: can't establish connection
-------
というエラーが発生してしまいました。
権限エラーのようですが、なぜか分かりますでしょうか?
度々すみません。
宜しくお願い致します。
No.4
- 回答日時:
ANo.3 のものです。
> > .rhostsファイル の設定(Solaris内)
> についてですが、どのような設定を行えばよいのでしょうか?
作成したユーザアカウントのホームディレクトリに作成します。
ホスト名(hoge.foo.co.jp)とユーザアカウント名(user2)をタブで区切って記述します。
hoge.foo.co.jp user2 ←こんな感じ。
指定したホストから指定したユーザアカウントのみ接続を許す!
といったものになります。
> バッチファイルの作成(ユーザPC内)
バッチファイルには、rsh コマンドを記述するだけです。
データを更新するスクリプトファイル(shファイル)を a.sh とすると
rsh -l user1 hoge.foo.co.jp a.sh
(a.sh はフルパスで指定することをお薦めします)
バッチファイルは、****.bat で保存しておけばOKです。
> login、スクリプトファイルを実行、exitで良いのでしょうか?
> 何か気をつけることはありますか?
rsh での実行には login や exit は、関係ありません。
> ただし、そのユーザはUNIXについては全く知らない素人なため、直接コマンドを
> 実行させるのは避けたい状況です。(ログインパスワードも知らせたくない)
利用者に信頼が置けない場合は、
shファイル内に管理者通知機能を付けることをお薦めします(笑)
ご回答が遅くなってしまい申し訳ございません。
コメントいただいたように設定を行い、実際に動作を確認してみましたが、うまく動作していないようです。(接続できていない?)
Windowsからbatファイルを実行した結果は以下の通りです。
(とりあえずlsの結果を返そうと思って以下のようにしてみました)
---------------------------------------------------------------------------
C:\tmp>test.bat
C:\tmp>rsh -l testuser 172.45.123.1 ls
Runs commands on remote hosts running the RSH service.
RSH host [-l username] [-n] command
host Specifies the remote host on which to run command.
-l username Specifies the user name to use on the remote host. If
omitted, the logged on user name is used.
-n Redirects the input of RSH to NULL.
command Specifies the command to run.
C:\tmp>
---------------------------------------------------------------------------
何か考えられる原因はありますでしょうか?
宜しくお願い致します。
No.3
- 回答日時:
rsh で実行すればよいと思います。
ユーザアカウント作成(Solaris内)
.rhostsファイル の設定(Solaris内)
バッチファイルの作成(ユーザPC内)
この3つを用意すれば実行できます。
ご回答ありがとうございます。
> .rhostsファイル の設定(Solaris内)
についてですが、どのような設定を行えばよいのでしょうか?
> バッチファイルの作成(ユーザPC内)
についてですが
login、スクリプトファイルを実行、exit
で良いのでしょうか?何か気をつけることはありますか?
Windowsからsolarisに接続するバッチファイルを作ったことが無く、またSolarisに関しても素人なため、基礎的な質問で申し訳ございませんが宜しくお願い致します。
No.2
- 回答日時:
No1です。
下記2の方法のやり方の参考にしてください。
シェルスクリプトの最後にexitさせておけば、ログイン後即スクリプト実行→ログアウトとなります。
参考URL:http://h50221.www5.hp.com/cgi/service/knavi/prod …
No.1
- 回答日時:
思いつくのは、
1.メールが受け取れるマシンなら、aliasesか.forwardでスクリプトに渡す。
2.専用のアカウントのログインシェルにそのスクリプトを指定しておき、ログインすれば動くようにしておく。
3./etc/inetd.conf で、あるポート(例えば、fingerとか)にパケットが来たらスクリプトが動くようにしておく。
3はあまり薦められませんが...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(コンピューター・テクノロジー) FPGA構成データ、ソフトウェアデータ をボード Zybo Z20 用に転送する方法 1 2023/07/25 18:19
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
エクセルの表にヘンな枠が・・・
-
pingは正常なのにtracerouteで...
-
最初の一度しか実行されないロ...
-
エクセルからアクセスのプロシ...
-
ACCESSレポートをPDFに出力したい
-
常に全画面表示するには・・・
-
管理者権限でも hostsファイル...
-
ROBOCOPY cmdで正常に処理され...
-
信頼済みサイト登録をbatファイ...
-
初回ログイン時のみ実行
-
LD_LIBRARY_PATHって?
-
rshコマンドが実行できない
-
SPI非言語の問題 解説お願いします
-
自分の言動に責任を持つとは、...
-
根本的に常に管理者として実行...
-
windows10のごみ箱をrd /s /q C...
-
python IDLEで訂正、削除のやり...
-
WSL+Dockerでpython実行環境構...
-
emacsでCtrl+zを押してサスペン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの表にヘンな枠が・・・
-
SONYの音楽ソフト「x-アプリ」...
-
pingは正常なのにtracerouteで...
-
python IDLEで訂正、削除のやり...
-
LD_LIBRARY_PATHって?
-
ROBOCOPY cmdで正常に処理され...
-
emacsでCtrl+zを押してサスペン...
-
shutdownコマンド実行の残り時...
-
バッチファイル内の各コマンド...
-
taskkill をバッチ処理できない。
-
エクセルからアクセスのプロシ...
-
linuxサーバーのキャッシュをク...
-
Openイベントを開始させないで...
-
CRONを隔週の日曜日に実行させたい
-
windows10のごみ箱をrd /s /q C...
-
人生をやめる決意をしても中々...
-
自分の言動に責任を持つとは、...
-
コマンドプロンプト Windows
-
最初の一度しか実行されないロ...
-
Linux のシェルスクリプトの強...
おすすめ情報