Использование
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 помогает решить эту проблему.