Odpowiedzi:
Użyj smbclient
programu dostarczanego z Sambą:
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file'
Istnieje wiele flag, na przykład -U
pozwalających na to, aby nazwa użytkownika zdalnego była inna niż nazwa lokalna.
W systemach, które dzielą Sambę na wiele pakietów binarnych, możesz mieć zainstalowane serwery Samby, ale wciąż ich brakuje smbclient
. W takim przypadku należy sprawdzić repozytorium pakietów dla pakietu o nazwie smbclient
, samba-client
lub podobnym.
//server
powyżej, mam na myśli to, co nazywacie maszyną klienta, która w tym przypadku działa jak serwer. Aby to działało, musi mieć udostępniony folder lub dysk przez SMB.
scp
. W każdym razie dzięki!
curl obsługuje smb
protokół od wersji 7.40 :
curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/
curl --upload-file /home/me/local_file.txt --user "OurWindowsDomain\UserName:thePassword" smb://172.16.17.52/ShareName/Path/To/Remote/Dir
. Mam listę wszystkich dostępnych nazw użytkownikówsmbclient -L //172.16.17.52 -U UserName%thePassword -W OurWindowsDomain
Naprawdę działa to:
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file remote-file'
plik lokalny - plik z komputera lokalnego
plik zdalny - skopiuj do tego pliku na zdalnym komputerze
Jeśli korzystasz z pulpitu z udziałami już zamontowanymi przez nautilus , caja lub inny menedżer plików , możesz użyć bezpiecznika (zamiast smbclient ).
Jeśli tak, możesz znaleźć niektóre punkty montowania w:
ls -l /run/user/$UID/gvfs/
drwx------ 1 charlie charlie 0 Feb 2 10:04 smb-share:server=hostname,share=documents
Tak, to jest punkt montowania !
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
I możesz użyć go jako zwykłego systemu plików.
cp $HOME/myfile \
/run/user/$UID/gvfs/smb-share:server=hostname,share=documents/destpath/
smbclient Version 4.9.5-Debian
i curl 7.64.0
nie działało dla mnie ( Linux kali 4.19.0-kali4-amd64
)
To spowodowało:
smbmap -H server -u username -p password --upload local-filename share\\remote-filename
Connection to [IP] failed (Error NT_STATUS_CONNECTION_REFUSED)