smbclient-ng : se connecter à un partage SMB facilement

malekalmorte

Date création :

30 juin 2024

Dernière modification :

Pour se connecter à un partage SMB depuis Linux, il existe le client SMB et bien sûr la possibilité de le faire en graphique avec nautilus ou tout autre explorateur de fichiers.
Mais il existe aussi une autre façon grâce au projet open source smbclient-ng.

smbclient-ng est un moyen rapide et convivial d’interagir avec les partages SMB.
Dans ce tutoriel, je vous montre comment l’installer et l’utiliser.

smbclient-ng : se connecter à un partage SMB facilement

Comment installer smbclient-ng

Tout d’abord, installez le paquet python3.12-venv :

apt install python3.12-venv

Puis créez un environnement virtuel :

sudo python3 -m venv /opt/python/

Enfin installez le paquet Python dans ce dernier :

/opt/python/bin/pip install smbclientng
Comment installer smbclient-ng

Comment se connecter et interagir avec un partage SMB

Voici la syntaxe à utiliser pour se connecter à un partage SMB distant :

/opt/python/bin/smbclientng.py -d <domaine> -u <utilisateur> -p <mot de passe> --host <hôte/IP>

Par exemple, pour se connecter à l’hôte 10.0.0.143 avec l’utilisateur demo dont le mot de passe est ‘motdepasse123’

/opt/python/bin/smbclientng -d "WORKGROUP" -u "demo" -p 'motdepasse123' --host "10.0.0.143"

Lorsque la connexion réussie, le message suivant s’affiche :

successfully authenticated to '10.0.0.143' as 'WORKGROUP\demo'!

Pour lister les partages, utilisez la commande suivante :

shared

Puis pour lister les répertoires du partage distant :

ls
Comment se connecter et interagir avec un partage SMB

Puis vous pouvez utiliser les commandes suivantes pour transférer des fichiers, un peu à la manière d’un FTP.
Par exemple pour se positionner en local dans le répertoire Images pour copier en local depuis le partage SMB le fichier montagnes.jpg :

lcd /home/mak/Images
get montagnes.jpg

Pour copier un fichier vers le partage distant :

put Docs.txt

Lorsque les autorisations ne sont pas correctes, vous obtenez ce message d’erreur :

[error] Failed to create directory ‘demo’: SMB SessionError: STATUS_ACCESS_DENIED({Access Denied} A process has requested access to an object but has not been granted those access rights.)

Quelles sont les commandes smbclient-ng

CommandesDescription
batAffiche joliment le contenu d’un fichier
catRécupère le contenu d’un fichier
cdChange le répertoire de travail actuel
closeFerme la connexion SMB avec la machine distante.
connectConnexion à la machine distante (utile si la connexion a expiré)
dirListe le contenu du répertoire de travail actuel
exitQuitte le script smbclient-ng
getPermet d’obtenir un fichier distant
help (aide)Affiche ce message d’aide
infoPermet d’obtenir des informations sur le serveur ou le partage
lbatAffiche le contenu d’un fichier local
lcatAffiche le contenu d’un fichier local
lcdModifie le répertoire local actuel
lcpCréer une copie d’un fichier local
llsListe le contenu du répertoire local actuel
lmkdirCrée un nouveau répertoire local
lpwdAffiche le répertoire local actuel
lrenameRenomme un fichier local
lrmSupprime un fichier local
lrmdirSupprime un répertoire local
lsAffiche le contenu du répertoire de travail distant
ltreeAffiche une vue arborescente des répertoires locaux
mkdirCrée un nouveau répertoire distant
mkdir <module>Charge un module spécifique pour obtenir des fonctionnalités supplémentaires
mountCrée un point de montage du partage distant sur la machine locale.Syntaxe :
mount putPlace un fichier ou un répertoire local dans un répertoire distant
reconnectReconnecte à la machine distante (utile si la connexion a expiré)
resetRéinitialise la sortie TTY, utile si elle a été interrompue après l’impression d’un fichier binaire sur stdout
rmSupprime un fichier distant
rmdirSupprime un répertoire distant
sessionsPermet de gérer les sessions SMB
Syntaxe : sessions [interact|create|delete|execute|list]
sharesListe les partages SMB desservis par la machine distante
sizeofCalcul récursif de la taille d’un dossier
treeAffiche une arborescence des répertoires distants
umountSupprime un point de montage du partage distant sur la machine locale
useUtilise un partage SMB
Quelles sont les commandes smbclient-ng

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.