Gửi tệp qua Samba bằng dòng lệnh


17

Tôi đã tự hỏi nếu có một cách để sử dụng Samba để gửi các mục đến máy khách thông qua dòng lệnh (tôi cần gửi các tệp từ máy chủ Samba). Tôi biết tôi luôn có thể sử dụng scpnhưng đầu tiên tôi tự hỏi liệu có cách nào để làm điều đó với Samba không. Cảm ơn!

Câu trả lời:


19

Sử dụng smbclient, một chương trình đi kèm với Samba:

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

Có nhiều cờ, chẳng hạn như -Uđể cho phép tên người dùng từ xa khác với tên cục bộ.

Trên các hệ thống phân chia Samba thành nhiều gói nhị phân, bạn có thể đã cài đặt các máy chủ Samba smbclient. Trong trường hợp này, kiểm tra kho gói của bạn cho một gói có tên smbclient, samba-clienthoặc tương tự.


Tôi tiếp tục nhận đượcConnection to [IP] failed (Error NT_STATUS_CONNECTION_REFUSED)
t0xic

Khi tôi viết //serverở trên, tôi có nghĩa là những gì bạn đang gọi máy khách, trong trường hợp này là hoạt động như một máy chủ. Nó cần phải có một thư mục hoặc ổ đĩa được chia sẻ qua SMB để làm việc này.
Warren Young

Oh ... điều đó sẽ không thực sự làm việc cho tôi. Tôi đoán tôi sẽ chỉ sử dụng scp. Dù sao cũng cảm ơn!
t0xic

@ fleebow8: Bạn có thể cài đặt máy chủ SCP của bên thứ ba trên các máy khách, nhưng bạn không thể nhấp chuột phải vào một thư mục trong Windows Explorer và nói "Chia sẻ"?
Warren Young

Tôi có một dự án cụ thể tôi đang làm nơi tôi muốn mọi thứ được tự động.
t0xic

12

curl hỗ trợ smbgiao thức kể từ v7.40 : curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/


Điều này làm việc rất tốt cho tôi : curl --upload-file /home/me/local_file.txt --user "OurWindowsDomain\UserName:thePassword" smb://172.16.17.52/ShareName/Path/To/Remote/Dir. Tôi có một danh sách tất cả các tên chia sẻ có sẵn vớismbclient -L //172.16.17.52 -U UserName%thePassword -W OurWindowsDomain
Matthias Braun

đây là hoàn hảo!
Tâm sinh lý

2

Thực sự làm việc sẽ là thế này:

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

tệp cục bộ - tệp từ máy cục bộ

tập tin từ xa - sao chép vào tập tin này trên máy từ xa


0

Một cách khác nếu chia sẻ đã được gắn bởi cầu chì

Nếu bạn đang chạy một số máy tính để bàn với các chia sẻ đã được gắn bởi nautilus , caja hoặc bất kỳ trình quản lý tệp nào khác , bạn có thể đang sử dụng cầu chì (thay vì smbclient ).

Nếu vậy, bạn có thể tìm thấy một số điểm gắn kết tại:

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

Vâng, đây là một điểm gắn kết !

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

Và bạn có thể sử dụng nó như một hệ thống tập tin thông thường.

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

0

smbclient Version 4.9.5-Debiancurl 7.64.0đã không làm việc cho tôi ( Linux kali 4.19.0-kali4-amd64)

Điều này đã làm:

smbmap -H server -u username -p password --upload local-filename share\\remote-filename
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.