• ベストアンサー

リモートでのスクリプトファイルの実行方法について

ssm3uの回答

  • ssm3u
  • ベストアンサー率52% (19/36)
回答No.6

パーミッションエラーですね。。。。 testuser で 172.45.123.1 にログインし、 ps -el コマンドを実行してください。その中に inetd が存在しますか? 存在しないのであればサーバ管理者によって r系 の実行が全て拒否されています。 /etc/inetd.conf の設定を変更しない限り rsh での接続はできません。 inetd がちゃんと存在するのであれば、.rhosts の中を再度確認してください。 接続してくるホストのホスト名[タブ区切り]ユーザ名(testuser) です。 これでもダメならば .rhosts のパーミションを 644 or 600 にしてください これでどうかな? 根本的に私が勘違いしているような気もしてきました・・・ あと、1時間ぐらいほっておくと接続できるようになる! みたいな体験をしたこともあります。(笑)

liao
質問者

お礼

> 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%2F%2Erhosts OSはSolaris8でテストを行ってます(実運用はSolaris9) > inetd がちゃんと存在するのであれば、.rhosts の中を再度確認してください。 > 接続してくるホストのホスト名[タブ区切り]ユーザ名(testuser) > です。 > これでもダメならば .rhosts のパーミションを 644 or 600 にしてください も問題ないと思います。 ホスト名は、IPアドレスでOKですよね? パーミッションも644となっております。 時間が経って解決してくれれば良いんですがね・・・(笑)

