C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[14]: CentOSでperl起動時にrdesktopを実行するには


(過去ログ 34 を表示中)

[トピック内 20 記事 (1 - 20 表示)]  << 0 >>

■17131 / inTopicNo.1)  CentOSでperl起動時にrdesktopを実行するには
  
□投稿者/ じゃかるた (94回)-(2008/04/17(Thu) 16:16:19)

分類:[その他の言語] 

CentOSでPerl実行時にリモートデスクトップ接続画面を表示しようとしています。

コマンド
# rdesktop -k ja -u ユーザー名 ホスト名

で表示されるのは分かったのですが、Perlファイルを実行時に上記コマンドを実装する方法が分かりません。

ほんとはJavaScriptで上記コマンドが実行できれば一番うれしいのですが方法が見つからないので以下のような方法でやろうと考えています。

JavaScriptでphpの呼び出し
window.open("hoge.php","hoge","width=30,height=20");

php(hoge.php)よりperlを実行
Exec("hoge.pl",$res,$status);

perl(hoge.pl)
$cmd = 'rdesktop -k ja -u ユーザー名 ホスト名';
open(OUT, $cmd);

としています。

現在の実行結果はphpは開きますがperlは無反応です・・・

phpとperlはほとんど分からないのでコマンドの実行方法が教えていただけないでしょうか?
もっとシンプルにできるのであれば合わせてお願いします。

実現したいのはfirefoxのwebページからリモートデスクトップ接続画面を表示するというものです。
引用返信 編集キー/
■17132 / inTopicNo.2)  Re[1]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ 774RR (161回)-(2008/04/17(Thu) 16:30:26)
javascript/firefox っつーことは web client がいて
php/perl っつーことは cgi 等が動いている web server がいて
rdesktop は web server で動かしたいの?

わざわざサーバにセキュリティホールを開けようとしているわけなのだが
どれほど危険なことをやりたいと思っているのかセキュリティ的考察を行ってくれ
俺ならそういう顧客要望は断固お断りする
引用返信 編集キー/
■17133 / inTopicNo.3)  Re[2]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ ネタ好き (105回)-(2008/04/17(Thu) 16:40:01)
PHPだけでもセキュリティが心配なのに、何故両方同時なのかな?
わからない状態ではPHPだけやった方がいいと思いますよ。
引用返信 編集キー/
■17134 / inTopicNo.4)  Re[3]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ じゃかるた (95回)-(2008/04/17(Thu) 17:10:02)
No17132 (774RR さん) に返信
>rdesktop は web server で動かしたいの?
そうです。

>どれほど危険なことをやりたいと思っているのかセキュリティ的考察を行ってくれ
>俺ならそういう顧客要望は断固お断りする
WindowsのActiveXに代わるようなものがあるなら、その方法を知りたいですが。
ちなみにIE7をCentOSで仮想的に実行してみましたがActiveXは使用できませんでした。

やるやらないは別としてセキュリティを度外視すれば可能なのでしょうか?

No17133 (ネタ好き さん) に返信
> PHPだけでもセキュリティが心配なのに、何故両方同時なのかな?
> わからない状態ではPHPだけやった方がいいと思いますよ。

PHPだけでコマンドを実行する方法はあるのでしょうか?

質問として不適切なのは承知しました。ですが、できるかできないかの判断をしたいのです。
できるのであればその実行方法も。
もちろんセキュリティは考慮していきます。
引用返信 編集キー/
■17135 / inTopicNo.5)  Re[4]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ levin (1回)-(2008/04/17(Thu) 17:18:31)
phpにもexec()ありますよ。
引用返信 編集キー/
■17141 / inTopicNo.6)  Re[5]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ 774RR (162回)-(2008/04/17(Thu) 18:40:38)
rdesktop で何がしたいのか、なんだけど・・・
web client (Win) マシンに web server (Linux) の画面が出したい?
web server (Linux) マシンに web client (Win) の画面が出したい?

rdesktop という以上は後者だと思うんだけど、誰がそれ(=server 上の画面) 触るわけ?意味がなさそう。

