web-dev-qa-db-fra.com

Envoi de fichiers via Samba avec la ligne de commande

Je me demandais s'il y avait un moyen d'utiliser Samba pour envoyer des éléments à une machine client via la ligne de commande (j'ai besoin d'envoyer les fichiers depuis le serveur Samba). Je sais que je pourrais toujours utiliser scp mais d'abord je me demandais s'il y avait un moyen de le faire avec Samba. Merci!

18
t0xic

Utilisez smbclient , un programme fourni avec Samba:

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

Il existe de nombreux indicateurs, tels que -U pour permettre au nom d'utilisateur distant d'être différent du nom local.

Sur les systèmes qui divisent Samba en plusieurs packages binaires, les serveurs Samba peuvent être installés mais il manque toujours smbclient. Dans ce cas, vérifiez dans votre référentiel de packages un package nommé smbclient, samba-client, ou similaire.

20
Warren Young

curl prend en charge le protocole smbdepuis la v7.4 : curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/

14
eadmaster

Le vrai travail sera le suivant:

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

fichier-local - fichier de la machine locale

fichier distant - copie dans ce fichier sur la machine distante

2

Une autre façon si le partage est déjà monté par Fuse

Si vous utilisez un bureau avec des partages déjà montés par nautilus, caja ou tout autre gestionnaire de fichiers, vous pourriez utiliser Fuse (au lieu de smbclient).

Si c'est le cas, vous pouvez trouver des points de montage à:

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

Oui, c'est un point de montage!

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

Et vous pouvez l'utiliser comme un système de fichiers standard.

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

smbclient Version 4.9.5-Debian et curl 7.64.0 n'a pas fonctionné pour moi (Linux kali 4.19.0-kali4-AMD64)

Cela a:

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