関連するQ&A

  • csh スクリプトの実行者を知りたい

    スクリプト内部で、そのスクリプトを実行しているのが、 ユーザーなのか、cronなのかを判定することは可能でしょうか? 具体的には、hoge.cshというスクリプトがあり、 これはユーザーmogeのcronで週一回実行するよう登録されています。 さらに、このスクリプトは、メンテナンス時などに、 ユーザーmogeがコマンドラインからも実行することがあります。 スクリプト内部で、cronから走った時と、コマンドラインから 走らせた時で異なるlogを吐かせたいのですが、 どのようにしたらよいでしょうか。 宜しくお願いします。

  • cronでifconfigコマンドを使用するスクリプトを実行すると値が

    cronでifconfigコマンドを使用するスクリプトを実行すると値が取れないのですが、 なぜなんでしょうか?どうすれば値が取れるようになるのでしょうか? OSはubuntu10.04を使っています。 直接実行した場合はファイル出力されるのですが、 cronで実行した場合は日付しか出力されません。 どなたかよろしくお願いします。 -----test.sh----- date >> test.log ifconfig >> test.log -----------------

  • cronでシェルスクリプトが実行されない

    Linuxでファイルのバックアップを取るため backup.shというシェルスクリプトを組み、コマンドから実行する場合問題ないことを 確認しています。ところがcronに設定し自動実行すると内容が実行されておりません。 /var/log/cronを確認したところ時間通り実行されているというログは残っています。 /var/spool/cron/にrootというファイルを作成し 00 23 * * * /BACKUP/backup.shを実行させたいのです。 なぜ、手動の場合は問題がないのにcronで設定すると問題が生じるのでしょう? もし、お分かりの方は教えてください。 OSはRed Hat Linux release 8.0 (Psyche)です。

  • リモートシェルでファイルをrootで実行させる方法

    UNIX1マシンから一般ユーザーで、ramshを使って UNIX2マシンのシェルをrootで実行させる、という仕組みを 自動化させたいのですが、パスワードが聞かれるためうまくいきません。 何か良い方法はあるでしょうか? もしくは一般ユーザーがUNIX2のシェルを実行し、その中で suコマンドを使ってrootであるファイルを実行する、というパターン でもいいのですが。 宜しくおねがいします。

  • シェルスクリプトで複数実行するには?

    web上からもアクセスできるphpに、定期的にアクセスするようにしたいと思っています。 定期的にアクセスするには、cronを利用すればできると思っていますが、phpへアクセスする方法が分からないために、別の記事にて質問させて頂いています。 (cronが利用できる、レンタルサーバを利用しております。) そこで、いろいろと調べていたところ、.shの拡張子のファイルを作成して、その中に命令事項を記入しておき、cronで.sh(シェルスクリプト?)を実行すれば良いみたいな事が記載されていました。 定期的自動にアクセスしたいphpファイルは複数あるので、phpファイルごとにcronを設定するより、このシェルスクリプトを利用して、複数のphpにアクセスできるようにできれば良いと思いました。 例えば「abc.sh」と言うファイルに、下記を記載してアップロード、パーミッションの設定。 #!/bin/sh/usr/bin/wget -q --spider http://xxx.yyy.com/abc/xxx.php そして、cronで実行日時を設定してこのファイルを実行すれば、「http://xxx.yyy.com/abc/xxx.php」へアクセスするような事が書かれていました。 複数のアドレスにアクセスさせたい場合は、.shのファイルにはどのように記述をすれば良いのでしょうか? またcron終了後にログメールが送信されてきますが、このログメールを送信しないようにするには、どのような記述をすれば良いのでしょうか? 一応調べてみたのですが、確認をお願いします。 abc.sh >/dev/null または abc.sh 2>&1 > /dev/null または abc.sh > /dev/null 2>&1 上記のような、複数の記述方法がありました。 どの記述方法がベターでしょうか。 質問をまとめますと、 複数のphpにアクセスする、シェルスクリプトの記述方法について。 cron終了後のログメールを送信しないようにするための、cronのコマンドの記述方法。 アドバイスを頂けると助かります。

  • UNIX : cronにて自動実行すると、whoami が実行できない

    Kornシェルスクリプト(仮名:a.ksh)内の処理で、 「 whoami >> file1 」 をcron設定にて自動実行したところ、上記のコマンド部分が実行されておらず、file1(ファイル)にユーザ名が記載されていませんでした。 しかし、a.kshを手動実行しfile1を見ると、ユーザ名が記載されていて、上記のコマンド部分が実行できていることを確認致しました。 なぜcronにて自動実行すると、上記のコマンド部分が実行できないのでしょうか? 皆様、よろしくお願い致します。

  • sudoでシェルスクリプトを実行させたい

    /usr/bin/sudo を使って、xxx.shを実行させたいので、設定でxxx.shを許可しました。 その後Apacheで動くCGI(perlスクリプト)から、``を使って実行させようと考えています。 このときにこのxxx.shがうまく動きません。多分シェルにアクセスできないのだと思いますが、どうしたらこのスクリプトをroot権限で動かす事ができるようになるのでしょうか。関係あるかどうかわかりませんが、xxx.shの中身はディレクトリ作成コマンドなどです。ネットで検索したら、シェルスクリプトだけ許可にすればよいとあったのですが・・。セキュリティ的には/bin/shを許可するのはまずそうな気がするのですが、こちらを許可してもよいものでしょうか。 環境等 xxx.sh 755 所有者(user1) Apache実行ユーザ (apache) CGIの実行ユーザ(apache?) 挑戦したコマンド(とアパッチのログ) `/usr/bin/sudo sh ./xxx.sh`; ->パスワード求められます (/bin/shの権限がない?) `/usr/bin/sudo ./xxx.sh`; ->/usr/bin/sudo: unable to exec ファイルのパス No such file or directory (xxx.shのファイルの場所はあってます) `/usr/bin/sudo フルパス/xxx.sh`; ->/usr/bin/sudo: unable to exec ファイルのパス No such file or directory (xxx.shのファイルの場所はあってます) 不足の点などあればご指摘ください。

  • CORESERVERでCRONジョブが実行されない

    この手の情報はネット上に沢山あるので自分なりに調べたのですが解決に至りませんでしたので質問させてください。 やりたいことは、CORESERVERのCRONジョブで設定した時間にcron.shを動かしてtest.phpを実行したいです。 ■現状 ・CRONジョブは毎日午前11時に動作するように設定 0 11 * * * ・CORESERVERからCRONジョブのエラーや成功メールが1通も届かない ・Tera Term で直接CRONを実行したが500エラーが返ってくる ・シェルスクリプトで動かしたいPHPファイルに問題はなかった(直接実行して成功) ■やったこと cron.shをCORESERVERのトップディレクトリに設置 /virtual/ユーザー名/cron.sh cron.shに記述した内容は #!/bin/sh #PHP /usr/local/bin/php /virtual/ユーザー名/public_html/サイトディレクトリ/php/test.php exit です。cron.shのパーミッションは705にしました。改行コードはLFです。 test.phpまでのディレクトリのパーミッションも705になっています。test.phpのパーミッションは644です。 Tera Term に入力したコマンド? sh /virtual/ユーザー名/cron.sh 上記を決定すると以下のスターテスが返ってきました。 Status: 500 Internal Server Error Content-type: text/html 何か根本的な間違いをしているのでしょうか? アドバイスをお願いいたします。

  • 負荷を避けてスクリプトを実行させる方法

    負荷を避けてスクリプトを実行させる方法 メールを受信したらプログラムを実行させるようにしています。 何通もメールが来た時に正常にプログラムが実行できない時があります。 そこでbatchコマンドを盛り込んで行きたいのですが具体的な使い方がわかりませんでした。 スクリプトファイルの先頭にbatchコマンドを置けばよいのか、 /etc/mail/aliasesで初めから hogehoge: "| batch -f /etc/hogehoge.sh" のようにするのかわかりません。 もしくは別の方法があるのでしょうか? やりたい事は負荷を避けてなるべく正確にスクリプトを実行させたいのです。 どなたかわかるかたよろしくお願いします。

  • シェルスクリプトファイルからjavaを実行したい

    シェルスクリプトファイル(拡張子が.shのファイル)からJavaを実行したいのですが上手くいきません。 コマンドラインで直接 cd javaのファイルが置いてあるディレクトリへのフルパス を実行した後 java 実行するクラス名 引数 とすると上手く動きます。 上記2行をshファイルにコピペしてみましたが、エラーになり動きません。 エラーは : No such file or directory cdをしている行とcdで移動しようとしているディレクトリパス Exception in thread "main" java.lang.NoClassDefFoundError: 実行するクラス shファイルの1行目に #!/bin/sh や #!/bin/bash を入れてみましたが、どちらも挙動が変わりません。(エラーのまま) shファイルはUTF-8を文字コードにして改行はLFのみです。 また、javaコマンドを実行するとき -cp や -classpath 引数でjavaのファイルが有るディレクトリを指定してみましたが挙動が変わりません。 shの実行はコマンドラインから sh shファイル(絶対パスで) source shファイル(絶対パスで) でやってみましたが駄目でした。 javaのファイルが有るディレクトリに対してパスを貼ってみましたが挙動が変わりません。 コマンドラインからコピペしてshファイルを作っていますので、フォルダ名等のつづりミスの可能性は低いと思います。 何か設定が足りないのでしょうか? よろしくお願いいたします。