Иллюстрированный самоучитель по Linux Red Hat 7.1

       

Использование 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 оо.

Копирование файла f oo из локального каталога в удаленный каталог под новым именем newf оо происходит по команде put f oo newf oo.

Получение всех файлов с расширением . txt из удаленного текущего каталога осуществляется по команде mget * . txt.

Создание нового каталога с именем f оо на удаленном сервере происходит при выполнении команды mkdir f oo.



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


Для работы с принтером при помощи программы 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 помогает решить эту проблему.


Содержание раздела