Найти тему
Mirivlad.Ru

Копирование файлов при помощи smbclient

Попалась тут задачка. Есть сервер на Centos 7. В локальной сети без доступа в интернет от слова — совсем. Есть сервер под управлением Windows на котором есть сетевой диск Share_it$ с которого надо получить файлы из директории This. На сервере где стоит Centos есть только samba client (smbclient) и никакой возможности что-то еще доустановить -ни cifs-utils, ни smbfs. Ну что же, попробуем с тем что есть. В конце-концов smbclient — это что-то вроде ftp-client, следовательно он может и без посторонних утилит копировать файлы. Приступим.

Определяем что можем подключиться к серверу SMB и посмотреть список открытых сетевых ресурсов:

smbclient -L 10.10.10.2 -U%

Где 10.10.10.2 — адрес сервера с SMB ресурсом. Если выведет что-то вроде Access Denied — значит доступ в директорию ограничен и требуется ввести логин-пароль. Клиент их по идее должен запросить сам в интерактивном режиме.

Теперь нам нужно перейти в директорию куда мы будем складывать наши файлы получаемые c SMB:


cd /path/to/dir

Подключаемся к нужному сетевому ресурсу:

smbclient //10.10.10.2/SHARE_it$

Выводим список файлов в сетевом ресурсе:

dir

Перемещаемся в нужную нам директорию:

cd This

Выводим список файлов в директории This:

dir

Копируем каждый файл командой:


get filename1.txt
get filename2.txt
get filename3.txt

Отключаемся:

quit

Проверяем что файлы скопировались:

ls

На этом собственно всё. Мы скопировали файлы с удаленного smb-ресурса имея под рукой только smb-client