回答:
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を構成するには、以下を参照してください。
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共有をマウントする必要はありません。たとえば、LinuxコンピューターC:\Directory\file.txt
で取得してコピーするに/tmp
は、次のようにします。
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
実行するコマンド。詳細man smbclient
を参照してください。
-U
として指定された共有にアクセスするためのユーザー名とパスワード username%password
必要に応じて変更し、スクリプトに追加します。
smbclient
Windows共有への接続、ファイルのコピー、および切断に使用できます。私は自分の答えを編集し、それを見てみましょう。
-c
オプションは単純な場合に使用する価値があります。私のマシンでは、パスワードは引数なしで提供されます(オプションなし)。また、-を呼び出すことで、コマンドラインリーダーから資格情報を遠ざけます(たとえば、ps
またはを使用[h]top
)-U $(cat .username) $(cat .password)
。
特定のソフトウェアのインストールは期待できないと言っていましたが、Windowsには特定のインストールを必要としないSSH / SCP / SFTPクライアントがあります。利用可能な実行可能ファイルのみ。私が頼りにしているのは、その仲間pscp
とpsftp
ツールを備えたPuTTYですが、代替手段が存在することは確かです。pscp
そして、psftp
コマンドラインから完全に駆動することができるので、オートメーションタスクに適しています。どちらにも-batch
「すべての対話型プロンプトを無効にする」と呼ばれるスイッチがあり、ほぼ確実に活用できます。
おそらくすでにSSH / SCP / SFTPサーバーがサーバーにインストールおよび構成されているため、これらのファイルをコピーするためだけにいずれかのホストにソフトウェアをインストールする必要がなくなります。
別の利点は、PuTTYが許容ライセンスの下でオープンソースであるという事実である可能性があるため、箱から出してすぐに望んでいることを実行しない場合、それはあなたが好む方法で動作させるのが比較的簡単でなければなりません。
私はCentOS 6
ユーザーなので、この方法を試しましたCentOS 6
を使用してsambaをインストールする
[root @ server〜]#yum install samba
確認のためのクエリ
[root @ server〜]#rpm -qa samba samba-3.5.10-125.el6.i686
Sambaユーザーを作成します。
[root @ server〜]#useradd sambashare
smbpasswdコマンドを使用して、ユーザー名sambashareのsambaパスワードを作成します。
[root @ server〜]#smbpasswd -a sambashare 新しいSMBパスワード: 新しいSMBパスワードを再入力します。 ユーザーsambashareを追加しました。
Samba共有ディレクトリを作成する
[root @ server〜]#mkdir / share
共有フォルダーの所有権を変更する
[root @ server〜]#chown -R sambashare:sambashare / share /
ファイル/etc/samba/smb.conf
を開き、以下の行を追加します。
[共有] コメント=共有 パス= / share 書き込み可能=はい 有効なユーザー= sambashare
Sambaサービスを開始
[root @ server〜]#service smb restart SMBサービスのシャットダウン:[OK] SMBサービスの開始:[OK]
testparm
コマンドを使用して構成を確認します
。 。 [共有] コメント=共有 パス= / share 有効なユーザー= sambashare 読み取り専用=いいえ
Windowsシステムでは、これを入力します run
次に、sambaのユーザー名とパスワードを入力します
できた