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