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