Usa Samba .
Samba proporciona un servicio para compartir archivos compatible con Windows.
Puede compartir un directorio (por ejemplo /srv/samba/sharename
) en el equipo Linux y acceder a ella desde Windows como esto: \\linuxservername\sharename
. No necesita ningún software adicional en el lado de Windows.
Samba está incluido en la mayoría de las distribuciones de Linux. Instálelo usando el administrador de paquetes, por ejemplo:
Para configurar Samba, vea:
o busque en Google para encontrar una guía para su distribución.
Tenga en cuenta que puede necesitar configurar su firewall de Linux, en caso de que use uno, para aceptar conexiones a los puertos 137 / tcp, 138 / tcp, 139 / tcp y 445 / tcp (vea esto y esto ).
En la descripción anterior, la computadora Linux es un servidor Samba y Windows monta un recurso compartido.
En su comentario a continuación , menciona que desea automatizar el proceso de transferencia . Esto se puede lograr invirtiendo los roles para que Windows actúe como el servidor y Linux se conecte a él usando smbclient
.
Con smbclient
usted no necesita montar el recurso compartido de Windows en absoluto. Por ejemplo, para recuperarlo C:\Directory\file.txt
y copiarlo /tmp
en su computadora Linux haga esto:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Comando a ejecutar. Ver man smbclient
para más detalles.
-U
Nombre de usuario y contraseña para acceder al recurso compartido especificado como username%password
Modifíquelo según sus necesidades y agréguelo a su script.
smbclient
para conectarse al recurso compartido de Windows, copiar un archivo y desconectarse. Edité mi respuesta, échale un vistazo.-c
vale la pena usar la opción en casos simples. En mi máquina, la contraseña viene como un argumento simple (sin ninguna opción). Y además, prefiero mantener las credenciales lejos de los lectores de línea de comandos (usandops
o[h]top
, por ejemplo), llamando-U $(cat .username) $(cat .password)
.Sé que dijo que no puede esperar que se instale un software específico, pero hay clientes SSH / SCP / SFTP para Windows que no requieren ninguna instalación en particular; solo el ejecutable está disponible. Uno al que sigo recurriendo es PuTTY con su compañero
pscp
ypsftp
herramientas, pero estoy seguro de que existen alternativas.pscp
ypsftp
puede manejarse completamente desde la línea de comando, y por lo tanto, son adecuados para tareas de automatización. Ambos tienen incluso un-batch
interruptor que se describe como "deshabilitar todas las indicaciones interactivas" y casi con seguridad se puede aprovechar.Dado que presumiblemente ya tiene un servidor SSH / SCP / SFTP instalado y configurado en el servidor, esto evita tener que instalar ningún software en cualquiera de los hosts con el único fin de copiar esos archivos.
Otra ventaja podría ser el hecho de que PuTTY es de código abierto bajo una licencia permisiva, por lo que si no hace lo que quiere directamente, debería ser relativamente fácil hacer que actúe de la manera que prefiera.
fuente
Soy
CentOS 6
usuario, así que probé este método enCentOS 6
Instalar samba usando
Consulta para confirmar
Crea un usuario de Samba.
Ahora cree la contraseña de samba para el nombre de usuario sambashare usando el comando smbpasswd.
Crear un directorio compartido de samba
cambiar la propiedad de la carpeta compartida
Abra el archivo
/etc/samba/smb.conf
y agregue las siguientes líneas.Iniciar servicio de samba
Verifique su configuración utilizando el
testparm
comandoEn el sistema de Windows escriba esto en
run
Ahora ingrese el nombre de usuario y contraseña de samba
Estás listo
fuente