引用返信 編集キー/
■17142 / inTopicNo.7)  Re[6]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ ぽぴ王子 (356回)-(2008/04/17(Thu) 19:03:25)
ぽぴ王子 さんの Web サイト
No17141 (774RR さん) に返信

> rdesktop で何がしたいのか、なんだけど・・・
> web client (Win) マシンに web server (Linux) の画面が出したい?
> web server (Linux) マシンに web client (Win) の画面が出したい?

web client (Linux) マシンに web server (Win) の画面が出したい?

かな?と思いました。
あーでも

> >rdesktop は web server で動かしたいの?
> そうです。

だから違うのかなあ。



ただその…なんていうか…

No17134 (じゃかるた さん) に返信

> 質問として不適切なのは承知しました。ですが、できるかできないかの判断をしたいのです。
> できるのであればその実行方法も。
> もちろんセキュリティは考慮していきます。

この辺を見るにつけ、ものすごく不安になります。
そんなことはどうでもいいから、とにかく教えろ。うるさ方がいろいろ言うからとりあえず
セキュリティは考慮するって言っておけばごまかせんだろ?
的なものを感じるというか。
いや、もちろんそんなつもりじゃないのはわかってるんですけどね。

僕個人としてはちょっとわからないし、ただわかったとしてもこういった公の場で危険な方法を
教えるのはちょっとはばかられますね。
# 幇助という言葉が脳裏をかすめるわけです
引用返信 編集キー/
■17148 / inTopicNo.8)  Re[7]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ じゃかるた (96回)-(2008/04/17(Thu) 21:05:26)
2008/04/17(Thu) 21:35:34 編集(投稿者)

No17142 (ぽぴ王子 さん) に返信
> ■No17141 (774RR さん) に返信
>
>>rdesktop で何がしたいのか、なんだけど・・・
>>web client (Win) マシンに web server (Linux) の画面が出したい?
>>web server (Linux) マシンに web client (Win) の画面が出したい?
>
> web client (Linux) マシンに web server (Win) の画面が出したい?
>
> かな?と思いました。
> あーでも
>
>>>rdesktop は web server で動かしたいの?
>>そうです。
>
> だから違うのかなあ。
>

web serverはWindowsです。clientはWindowsとLinuxの両方です。

外部から一定時間サーバーをリモートデスクトップで操作できるようにしようとしています。
WindowsのIEならjavascriptで簡単にリモートデスクトップ接続の画面を表示することができました。
クライアントPCがWindowsとは限らないのでLinuxでもそれを実装したいです。

>
>
> ただその…なんていうか…
>
> ■No17134 (じゃかるた さん) に返信
>
>>質問として不適切なのは承知しました。ですが、できるかできないかの判断をしたいのです。
>>できるのであればその実行方法も。
>>もちろんセキュリティは考慮していきます。
>
> この辺を見るにつけ、ものすごく不安になります。
> そんなことはどうでもいいから、とにかく教えろ。うるさ方がいろいろ言うからとりあえず
> セキュリティは考慮するって言っておけばごまかせんだろ?
> 的なものを感じるというか。
> いや、もちろんそんなつもりじゃないのはわかってるんですけどね。
>
> 僕個人としてはちょっとわからないし、ただわかったとしてもこういった公の場で危険な方法を
> 教えるのはちょっとはばかられますね。
> # 幇助という言葉が脳裏をかすめるわけです

Linuxコマンドをたたけば接続画面出てきますが・・・
Windowsでも普通にリモートデスクトップ接続ってプログラムにありますよね?
それをJavaScriptやPerlで表示することが問題ですか?
コマンドの中にユーザー名とホスト名が入っていることが問題ですか?

コードの書き方や配置場所、権限によってはセキュリティ上の問題もあると思います。
ですので考慮しますと書きました。

