Использование smbclient

Программа smbclient обычно инсталлируется в /usr/bin. Она используется для перемещения файлов,с разделяемых ресурсов Smb-сервера и обратно посредством fTP-подобного интерфейса.

Первый этап использования smbclient - установление соединения с ресурсами Smb-сервера Простейшая форма команды такова:

$ srnbclrient \\server\resourcename

Конечно, в действительности все сложнее. Если необходимо указать пароль для получения доступа к защищенному ресурсу, то команда становится более громоздкой:

$ smbclient \\server\resourcename password

Имеется несколько флагов, позволяющих изменить характер соединения программы smbclient с сервером. Основные флаги перечислены в табл. 29.2.

Табл. 29.2. Основные флаги программы smbclient

Флаг

Действие

-L host

 


-i iP_address -N


-U usemame

 

 

 

 

 


-W workgroup -Т tar options

Флаг выводит на экран список сервисов, доступных на сервере, заданном параметром host; при использовании этого флага нет необходимости указывать ресурс

Флаг полезен, если не может быть найден адрес по имени; smbclient полагает, что компьютер расположен по указанному ГР-адресу

Флаг подавляет приглашение password. Особенно полезен, когда доступ к ресурсу осуществляется без пароля. Если этот флаг не установлен, а пароль не требуется, пользователь все же получает приглашение для ввода и должен нажимать клавишу Enter для ввода пустого пароля Используя этот флаг, можно указать username для установки соединения с ресурсом. Без этого флага сервер использует содержимое переменных среды USER или LOGNAmE; и если они пустые, сервер не получает username. Отправить пароль к серверу можно, введя знак процента (%) после username, а затем введя пароль: -U username%pas sword Определяет, какая рабочая группа используется при соединении с сервером

Позволяет перемещать данные в tar-файл локальной системы Linux и обратно. Например, -Тх backup . tar восстанавливает файлы из backup . tar на удаленном ресурсе, в то время как -Тс backup . tar создает tar-файл с именем backup . tar, содержащий все файлы и каталоги удаленного ресурса

Команда smbclient с использованием приведенной информации:

$ smbclient \\server\resourcename -U username%password -W workgroup

Эта команда пытается установить соединение с удаленным ресурсом resourcename на сервере Smb server, в рабочей группе с именем workgroup, в качестве пользователя username, используя пароль password.

Операции для работы с файловыми ресурсами

Установив соединение с файловыми ресурсами, можно выполнять операции перемещения данных, используя специальные команды. Они перечислены в табл. 29.3.

Табл. 29.3. Команды операций с файлами

Операция

Описание

cd directory

Переход в другой каталог 8mb совместно используемого ресурса

del file

Удаление указанного файла с сервера (также используется команда rm)

dir

Отображение содержимого текущего каталога сервера (также используется команда is)

get file

Получение указанного файла с удаленного сервера и сохранение его с тем же именем в текущем каталоге локальной системы; можно задать другое имя для файла на локальной системе: get file localfilename

lcd directory

Переход в указанный каталог на локальной системе

mget filemask

Получение всех файлов на удаленном сервере, удовлетворяющих указанной маске файла

mkdir directory

Создание указанного каталога на удаленном сервере (также используется команда md)

триt f i1 ema sk

Копирование всех файлов локального каталога, удовлетворяющих указанной маске файла, в текущий каталог удаленного сервера

prompt

Включение/выключение подсказки для операций с несколькими файлами (mput и mget). При задании значения on пользователи получают подсказку при копировании каждого файла

put file

Копирование указанного файла из текущего локального каталога в текущий каталог на удаленном сервере, имя файла остается прежним. Имя файла на удаленном сервере можно изменить: put file remote filename

quit

Выход из программы smbclient (также используется команда exit)

recurse

Включает/выключает доступ к подкаталогам для операций с несколькими файлами (mput и mget). Когда задано значение on, команда при копировании файлов осуществляет поиск по всем подкаталогам текущего каталога

rmdir directory

Удаление каталога с удаленного сервера (также используется команда rd)

Рассмотрим некоторые примеры.

Переход из локального каталога в подкаталог f оо осуществляется командой led f оо.

Переход из удаленного каталога в каталог . . / f оо осуществляется командой cd . . / f оо.

Операции для работы с ресурсами принтера

Для работы с принтером при помощи программы smbclient для связи с ресурсами печати используются следующие команды:

print file - печать указанного файла через текущий ресурс в режиме, определенном параметрами команды printmode;

printmode option -установка режима печати, определяемого значением option; доступны следующие значения - graphics или text, причем режим graphics подразумевает любые двоичные данные;

queue - отображение текущего состояния очереди на удаленную печать; quit (или exit) - выход из программы smbclient.

Конечно, это немного громоздко. Если нужно напечатать текстовый файл, нельзя просто напечатать его из приложения способом, используемым в Unix для установки в очередь на печать. Необходимо установить связь с принтером при помощи программы smbclient и использовать команды printmode text и print filename. Печать файлов в других форматах еще сложнее.

Как происходит печать, если удаленным принтером является принтер PCL и используемое программное обеспечение генерирует файлы только в формате PostScript (что часто происходит в мире Unix)? В этом случае пользователь должен выполнить печать в файл, преобразовать его командой gs в формат PCL, соединиться с принтером посредством программы smbclient, установить режим печати и отправить файл в очередь на печать. Безусловно, это дополнительные затраты времени.

К счастью, smbprint помогает решить эту проблему.