smbclient | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Section: Manuel de l'utilisateur Linux (1)
Updated: 15 septembre 2001
Sommaire
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smbclient nom_de_service [ mot_de_passe ] [ -b <taille_de_buffer> ] [ -d niveau_de_deboggage ] [ -D repertoire ] [ -U utilisateur ] [ -W groupe_de_travail ] [ -M <nom_netbios> ] [ -m maxprotocol ] [ -A fichier_d_autorisations ] [ -N ] [ -l fichier_de_log ] [ -L <nom_netbios> ] [ -I IP_de_destination ] [ -E <code_de_terminal> ] [ -c <ligne_de_commande> ] [ -i scope ] [ -O <options_de_socket> ] [ -p port ] [ -R <ordre_de_résolution_de_noms> ] [ -s <fichier_de_configuration_smb> ] [ -T<c|x>IXFqgbNan ]
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce programme fait partie de la suite logicielle Samba.
smbclient est un client capable de dialoguer avec un serveur SMB/CIFS. Il offre une interface très similaire à celle du programme ftp(1)). Les opérations proposées par ce programme permettent entre autres de télécharger des fichiers du client vers le serveur dans les deux sens, d'obtenir des informations sur les fichiers présents sur le serveur et ainsi de suite.
OPTIONS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note : Certains serveurs (notament OS/2 et Windows 3.11) insistent pour avoir un mot de passe en majuscules. Les mots de passe en minuscules ou avec des combinaisons minuscules et majuscules peuvent être rejetés par certains de ces serveurs. Faites attention lorsque vous incluez des mots de passe dans des scripts (N.d.T. : surtout si ces scripts sont visibles par des personnes non autorisées !)
lmhosts : Recherche une adresse IP dans le fichier lmhosts de Samba. Si la ligne dans le fichier lmhosts n'a pas de type attaché au nom NetBIOS (consultez lmhosts(5) pour plus de détails) alors, n'importe quel type correspondra à la requête ;
host : Effectue une résolution de l'adresse IP standard en utilisant le fichier système /etc/hosts (N.d.T. : consultez hosts(5) pour plus de détails), NIS (N.d.T. : Network Information Service, un service utilisé entre autres dans les intranets pour partager des informations sur les différentes machines), ou DNS (N.d.T. : « Domain Name Service », un service utilisé sur Internet pour faire correspondre à un nom de machine une IP) pour effectuer la résolution de noms. Cette méthode de résolution dépend du système d'exploitation, par exemple, sous IRIX ou Solaris, cela peut être contrôlé par le fichier /etc/nsswitch.conf. Notez que cette méthode n'est utilisée que dans le cas où le type du nom de machine demandé est 0x20 (un serveur), dans le cas contraire, elle est ignorée.
wins : Demande un nom à partir des adresses IP enregistrées dans le paramètre serveur_wins. Si aucun serveur WINS n'a été spécifié, cette méthode sera ignorée.
bcast : Effectue un « broadcast » (N.d.T. : une diffusion sur tout le réseau) sur chacune des interfaces locales connues spécifiées dans le paramètre interfaces. C'est la méthode de résolution la plus disponible mais elle dépend de la présence de l'hôte recherché sur le sous-réseau local.
Si ce paramètre n'a pas été précisé, alors l'ordre de résolution utilisé sera celui indiqué dans le fichier de configuration smb.conf (avec « name resolve order », c'est à dire « ordre pour la résolution des noms » comme nom de paramètre).
L'ordre par défaut appliqué si ce paramètre n'est pas indiqué et si cet ordre n'est pas présent dans dans smb.conf est lmhosts, host, wins, bcast.
Si WinPopup fonctionne sur l'ordinateur cible, l'utilisateur recevra le message et sans doute un signal sonore, dans le cas contraire, le message sera perdu et aucun message d'erreur ne sera envoyé.
Le message sera automatiquement tronqué à 1600 caractères s'il dépasse cette limite due au protocole.
Une astuce utile est d'envoyer le message à travers la commande cat (N.d.T. : ou echo) vers smbclient. Par exemple : cat mon_message.txt | smbclient -M FRED enverra le message contenu dans le fichier mon_message.txt à la machine FRED.
Vous pouvez aussi utiliser les options -U et -I qui vous permettront de contrôler les champs FROM (N.d.T. : « De la part de ») et TO (N.d.T. : « adressé à ») du message.
Consultez le paramètre des commandes de message dans le fichier smb.conf(5) pour une description de la manière dont Samba doit traiter les messages WinPopup entrants (N.d.T. : Il existe aussi des utilitaires tels que linpopup qui simule le client WinPopup).
Note: Copiez WinPopup dans les programmes démarrés automatiquement de vos PC pour recevoir de tels messages (N.d.T. : ou démarrez le service associé sur les Systèmes d'exploitation dérivés de Windows NT).
À moins qu'un mot de passe ne soit spécifié sur la ligne de commande ou que ce paramètre soit utilisé, le client demandera dans tous les cas un mot de passe.
La valeur par défaut de ce paramètre est 0.
Plus haute est la valeur de ce paramètre, plus les fichiers de logs seront détaillés sur les actions du client. Au niveau 0, seuls les erreurs et avertissements critiques seront reportés dans le fichier de log. Le niveau 1 est un niveau raisonnable pour une utilisation quotidienne car il génère un niveau informatif raisonnable sur les actions effectuées.
Les niveaux de déboggage supérieurs à 1 généreront une quantité importante de données de log et ne devraient être utilisés que lors de la recherche d'un problème. Les niveaux supérieurs à 3 ne devraient être utilisés que par les développeurs car ils génèrent un énorme flux de données imperméables au non-initié. Si niveau_de_déboggage a pour valeur « A » (N.d.T. : « All », c'est à dire « tout » en anglais), alors tous les messages de déboggage seront reportés. Ce réglage n'est utile qu'aux développeurs ainsi qu'aux personnes souhaitant vraiment savoir comment fonctionne le code en interne.
Préciser ici cette valeur masquera le réglage du paramètre « log level » dans le fichier smb.conf (5).
Le nom du fichier par défaut est précisé au moment de la compilation.
Le nom de base est utilisé pour créer un nom pour le fichier de log courant. Par exemple, si le nom spécifié est « log », le fichier de déboggage sera log.client.
Le fichier de log n'est jamais supprimé par le client.
En pratique, le client essaiera de trouver le serveur SMB/CIFS nommé en interrogeant le mécanisme de résolution de noms NetBIOS décrit dans le paramètre name resolve order (N.d.T. : ordre de résolution des noms). Utiliser ce paramètre forcera le client à considérer que le paramètre indiquant l'adresse IP est le serveur à contacter. De fait, le nom NetBIOS du serveur sera ignoré.
Il n'y a pas de valeur par défaut pour ce paramètre. S'il est fourni, il sera déterminé automatiquement par le client comme décrit ci-dessus.
Par défaut, le client écrit les messages sur la sortie standard, habituellement, le tty utilisateur.
Si le mot de passe n'est pas inclus dans ces variables d'environnement (en utilisant la syntaxe %mot_de_passe), smbclient consultera alors la variable d'environnement PASSWD pour y lire le mot de passe.
Une troisième option possible est d'utiliser un fichier texte contenant le nom et le mot de passe. Cette option est utile pour les scripts dans lesquels l'administrateur ne souhaite pas fournir le nom d'utilisateur et le mot de passe à partir de la ligne de commande ou des variables d'environnement. Bien sûr, si cette option est employée, veillez à ce que les permissions sur ce fichier le protègent des utilisateurs ne devant pas y avoir accès. Consultez l'option -A pour de plus amples détails.
Faites attention lorsque vous incluez des mots de passe dans des scripts ou dans la variable d'environnement PASSWD. Il faut également songer au fait que sur de nombreux systèmes, la commande ps permet d'obtenir la ligne de commande ayant lancé le programme en cours d'exécution, et ainsi de récupérer le mot de passe. Il est donc plus sage de toujours permettre smbclient de demander lui-même le mot de passe et de le taper directement de manière interactive.
username = <nom_d'utilisateur> password = <mot_de_passe>
Soyez certains que les permissions d'accès au fichier restreignent l'accès aux utilisateurs indésirables.
c - Créer un fichier tar sur UNIX. Doit être suivi par le nom du fichier tar, du périphérique à bande magnétique ou « - » pour la sortie standard. Si vous utilisez la sortie standard, vous devez mettre la valeur la plus faible pour le niveau de log en utilisant l'option -d0 pour éviter d'endommager votre fichier tar. Ce paramètre ne peut être utilisé avec le paramètre tar « x ».
x - extrait (restaure) un fichier local tar vers un partage. À moins que l'option -D ne soit donnée, les fichiers contenus dans le tar seront restaurés à la racine du partage. Cette option doit être suivie par le nom du fichier tar, du périphérique ou de « - » pour l'entrée standard. Ce paramètre ne peut être utilisé conjointement avec l'option tar « c ». Les fichiers restaurés auront leur date de création (mtime) fixée à la date de leur incorporation dans le fichier tar. À l'heure actuelle, les répertoires n'ont en revanche pas leur date de création restaurée de manière correcte.
I - Inclure les fichiers et les répertoires.
C'est le comportement par défaut quand les noms de fichiers sont précisés comme indiqué ci-dessus. Cela inclut les fichiers lors d'une création ou d'une extraction d'archive (et donc, exclut tous les autres fichiers). Consultez les exemples ci-dessous pour plus d'informations. L'expansion des métacaractères dans les noms de fichiers peut fonctionner selon deux modes, consultez r ci-dessous.
X - Exclure les fichiers et les répertoires.
Cette option exclura les fichiers de l'archive tar lors d'une extraction ou d'une création. L'expansion des métacaractères dans les noms de fichier peut fonctionner selon deux modes, consultez r ci-dessous.
b - taille_de_blocs. Doit être suivie par une taille de blocs valide (supérieure à 0). Le fichier tar sera écrit en taille_de_blocs*TBLOCKS (512 octets la plupart du temps) blocs.
g - Incrémentale. Seulement les fichiers de sauvegarde qui ont le drapeau d'archive positionné. Utile uniquement avec le paramètre c.
q - Silencieux. Empêche tar d'imprimer des diagnostics pendant son fonctionnement à la manière du mode silencieux de tar.
r - Expression rationnelle à inclure ou exclure. Utilise les expressions rationnelles pour exclure ou inclure les fichiers si Samba a été compilé avec l'option HAVE_REGEX_H. Cependant, ce mode peut être très lent. Si l'option n'a pas été utilisée à la compilation, effectue des remplacement limités avec les métacaractères « * » et « ? ».
N - Plus nouveau que (N.d.T. : « Newer » an anglais). Doit être suivi par le nom d'un fichier dont la date est comparée aux fichiers trouvés sur le partage au moment de la création du tar. Seuls les fichiers plus récents que le fichier indiqué seront sauvegardés dans le fichier tar. Utile uniquement avec l'option c.
a - Positionne le bit d'archive. Réinitialise le bit d'archive quand un fichier est sauvegardé Utile uniquement avec les options g et c.
Noms de fichiers Tar longs
l'option tar de smbclient supporte désormais les noms de fichiers longs pendant la sauvegarde et la restauration. Cependant, le chemin complet du fichier doit être composé de moins de 1024 octets. Ainsi, lorsque une archive tar est créée, l'option tar de smbclient place tous les fichiers de l'archive avec des noms relatifs et non avec des chemins absolus.
Noms de fichiers Tar
Tous les noms de fichiers peuvent être donnés avec des chemins DOS (avec des \ ' comme séparateurs) ou comme des chemins UNIX (avec des '/' comme séparateurs)
Exemples :
Restaurer à partir du fichier tar sauvegarde.tar dans monpartage sur monpc (pas de mot de passe sur le partage)
smbclient //monpc/monpartage "" -N -Tx sauvegarde.tar.PP
Restaurer tout hormis users/docs
smbclient //monpc/monpartage "" -N -TXx sauvegarde.tar users/docs
Créer un fichier tar des fichiers contenus dans users/docs.
smbclient //monpc/monpartage "" -N -Tc sauvegarde.tar users/docs
Pour créer le même fichier tar que ci-dessus, mais en utilisant un nom de fichier DOS.
smbclient //monpc/monpartage "" -N -tc sauvegarde.tar users\edocs
Créer un fichier tar de tous les fichiers et les répertoires dans le partage.
smbclient //monpc/monpartage "" -N -Tc sauvegarde.tar *.PP
C'est très utile en particulier dans les scripts et pour afficher stdin (N.d.T. : l'entrée standard) sur le serveur, par exemple : -c 'print -'.
OPÉRATIONS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Une fois le client démarré, l'utilisateur se retrouve face à une invite de commande :
smb:\>
L'antislash (N.d.T. : barre de division inversée ;) ("\") indique le répertoire de travail courant sur le serveur et sera modifié si ce répertoire change par la suite.
L'invite de commande indique que le client est prêt et attend une commande de l'utilisateur. Chacune de ces commandes est un mot unique, parfois suivie de paramètres spécifiques à cette commande. Les commandes et les paramètres sont séparés par des espaces à moins que cela ne soit précisé autrement. Toutes les commandes ne sont pas sensibles aux différences entre majuscules et minuscules, en revanche, pour les paramètres, cela dépend de la commande.
Vous pouvez indiquer des noms de fichier contenant des espaces en protégeant les noms avec des guillemets (") par exemple "un nom de fichier long".
Les paramètres décrits avec des crochets (par exemple « [paramètre] ») sont optionnels. Si ils ne sont pas fournis, la commande utilisera les valeurs par défaut qui conviennent. Les paramètres compris entre des signes inférieur et supérieur (par exemple « <paramètre> ») sont quant à eux obligatoires.
Notez que toutes les commandes ayant un effet sur le serveur sont actuellement effectuées en envoyant une requête au serveur. Leur effet peut donc être variable d'un serveur à l'autre, selon les différentes implémentations.
Les commandes disponibles sont données selon l'ordre alphabétique.
Si aucun nom de répertoire n'est précisé, le répertoire courant sera affiché.
Si aucun répertoire n'est spécifié, le nom du répertoire courant sur la machine locale sera affiché.
Quand la mise en minuscule est activée, les noms de fichiers locaux sont convertis en minuscules quand on utilise les commandes get et mget. C'est souvent utile quand on copie des fichiers MSDOS depuis un serveur car la norme sur les systèmes UNIX est d'utiliser des minuscules dans les noms de fichiers.
Le masque utilisé par les commandes mget et mput fonctionne comme un filtre sur les répertoires plutôt que sur les fichiers quand l'action récursive est activée.
Le masque indiqué avec cette commande est nécessaire pour filtrer les fichiers à l'intérieur des répertoires. Par exemple, si le masque indiqué dans une commande mget est « source* », que le masque de la commande mask est « *.c » et que la récursivité est active, la commande mget récupérera tous les fichiers correspondants à « *.c » dans tous les sous-répertoires correspondants au motif « source* » à partir du répertoire de travail courant.
Notez que la valeur par défaut est vide (équivalent à « * ») et demeure ainsi jusqu'à l'appel de la commande mask pour la modifier. De même, après une modification, elle restera inchangée jusqu'au prochain appel de mask. Pour éviter des résultats inattendus, il est conseillé de modifier la valeur du masque à « * » après avoir utilisé les commandes mget ou mput.
Notez que masque est interprété différemment pendant une opération récursive d'une opération non récursive - Consultez les commandes mask et recurse pour davantage d'informations. Il faut également souligner que tous les transferts de smbclient sont faits en mode binaire. Voir aussi la commande lowercase.
Notez que masque est interprété différemment pendant une opération récursive d'une opération non récursive - Consultez les commandes mask et recurse pour davantage d'informations. Il faut également souligner que tous les transferts de smbclient sont faits en mode binaire.
Voir aussi la commande printmode.
Cette option activée, l'utilisateur sera interrogé à chaque transfert pour avoir sa confirmation, dans le cas contraire, tous les fichiers seront transférés sans son accord préalable.
Cette option activée, ces commandes s'effectueront dans tous les sous-répertoires du répertoire source (par exemple le répertoire d'où sont copiés les fichiers) correspondants au motif masque précisé. Seuls les fichiers correspondants au masque de la commande mask seront utilisés. Voir aussi la commande mask.
Quand la récursion est désactivée, seuls les fichiers du répertoire courant sur la machine source correspondant au masque indiqué aux commandes mget ou mput seront copiés, et le masque spécifié par la commande mask sera ignoré.
setmode monfichier +r
positionnera monfichier en lecture seule.
NOTES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Certains serveurs ont des problèmes avec la casse des noms d'utilisateur, des mots de passe, des noms de partage et de services et des noms de machine. Si vous ne parvenez pas à vous connecter, essayez de donner tous les paramètres en majuscules.
Il est parfois nécessaire d'utiliser l'option -n quand vous vous connectez sur certains types de serveurs. Par exemple, OS/2 LanManager insiste pour avoir un nom NetBIOS valide, vous aurez donc besoin de fournir un nom valide connu par le serveur.
smbclient supporte les noms de fichiers longs quand le serveur supporte le protocole LANMAN2 ou supérieur.
VARIABLES D'ENVIRONNEMENT | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
La variable USER peut contenir le nom d'utilisateur de la personne utilisant le client. Cette information est utilisée uniquement si le protocole est à une version suffisamment élevée pour supporter les mots de passe de session.
La variable PASSWD peut contenir le mot de passe de la personne utilisant le client. Cette information est utilisée dans les mêmes cas que pour USER.
La variable LIBSMB_PROG peut contenir le chemin exécuté avec system() que le client doit contacter au lieu de se connecter à un serveur. Cette fonctionnalité est utilisée principalement pour le développement et fonctionne le mieux lorsque l'on utilise un fichier LMHOSTS.
INSTALLATION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
L'emplacement du programme client est un problème pour certains administrateurs. Ce qui suit n'est qu'une suggestion :
Il est préconisé que le programme smbclient soit installé dans le répertoire /usr/local/samba/bin/ ou dans /usr/samba/bin/, ce répertoire doit être lisible par tous mais en accès en écriture uniquement par root. Le programme client en lui même doit être exécutable par tous mais NE DOIT PAS être setuid ou setgid !
Les fichiers de log du client doivent être mis dans un répertoire avec un accès en lecture et écriture uniquement pour l'utilisateur.
Pour tester le client, vous aurez besoin de connaître le nom d'un serveur SMB/CIFS en fonctionnement. Il est également possible de lancer smbd(8) en tant qu'utilisateur normal comme un démon sur un port accessible à n'importe quel utilisateur (habituellement un port supérieur à 1024) afin d'obtenir un serveur de test convenant tout à fait.
DIAGNOSTICS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
La plupart des diagnostics émis par le client sont enregistrés dans un fichier spécifique. Le nom de ce fichier est précisé au moment de la compilation du logiciel mais peut-être précisé en ligne de commande.
Le nombre et la nature des diagnostics disponibles dépend du niveau de déboggage utilisé par le client. Si vous rencontrez des problèmes, fixez le niveau de déboggage à 3 et consultez les fichiers de log.
VERSION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
AUTEUR | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Le logiciel Samba originel a été conçu par Andrew Tridgell. Samba est dorénavant développé par l'équipe Samba comme un projet « Open Source » à la manière de Linux.
Les pages de manuel de Samba ont été écrites originellement par Karl Auer. Les pages de manuel ont été converties en format YODL (un autre très bon logiciel « Open Source », disponible sur ftp://ftp.icce.rug.nl/pub/unix/) et mises à jour pour la version 2.0 par Jeremy Allison. La conversion en DocBook pour Samba 2.2 a été réalisée par Gerald Carter.
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Pierre SOUCHAY <pierre.souchay@free.fr>, 2002.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |