копировать файл из windows в Linux

Я пишу один сценарий.
он будет работать на одной машине linux.
его цели включают linux, solaris и windows.

Я знаю, что могу использовать scp для копирования файлов между *nix.
но как насчет копирования файла из windows?

эти окна тестовые машины, которые не могут быть установлены определенное программное обеспечение, как ОС может быть переустановлен часто.

6
задан Alex
16.03.2023 16:13 Количество просмотров материала 3537
Распечатать страницу

3 ответа

использовать Samba.

Samba предоставляет службу общего доступа к файлам, совместимую с Windows.

вы можете поделиться каталогом (например /srv/samba/sharename) на вашем компьютере Linux и получить к нему доступ из Windows, как это: \linuxservername\sharename. Для этого не нужно никакое дополнительное программное обеспечение на стороне Виндовс.

Samba включен в большинство дистрибутивов Linux. Установите его с помощью менеджера пакетов, например:

  • Ubuntu: sudo apt-get install samba smbclient

  • SUSE:zypper samba

  • CentOS / RedHat:yum install samba

для настройки Samba см.:

или поиск Google, чтобы найти Руководство для вашего распределения.

обратите внимание, что вам может потребоваться настроить брандмауэр Linux, если вы используете его, чтобы принимать подключения к портам 137 / tcp, 138 / tcp, 139 / tcp и 445 / tcp (см. этой и этой).


в описании над компьютером Linux это сервер Samba и Windows монтирует долю от него.

в вашем комментарии ниже вы упомянули, что хотите автоматизировать процесс передачи. Это может быть достигнуто путем изменения ролей, так что Windows действует как сервер и Linux подключается к нему с помощью smbclient.

С smbclient вам не нужно монтировать общий ресурс Windows на всех. Например, чтобы получить C:\Directory\file.txt и скопируйте его в /tmp на вашем компьютере Linux это:

smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password

-c команда для выполнения. См.man smbclient для сведения.

-U имя пользователя и пароль для доступа к папке указан как username%password

изменить его в соответствии с вашими потребностями и добавить его в свой сценарий.

18
отвечен jaume 2023-03-18 00:01

Я знаю, что вы сказали, что вы не можете ожидать установки определенного программного обеспечения, но есть SSH/SCP / SFTP клиенты для Windows, которые не требуют какой-либо конкретной установки; доступен только исполняемый файл. Тот, к которому я продолжаю обращаться,шпаклевка со спутником pscp и psftp инструменты, но я уверен, что существуют альтернативы. pscp и psftp можно управлять вполне от командной строки, и таким образом well-suited для задач автоматизации. Они оба даже есть -batch переключатель, который описывается как "отключить все интерактивные подсказки"и почти наверняка может быть использован.

так как вы, по-видимому, уже есть SSH/SCP / SFTP сервер установлен и настроен на сервере, это позволяет избежать необходимости устанавливать любое программное обеспечение на любом хосте только с целью копирования этих файлов.

еще одним плюсом может быть тот факт, что PuTTY является открытым исходным кодом под разрешительной лицензией, поэтому, если он не делает то, что вы хотите прямо из коробки, он должно быть относительно легко заставить его действовать так, как вы предпочитаете.

2
отвечен a CVn 2023-03-18 02:18

я CentOS 6 пользователь, поэтому я попробовал этот метод на CentOS 6

установить samba с помощью

[root@server ~]# yum install samba

запрос на подтверждение

[root@server ~]# rpm -qa samba
samba-3.5.10-125.el6.i686

создать пользователя Samba.

[root@сервер ~]# команды useradd sambashare

Теперь создайте пароль samba для имени пользователя sambashare с помощью команды smbpasswd.

[root@server ~]# smbpasswd -a sambashare
New SMB password:
Retype new SMB password:
Added user sambashare.

создать общий ресурс samba каталог

[root@server ~]# mkdir / share

сменить владельца папки

[root@сервер ~]# Чаун -Р sambashare:sambashare /доля/

открыть файл /etc/samba/smb.conf и добавьте следующие строки.

[share]
comment = Share
path = /share
writable = yes
valid users = sambashare

запустить службу samba

[root@server ~]# service smb restart
Shutting down SMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]

Проверьте конфигурацию с помощью testparm command

.
.
[share]
comment = share
path = /share
valid users = sambashare
read only = No

в системе windows введите это в run

enter image description here

теперь введите имя пользователя и пароль samba

enter image description here

Вы молодец

enter image description here

1
отвечен max 2023-03-18 04:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх