私はubuntu10.4マシンにbashスクリプトを持っています。それは共有されており、\\LINUX-SERVER\bash_repo\make-live
を使用してwin7マシンからアクセスできます。
しかし、私がそうすると、windowsはそれを開こうとします。これは私が望むものではありません。 buntuにexecuteitを伝えたい。
私は実際に、ユーザーがボタンをクリックして、ubuntuマシンのbashスクリプトに実行するように指示するWindows上でGUIアプリを構築できることを望んでいます。
これは可能ですか?
PuTTYのメーカーからのplinkを試しましたか? http://www.chiark.greenend.org.uk/~sgtatham/PuTTY/download.html
次のように、ubuntuマシンでスクリプトを実行できるはずです。
plink.exe -ssh -pw pass -noagent user@linux-server /path/to/your/script/make-live
他の人が示唆しているように、sshを使用してCLIセッションを取得したり、アクセス可能なプログラムでラップしたりできますが、ネットワーク共有としてアクセスできるということは、Sambaが構成され、実行されていることを意味します。Sambaにファイルを実行させる方法は多数あります。 (例:マジックスクリプト、winpopups、svcctl) rtfm 詳細については。
上記の私のコメントで示唆されているように、ubuntuマシンでWebサーバーを実行している場合は、PHPからスクリプトを実行できます。
次のような小さなPHPスクリプトで十分です。
<?php
$output = Shell_exec('bash /path/to/your/script');
echo "$output";
?>
PHPコードを/var/www/exec.php
などのファイルに保存し、ブラウザで任意のマシンからURL http://your_ubuntu_machine_ip/exec.php
を指定します。
スクリプトはwww-data
ユーザー(デフォルトのApache Webサーバーユーザー)として実行されることに注意してください。 Sudoを使用して特権コマンドを実行する場合は、sudoers
を使用してwww-data
ユーザーをvisudo
ファイルに追加する必要があります。
次のようなエントリが必要です。
www-data ALL=NOPASSWD: /path/to/command