smbclient est une commande pour Linux disponible dans la suite Samba.
SMB est un protocole populaire utilisé pour partager des fichiers sur le réseau (SMB/CIFS). Même s’il a été créé pour les systèmes d’exploitation Windows, il est également pris en charge par les distributions Linux.
La commande smbclient peut être utilisée pour accéder facilement aux partages Windows. En utilisant smbclient, les partages distants de Windows peuvent être listés, téléchargés, supprimés ou navigués facilement. La commande smbclient fournit également un shell interactif.
Il se présente donc sous la forme d’un client de type FTP pour accéder aux ressources SMB/CIFS sur les serveurs.
Dans ce tutoriel, je vous montre comment utiliser smbclient avec des exemples.
Table des matières
- 1 Comment utiliser smbclient avec des exemples
- 1.1 Installer smbclient
- 1.2 Liste des partages SMB
- 1.3 Fournir un nom d’utilisateur
- 1.4 Le client SMB dans un shell Interactive
- 1.5 Liste des fichiers et des dossiers
- 1.6 Envoyer des fichiers et des dossiers
- 1.7 Télécharger des fichiers et des dossiers
- 1.8 Liste des attributs des fichiers et des dossiers
- 1.9 Décompresser un fichier tar avec smbclient
- 2 Liens
Comment utiliser smbclient avec des exemples
Installer smbclient
Pour installer smbclient sur une distribution Linux de type Debian, Ubuntu, Mint avec APT :
sudo apt install smbclient
Sur les distributions Linux à base Redhat comme RHEL, Fedora ou CentOS, il faut utiliser DNF (ou Yum) :
sudo dnf install smbclient
Liste des partages SMB
Pour lister les partages disponibles sur un hôte, utilisez l’option -L en spécifiant le nom d’hôte ou son adresse IP :
smbclient -L <nom d'hôte>
smbclient -L 10.0.0.43
Si la connexion au partage ne s’établit pas, l’erreur NT_STATUS_CONNECTION_REFUSED s’affiche.
Elle se produit si le service samba ne fonctionne pas, que le pare-feu bloque l’accès à ce service ou qu’il y ait un problème de réseau.
Par défaut, smbclient demande la saisie du mot de passe utilisateur.
Pour supprimer la demande de mot de passe, utilisez l’option -N :
smbclient -N -L 10.0.0.43
Fournir un nom d’utilisateur
Vous pouvez aussi ajouter un nom d’utilisateur lors de l’accès à un partage si une authentification est nécessaire.
Pour cela, ajoutez l’option -U et le nom d’utilisateur.
Par exemple, pour se connecter à un partage réseau avec le nom d’utilisateur sambauser :
smbclient -L 10.0.0.43 -U sambauser
Le client SMB dans un shell Interactive
smbclient fournit aussi un shell interactif comme certains clients ftp (ncftp, lftp, …).
Dans ce dernier vous pouvez passer différentes commandes pour effectuer les opérations souhaitées.
smbclient -U sambauser "\\10.0.0.43\partagedemo"
Saisissez la commande help pour obtenir la liste des commandes disponibles dans le shell.
Si vous rencontrez l’erreur suivante lors de la connexion SMB :
Not enough '\' characters in service
Triplez l’antislash pour la résoudre, comme ceci :
mbclient -U sambauser -L "\\10.0.0.43\partagedemo"
Liste des fichiers et des dossiers
Dans le shell interactif smbclient, nous pouvons lister les fichiers avec la commande ls.
smb: \> ls
Envoyer des fichiers et des dossiers
Les fichiers et les dossiers peuvent être téléchargés avec la commande mput. Mais afin de télécharger un dossier spécifique et son contenu, le mode récursif doit être activé avec la commande recurse. Le téléchargement peut également être lancé avec la commande mput.
smb: \> recurse # Active le mode récursif
smb: \> mput Images # Upload du dossier Images
smb: \> recurse # Désactive le mode récursif
Lorsque vous n’avez pas accès en écriture sur le partage, cela renvoi le code erreur NT_STATUS_ACCESS_DENIED.
Télécharger des fichiers et des dossiers
Les fichiers et les dossiers peuvent également être téléchargés avec la commande mget. S’il y a plusieurs fichiers et dossiers à télécharger, le mode récursif doit être activé avec la commande recurse.
smb: \> recurse
smb: \> mget Images
smb: \> recurse
Liste des attributs des fichiers et des dossiers
Vous pouvez également vérifier les attributs des fichiers stockés dans les partages SMB en utilisant la fonction allinfo de smbclient.
Les attributs de fichiers sont des valeurs de métadonnées stockées par le système de fichiers sur le disque. Parfois, vous pouvez trouver des informations juteuses en les inspectant.
Selon les systèmes de fichiers tels que NTFS, le fichier peut être affiché comme 0 octet sur le partage ; cependant, en inspectant les attributs, vous pouvez pousser l’analyse plus loin pour identifier le type de fichier et en extraire des données cachées.
smb: \> allinfo monfichier.txt
Décompresser un fichier tar avec smbclient
smbclient peut être utilisé pour créer des sauvegardes compatibles tar de tous les fichiers d’un partage SMB/CIFS.
Les drapeaux tar secondaires qui peuvent être donnés à cette option sont :
Restaurer à partir du fichier tar backup.tar dans monshare sur mypc (pas de mot de passe sur le partage).
smbclient //monpc/monshare "" -N -Tx backup.tar
Restaurez tout sauf les utilisateurs/docs :
smbclient //monpc/monshare "" -N -TXx backup.tar users/docs
Créez un fichier tar des fichiers situés sous users/docs :
smbclient //monpc/monshare "" -N -Tc backup.tar users/docs
Créez le même fichier tar que ci-dessus, mais utilisez maintenant un nom de chemin DOS :
smbclient //monpc/monshare "" -N -Tc backup.tar users\edocs
Créez un fichier tar des fichiers listés dans le fichier tarlist :
smbclient //monpc/monshare "" -N -TcF backup.tarlist tarlist
Créez un fichier tar de tous les fichiers et répertoires du partage :
smbclient //monpc/monshare "" -N -Tc backup.tar *
Liens
- Protocole FTP pour partager ses fichiers : principe et fonctionnement
- 7 meilleurs logiciels de transfert de fichiers en SFTP, FTPS pour Windows
- SCP, WINSCP, PSCP : transférer des fichiers Linux et Windows
- WinSCP : transférer des fichiers de Windows vers Linux en SFTP, SCP, FTPS
- WinSCP : Synchronisation automatique, manuel de fichiers ou dossiers distants
- rsync : synchroniser, copier des fichiers à distance ou locaux
- Monter un partage Windows sous Linux avec Samba
- Comment utiliser smbclient avec des exemples
- mount et fstab : monter des partitions de disques ou NFS, CIFS sur Linux
- NFS : Partage réseau de dossiers sur Linux
- SSH : comment ça marche
- Comment se connecter en SSH à un serveur distant
- Copier des fichiers ou répertoire dans un terminal sur Linux