Utilisez Samba .
Samba fournit un service de partage de fichiers compatible avec Windows.
Vous pouvez partager un répertoire (par exemple /srv/samba/sharename
) sur votre ordinateur Linux et y accéder à partir de Windows comme ceci: \\linuxservername\sharename
. Il n'a pas besoin de logiciel supplémentaire du côté Windows.
Samba est inclus dans la plupart des distributions Linux. Installez-le à l'aide du gestionnaire de packages, par exemple:
Pour configurer Samba, voir:
ou recherchez sur Google un guide pour votre distribution.
Notez que vous devrez peut-être configurer votre pare-feu Linux, si vous en utilisez un, pour accepter les connexions aux ports 137 / tcp, 138 / tcp, 139 / tcp et 445 / tcp (voir ceci et cela ).
Dans la description ci-dessus, l'ordinateur Linux est un serveur Samba et Windows en monte un partage.
Dans votre commentaire ci-dessous, vous mentionnez que vous souhaitez automatiser le processus de transfert . Ceci peut être réalisé en inversant les rôles afin que Windows agisse comme serveur et que Linux s'y connecte à l'aide smbclient
.
Avec, smbclient
vous n'avez pas du tout besoin de monter le partage Windows. Par exemple, pour le récupérer C:\Directory\file.txt
et le copier /tmp
sur votre ordinateur Linux, procédez comme suit:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Commande à exécuter. Voir man smbclient
pour plus de détails.
-U
Nom d'utilisateur et mot de passe pour accéder au partage spécifié comme username%password
Modifiez-le selon vos besoins et ajoutez-le à votre script.
smbclient
pour vous connecter au partage Windows, copier un fichier et vous déconnecter. J'ai édité ma réponse, regardez-la.-c
option vaut la peine d'être utilisée dans des cas simples. Sur ma machine, le mot de passe se présente comme un simple argument (sans aucune option). Et d'ailleurs - je préfère garder les informations d'identification loin des lecteurs de ligne de commande (en utilisantps
ou[h]top
, par exemple), en appelant-U $(cat .username) $(cat .password)
.Je sais que vous avez dit que vous ne pouvez pas vous attendre à ce qu'un logiciel spécifique soit installé, mais il existe des clients SSH / SCP / SFTP pour Windows qui ne nécessitent aucune installation particulière; seul l'exécutable étant disponible. Je continue de me tourner vers PuTTY avec son compagnon
pscp
et sespsftp
outils, mais je suis certain qu'il existe des alternatives.pscp
etpsftp
peut être entièrement piloté à partir de la ligne de commande et convient donc parfaitement aux tâches d'automatisation. Les deux ont même un-batch
commutateur qui est décrit comme «désactiver toutes les invites interactives» et peut presque certainement être exploité.Étant donné que vous avez probablement déjà un serveur SSH / SCP / SFTP installé et configuré sur le serveur, cela évite d'avoir à installer un logiciel sur l'un ou l'autre hôte uniquement dans le but de copier ces fichiers.
Un autre avantage pourrait être le fait que PuTTY est open source sous une licence permissive, donc s'il ne fait pas ce que vous voulez directement, il devrait être relativement facile de le faire agir comme vous le souhaitez.
la source
Je suis un
CentOS 6
utilisateur, j'ai donc essayé cette méthode surCentOS 6
Installez samba en utilisant
Demande de confirmation
Créez un utilisateur Samba.
Créez maintenant le mot de passe samba pour le nom d'utilisateur sambashare à l'aide de la commande smbpasswd.
Créer un répertoire de partage samba
changer la propriété du dossier de partage
Ouvrez le fichier
/etc/samba/smb.conf
et ajoutez les lignes ci-dessous.Démarrer le service Samba
Vérifiez votre configuration à l'aide de la
testparm
commandeDans le système Windows, tapez ceci dans
run
Entrez maintenant le nom d'utilisateur et le mot de passe samba
Vous avez terminé
la source