[編集]
>rdesktop という以上は後者だと思うんだけど、誰がそれ(=server 上の画面) 触るわけ?意味がなさそう。
私にとっては意味がないです。
WindowsのプログラムやLinuxのコマンドをたたけば接続画面は表示されるのでそれで済む話です。
それが面倒だという程度の話しはユーザー要望でよくありませんか?それだけのことです。

引用返信 編集キー/
■17150 / inTopicNo.9)  Re[8]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ Azulean (78回)-(2008/04/17(Thu) 22:48:21)
2008/04/17(Thu) 22:51:16 編集(投稿者)

> 外部から一定時間サーバーをリモートデスクトップで操作できるようにしようとしています。
この目的に対し、当初提示されたコードを見ると…。

> php(hoge.php)よりperlを実行
> Exec("hoge.pl",$res,$status);
>
> perl(hoge.pl)
> $cmd = 'rdesktop -k ja -u ユーザー名 ホスト名';
> open(OUT, $cmd);
このコードはサーバー側で実行されるという認識は大丈夫ですか?
つまり、サーバーのWindows側でrdesktopが実行されますが、rdesktopはWindowsに存在しないので「コマンドが見つかりません」で終わってます。
#IEこと、ActiveXはクライアント側で実行されますのでWebサーバーでコードは実行されません。

Linuxにおいてrdesktopを使って接続したいのであれば、ブラウザは使いません、というより使えません。
そのあたりからまずご確認下さい。
引用返信 編集キー/
■17152 / inTopicNo.10)  Re[9]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ ぽぴ王子 (357回)-(2008/04/17(Thu) 23:40:41)
ぽぴ王子 さんの Web サイト
No17148 (じゃかるた さん) に返信

> web serverはWindowsです。clientはWindowsとLinuxの両方です。
>
> 外部から一定時間サーバーをリモートデスクトップで操作できるようにしようとしています。
> WindowsのIEならjavascriptで簡単にリモートデスクトップ接続の画面を表示することができました。
> クライアントPCがWindowsとは限らないのでLinuxでもそれを実装したいです。

web server が Windows ですよと。
で、rdesktop を web server (つまり Windows )で動かしたいと。
うーんうーん。
rdesktop は Linux で、Windows のリモートデスクトップにアクセスするプログラム
という認識で合ってますでしょうか。
だとすると、Windows だと rdesktop は動かないですよね。

web server が Windows で、クライアントが Linux 、なおかつ Linux のコマンドラインから
rdesktop を実行したのであればわかるのですが。

サーバーで rdesktop が動いても、クライアントには全く関係のない話のような。

> Linuxコマンドをたたけば接続画面出てきますが・・・
> Windowsでも普通にリモートデスクトップ接続ってプログラムにありますよね?
> それをJavaScriptやPerlで表示することが問題ですか?
> コマンドの中にユーザー名とホスト名が入っていることが問題ですか?

問題ですか?と聞かれちゃうと、じゃあ問題じゃないんですか?と答えます。

> コードの書き方や配置場所、権限によってはセキュリティ上の問題もあると思います。
> ですので考慮しますと書きました。

じゃかるたさんが考慮したとして(そしてこの案件が実行できるものだったとして)それを
教えてしまうのは、私としてはちょっと危険なんじゃないのかなぁと思ったわけです。
実際のところは私はどうすればいいのかわからないので答えられないですし、その点に関しては
単なる野次馬でしかないので申し訳ないところですが、もし似たような話で私が回答できるような
ことだったとしても、やはり教えてかまわないことと教えるべきではないことというものがある
ように思います。
簡単な判断基準で言えば、本当にこの危険性がわかっていて、セキュリティの考慮ができる
方であれば、掲示板でこんな質問をすることすらためらうのではないかと思います。
そういった方が「マズいってわかってるんだけど、自己責任かつ興味本位なんだけど、こういうの
できるのかな?(やりかたを教えてではないところに注意)」ということを、公の掲示板など
ではない場所で聞いてきたとしたら、そのときは話に乗るかもしれません。乗らないかもしれません。
あー、でも乗らないかもですね。怖いですし。

> WindowsのプログラムやLinuxのコマンドをたたけば接続画面は表示されるのでそれで済む話です。
> それが面倒だという程度の話しはユーザー要望でよくありませんか?それだけのことです。

ユーザー要望でよくある、というのはわかります。ユーザーが無茶なことを言ってくるのは
よくある話ですし。
ただ、だからこそ言われるがままになるのではなく、危険性を認識した上で危険なものは危険だと
提案するのもエンジニアの仕事じゃないかと思います。

で、この辺をすっきりと書かれているのが 774RR さんのこの言葉ですね。

No17132 (774RR さん) に返信
> わざわざサーバにセキュリティホールを開けようとしているわけなのだが
> どれほど危険なことをやりたいと思っているのかセキュリティ的考察を行ってくれ
> 俺ならそういう顧客要望は断固お断りする
引用返信 編集キー/
■17153 / inTopicNo.11)  Re[9]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ じゃかるた (97回)-(2008/04/17(Thu) 23:41:08)
No17150 (Azulean さん) に返信
> 2008/04/17(Thu) 22:51:16 編集(投稿者)
>
>>外部から一定時間サーバーをリモートデスクトップで操作できるようにしようとしています。
> この目的に対し、当初提示されたコードを見ると…。
>
>>php(hoge.php)よりperlを実行
>>Exec("hoge.pl",$res,$status);
>>
>>perl(hoge.pl)
>>$cmd = 'rdesktop -k ja -u ユーザー名 ホスト名';
>>open(OUT, $cmd);
> このコードはサーバー側で実行されるという認識は大丈夫ですか?
> つまり、サーバーのWindows側でrdesktopが実行されますが、rdesktopはWindowsに存在しないので「コマンドが見つかりません」で終わってます。

大丈夫じゃないかもです・・・
上記hoge.plをクライアント単体で動かすことはできています。
リモートデスクトップ接続の画面も表示されました。
ただPHPからhoge.plを実行することはできませんでした。
# perl hoge.plで。ただ明日しか確認できないですが確かopenをsystemにしたような気はしますが・・・
サーバー側というのがよく理解できていないです。

> #IEこと、ActiveXはクライアント側で実行されますのでWebサーバーでコードは実行されません。
>
すいません。Webサーバーで実行と話しをしたので、ややこしくなっているのかも知れません。
実行するのはWebアプリケーションですが資源はクライアントのexeをキックするイメージです。
例えばShellでクライアントのexcel.exeをJavascriptで実行してExcelを開くのと変わりないと思っているのですが。
説明がおかしくてすいません。

> Linuxにおいてrdesktopを使って接続したいのであれば、ブラウザは使いません、というより使えません。
> そのあたりからまずご確認下さい。

接続したいのではなくあくまで接続画面の表示のみです。もちろん認証はその都度します。
なんの意味があるかというと単純にリモートデスクトップの接続画面をプログラムから出す。またはコマンドを打って出すのが面倒だからです。
面倒、または出し方が分からないのでブラウザから接続画面を開きたい。ということです。


引用返信 編集キー/
■17154 / inTopicNo.12)  Re[10]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ Azulean (79回)-(2008/04/17(Thu) 23:50:59)
> 接続したいのではなくあくまで接続画面の表示のみです。もちろん認証はその都度します。
> なんの意味があるかというと単純にリモートデスクトップの接続画面をプログラムから出す。またはコマンドを打って出すのが面倒だからです。
> 面倒、または出し方が分からないのでブラウザから接続画面を開きたい。ということです。
ブラウザからクライアントの任意のプログラムが実行できるなら、"rm -rf /"といったコマンドも実行できることになります。
ですので、通常、ブラウザからクライアントのアプリケーションを立ち上げることはできないと思って下さい。
引用返信 編集キー/
■17155 / inTopicNo.13)  Re[10]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ じゃかるた (98回)-(2008/04/17(Thu) 23:57:22)
No17152 (ぽぴ王子 さん) に返信

