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

Компьютерное

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

  1. Определяем что можем подключиться к серверу SMB и посмотреть список открытых сетевых ресурсов:
    smbclient -L 10.10.10.2 -U%

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

  2. Теперь нам нужно перейти в директорию куда мы будем складывать наши файлы получаемые c SMB:
    cd /path/to/dir
  3. Подключаемся к нужному сетевому ресурсу:
    smbclient //10.10.10.2/SHARE_it$
  4. Выводим список файлов в сетевом ресурсе:
    dir
  5. Перемещаемся в нужную нам директорию:
    cd This
  6. Выводим список файлов в директории This:
    dir
  7. Копируем каждый файл командой:
    get filename1.txt
    get filename2.txt
    get filename3.txt
  8. Отключаемся:
    quit
  9. Проверяем что файлы скопировались:
    ls

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

Оцените статью
( 1 оценка, среднее 5 из 5 )
Блог админа