Samba を使用してください。
Samba は、Windows と互換性のあるファイル共有サービスを提供します。
ディレクトリを共有できます (例:/srv/samba/sharename ) を Linux コンピュータにインストールし、Windows から次のようにアクセスします:\\linuxservername\sharename . Windows 側に追加のソフトウェアは必要ありません。
Samba は、ほとんどの Linux ディストリビューションに含まれています。たとえば、パッケージ マネージャーを使用してインストールします。
-
Ubuntu:
sudo apt-get install samba smbclient -
SUSE:
zypper samba -
CentOS/RedHat:
yum install samba
Samba を構成するには、以下を参照してください。
-
Ubuntu:http://ubuntuforums.org/showthread.php?t=202605
-
SUSE:http://doc.opensuse.org/documentation/html/openSUSE/opensuse-reference/cha.samba.html
-
CentOS/RedHat:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-samba-configuring.html
または、Google を検索してディストリビューションのガイドを見つけてください。
Linux ファイアウォールを使用する場合は、ポート 137/tcp、138/tcp、139/tcp、および 445/tcp への接続を受け入れるように構成する必要がある場合があることに注意してください (これとこれを参照してください)。
上記の説明では、Linux コンピューターは Samba サーバーであり、Windows はそこから共有をマウントします。
以下のコメントで、転送プロセスを自動化したいとおっしゃっています .これは、Windows がサーバーとして機能し、Linux が smbclient を使用してサーバーに接続するように役割を逆にすることで実現できます。 .
smbclient で Windows 共有をマウントする必要はまったくありません。たとえば、C:\Directory\file.txt を取得するには それを /tmp にコピーします Linux コンピューターで次の操作を行います:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c 実行するコマンド。 man smbclient を参照 詳細はこちら
-U username%password で指定された共有にアクセスするためのユーザー名とパスワード
必要に応じて変更し、スクリプトに追加してください。
特定のソフトウェアがインストールされることは期待できないとおっしゃっていましたが、特定のインストールを必要としない Windows 用の SSH/SCP/SFTP クライアントがあります。実行可能ファイルのみが利用可能です。私がよく利用しているのは PuTTY とそのコンパニオン pscp です。 と psftp ツールですが、代替手段が存在することは確かです。 pscp と psftp コマンド ラインから完全に実行できるため、自動化タスクに適しています。両方とも -batch さえ持っています 「すべての対話型プロンプトを無効にする」と説明されているスイッチであり、ほぼ確実に活用できます。
おそらく、既に SSH/SCP/SFTP サーバーがサーバーにインストールされて構成されているため、これらのファイルをコピーするためだけにいずれかのホストにソフトウェアをインストールする必要がなくなります。
もう 1 つの利点は、PuTTY が寛容なライセンスの下でオープン ソースであるという事実かもしれません。そのため、すぐに必要な機能を実行できない場合でも、比較的簡単に好きなように動作させることができるはずです。