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!
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.
curl prend en charge le protocole smb
depuis la v7.4 : curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/
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
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/
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