Попалась тут задачка. Есть сервер на 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