リモートデスクトップなのでセキュリティとかの話しになってないでしょうか?
コードで接続はしないです。最初から書いてますが、あくまでリモートデスクトップ接続画面の表示のみです。
これがセキュリティ的に問題あるなら、Windowsのリモートデスクトップ接続メニュー自体が問題でしょ?
Linuxのrdesktopコマンド自体が問題でしょ?

この処理をJavascriptやperlに委ねることにどれほどの問題がありますか?
引用返信 編集キー/
■17156 / inTopicNo.14)  Re[10]: CentOSでperl起動時にrdeskto
□投稿者/ ネタ好き (107回)-(2008/04/18(Fri) 00:01:04)
2008/04/18(Fri) 00:17:29 編集(投稿者)

じゃかるたさんへ
老婆心ながら、気になる事があります。
セキュリティの問題もそうですが、色々なブラウザ上の問題を考慮しておりますか?
たとえば、サーバーに誰もログインしてい無い状態でメソッドを呼び出した場合、
ハングしてしまいます。
文章を読んでいると、Web系アプリとデスクトップ系アプリの違いを意識されていない印象を受けましたので、
心配になりました。ここにいる先輩方はそういったことを心配しているのだと思います。
少し立ち止まって、Webアプリケーションを少し学ぶ事をお勧めします。
引用返信 編集キー/
■17157 / inTopicNo.15)  Re[10]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ Azulean (80回)-(2008/04/18(Fri) 00:15:50)
ちょっと早計過ぎる発言でしたので一部撤回と書き直しを行いたいと思います。

>このコードはサーバー側で実行されるという認識は大丈夫ですか?
>つまり、サーバーのWindows側でrdesktopが実行されますが、rdesktopはWindowsに存在しないので「コマンドが見つかりません」で終わってます。

簡単に思いつくケースを書き連ねます。

1) hoge.phpを単なるローカルのファイルとして開いている場合
PHPの中身が表示されるのみで、実行されることはありません。

2) hoge.phpがサーバー側(Windows)にあるIIS、Apache等を通して開いている場合
サーバー側(Windows)でperl hoge.plが実行され、rdesktopが見つからないということになります。
クライアント側では何も起きません。

3) hoge.phpがクライアント側(Linux)にあるApache等を通して開いている場合
クライアント側(Linux)でperl hoge.plが実行されますが、ユーザ権限が異なります。
ログインしているユーザのデスクトップに表示されないかもしれません。もしくは全く実行されないかもしれません。

引用返信 編集キー/
■17158 / inTopicNo.16)  Re[11]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ じゃかるた (99回)-(2008/04/18(Fri) 00:17:30)
>じゃかるたさんへ
>老婆心ながら、気になる事があります。
>セキュリティの問題もそうですが、色々なブラウザ上の問題を考慮しておりますか?
>たとえば、サーバーに誰もログインしてい無い状態でメソッドを呼び出した場合、
>ハングしてしまいます。
>文章を読んでいると、Web系アプリとWin系アプリの違いを意識されていない印象を受けましたので、
>心配になりました。ここにいる先輩方はそういったことを心配しているのだと思います。
>少し立ち止まって、Webアプリケーションを少し学ぶ事をお勧めします。

一応、webアプリもwindowsアプリもそれなりにキャリアはあるのですが・・ちょっとヘコみます^^;
Linuxに関してはさっぱりですが。
例えばWebアプリからExcelをOpenすることはできますよね?
同じように接続画面もexeを実行するだけなので問題なく開けます。
まだ認証してないのでサーバーにログインしてようがしてまいがクライアントには関係ないです。

ただ、これは気になります。
>ブラウザからクライアントの任意のプログラムが実行できるなら、"rm -rf /"といったコマンドも実行できることになります。
>ですので、通常、ブラウザからクライアントのアプリケーションを立ち上げることはできないと思って下さい。
このコマンドは確かに実行できると危険です・・・
これはLinuxに限っての話しですか?これならできない理由が分かる気がします。
WindowsのIEはクライアントアプリケーションの実行ができていますので。


