web-dev-qa-db-ja.com

コマンドラインを使用してSamba経由でファイルを送信する

Sambaを使用してコマンドライン経由でクライアントマシンにアイテムを送信する方法があるかどうか疑問に思っていました(Sambaサーバーからファイルを送信する必要があります)。いつでもscpを使用できることはわかっていますが、最初にSambaでそれを行う方法があるかどうか疑問に思いました。ありがとう!

18
t0xic

Sambaに付属するプログラム smbclient を使用します。

$ smbclient //server/share -c 'cd c:/remote/path ; put local-file'

-Uなどの多くのフラグがあり、リモートユーザー名をローカルのものとは異なるものにすることができます。

Sambaを複数のバイナリパッケージに分割するシステムでは、Sambaサーバーがインストールされているにもかかわらず、smbclientが不足している場合があります。このような場合は、smbclientsamba-clientなどの名前のパッケージがないか、パッケージリポジトリを確認してください。

20
Warren Young

curlはsmbプロトコルをサポートします v7.40以降curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/

14
eadmaster

本当に働くのはこれです:

$ smbclient //server/share -c 'cd c:/remote/path ; put local-file remote-file'

local-file-ローカルマシンのファイル

remote-file-リモートマシン上のこのファイルにコピーします

2

共有がすでにマウントされている場合の別の方法Fuse

nautiluscajaまたはその他のファイルマネージャーによって共有がすでにマウントされているデスクトップを実行している場合は、Fusesmbclientの代わりに)。

その場合、いくつかのマウントポイントが次の場所にあります。

ls -l /run/user/$UID/gvfs/
drwx------ 1 charlie charlie 0 Feb  2 10:04 smb-share:server=hostname,share=documents

はい、これはmountpointです。

df -h /run/user/$UID/gvfs/*
Filesystem      Size   Used  Avail  Use% Mounted on
gvfsd-Fuse      16.2T  3.6T  12.6T   59% /run/user/1000/gvfs

そして、あなたはそれを通常のファイルシステムとして使うことができます。

cp $HOME/myfile \
    /run/user/$UID/gvfs/smb-share:server=hostname,share=documents/destpath/
0
techno

smbclient Version 4.9.5-Debianおよびcurl 7.64.0はうまくいきませんでした(Linux kali 4.19.0-kali4-AMD64

これはしました:

smbmap -H server -u username -p password --upload local-filename share\\remote-filename
0
chefarov