引用返信 編集キー/
■17160 / inTopicNo.17)  Re[12]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ Azulean (82回)-(2008/04/18(Fri) 00:22:22)
> これはLinuxに限っての話しですか?これならできない理由が分かる気がします。
Linuxには限りません。

> WindowsのIEはクライアントアプリケーションの実行ができていますので。
これは予め、そのアプリケーションがブラウザ(IE)に登録しているからと言えます。
ExcelやFlash、Acrobat Reader、リモートデスクトップ等はブラウザ(シェルというべきか?)に登録されているので開けます。
しかし、電卓やコマンドプロンプト等を自動的に開くことは(通常)できません。

#もし開けるのであれば、それはローカルゾーンかな?
引用返信 編集キー/
■17161 / inTopicNo.18)  Re[12]: CentOSでperl起動時にrdeskto
□投稿者/ ネタ好き (108回)-(2008/04/18(Fri) 00:23:18)
2008/04/18(Fri) 00:25:11 編集(投稿者)

No17158 (じゃかるた さん) に返信


> 同じように接続画面もexeを実行するだけなので問題なく開けます。
> まだ認証してないのでサーバーにログインしてようがしてまいがクライアントには関係ないです。

うーん。ヤバイと思いますよ。
実行コードの場所、スレッドがどこで実行されているのかとか、Windowsのリモート処理とか
ちゃんと考えないと・・・
Azuleanさんが言っている問題に直面します。
この業界は日進月歩。
ですから知らない事が恥ではなくて、ちゃんと先輩方の忠告を聞かないで問題に直面する事が恥です。
技術者は毎日勉強するのが常識だから、今知らない事があっても恥ではありません。
知らない事など山ほどあります。勿論私もそうです。
素直になりましょう。セキュリティは特にね。
セキュリティをなめるととんでもない事になりますよ。
ぽぴ王子 さんの忠告を聞きましょう。
引用返信 編集キー/
■17162 / inTopicNo.19)  Re[13]: CentOSでperl起動時にrdesktopを実行するには
□投稿者/ じゃかるた (100回)-(2008/04/18(Fri) 00:36:29)
2008/04/18(Fri) 00:37:00 編集(投稿者)

No17160 (Azulean さん) に返信
>3) hoge.phpがクライアント側(Linux)にあるApache等を通して開いている場合
>クライアント側(Linux)でperl hoge.plが実行されますが、ユーザ権限が異なります。
>ログインしているユーザのデスクトップに表示されないかもしれません。もしくは全く実行されないかもしれません。
前提条件でいうとおそらくこれになると思われます。


>>これはLinuxに限っての話しですか?これならできない理由が分かる気がします。
> Linuxには限りません。
>
>>WindowsのIEはクライアントアプリケーションの実行ができていますので。
> これは予め、そのアプリケーションがブラウザ(IE)に登録しているからと言えます。
> ExcelやFlash、Acrobat Reader、リモートデスクトップ等はブラウザ(シェルというべきか?)に登録されているので開けます。
> しかし、電卓やコマンドプロンプト等を自動的に開くことは(通常)できません。
>
はじめて知りました・・・そういうことなんですか・・・勉強になりました。

>技術者は毎日勉強するのが常識だから、今知らない事があっても恥ではありません。
>知らない事など山ほどあります。勿論私もそうです。
>素直になりましょう。
はい。素直になることにします。
今回はブラウザからrdesktopコマンドを実行するのはできないということで結論づけたいと思います。
理由があってできないという判断ができたので嬉しく思います。

皆さん、ありがとうございました。
また、よろしくお願いします。

解決済み
引用返信 編集キー/
■17164 / inTopicNo.20)  Re[14]: CentOSでperl起動時にrdesktopを実行するには
 
□投稿者/ じゃかるた (101回)-(2008/04/18(Fri) 00:53:04)
ネタ好きさんへ

>たとえば、サーバーに誰もログインしてい無い状態でメソッドを呼び出した場合、
>ハングしてしまいます。

これ、ハングするかもです・・・試しもしないで否定してすいません。
明日試してみます。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -