Эта страница является переводом man smbclient(1) из пакета Samba.

Название

Smbclient — клиент для доступа к SMB/CIFS ресурсам на серверах. Синтаксис smbclient похож на ftp.

Синтаксис

 

smbclient [-b <buffer size>] [-d debuglevel] [-e] [-L <netbios name>] \

[-U username] [-I destinationIP] [-M <netbios name>] \

[-m maxprotocol] [-A authfile] [-N] [-g] [-i scope] \

[-O <socket options>] [-p port] [-R <name resolve order>] \

[-s <smb config file>] [-t <terminal code>] [-k] [-P] [-c <command>]

 

smbclient {servicename} [password] [-b <buffer size>] [-d debuglevel] \

[-e] [-D Directory] [-U username] [-W workgroup] \

[-M <netbios name>] [-m maxprotocol] [-A authfile] [-N] [-g] \

[-l log-basename] [-I destinationIP] [-E] [-c <command string>] \

[-i scope] [-O <socket options>] [-p port] [-R <name resolve order>] \

[-s <smb config file>] [-T <tar options>] [-k]

Описание

Эта утилита является частью пакета samba(7).

  Smbclient — это клиент который может 'общаться' с SMB/CIFS сервером. Он предлагает интерфейс, схожий с интерфейсом программы ftp (смотрите ftp(1)). Среди его возможностей: получение файлов с сервера на локальную машину, перемещение файлов с локальной машины на сервер, получение списка папок с сервера и т. д.

Параметры

servicename

servicename — имя службы, которую вы хотите задействовать на сервере. Имя службы вводится в форме //server/service, где server — это NetBIOS имя SMB/CIFS сервера, имеющего необходимую службу, а service — название службы. Например, для доступа к службе "printer" на SMB/CIFS сервере "smbserver", вам нужно использовать servicename в виде //smbserver/printer

Заметьте, что имя сервера — это не обязательно IP (DNS) имя сервера! Вводится NetBIOS имя сервера, которое может как совпадать, так и не совпадать с IP машины, на которой запущен данный сервер.

Имя сервера определяется параметром -R программы smbclient или с помощью параметра name resolve order файла smb.conf, что позволяет администратору изменять порядок и способы разрешения имен серверов.

password

Пароль необходим для получения доступа к определенным сервисам на некоторых серверах. Данный параметр автоматом применяет параметр -N (блокировать приглашение ввода пароля).

Пароль по умолчанию отсутствует. Если в команде пароль не указан (с помощью этого параметра или добавлением пароля к параметру -U (см. ниже)) и параметр -N тоже отсутствует, клиенту будет выведено приглашение ввода пароля, даже если пароль для использования сервиса не нужен. (Если пароль не требуется, то просто нажмите ENTER).

Примечание: Некоторые сервера (включая OS/2 и Windows for Workgroups) используют пароли в верхнем регистре. Пароли в нижнем регистре или с использованием обоих регистров могут быть не приняты этими серверами.

Будьте осторожны, включая пароли в скрипт!

-R <name resolve order>

Этот параметр используется программами из пакета Samba для определения того, какие службы имен и в каком порядке использовать для преобразования имен компьютеров в IP адреса. Различные варианты опции разрешения имен разделяются пробелами.

Параметр может принимать значения : lmhosts, host, wins и bcast:

  • lmhosts - Отыскивать IP адреса в файле lmhosts. Если в файле нет соответствия для данного имени NetBIOS (см. Lmhosts(5)), то любой тип имени будет считаться подходящим.
  • host - Провести стандартное преобразование имен компьютеров в IP адреса, с помощью /etc/hosts, NIS, или поиска в DNS. Этот способ преобразования имен зависит от операционной системы, например на IRIX или Solaris это может управляться файлом /etc/nsswitch.conf). Заметьте, что этот метод используется только если запрашиваемый тип имени NetBIOS0x20 (серверный) тип имени, в противном случае вариант игнорируется.
  • wins - Запросить имя с IP адресом, из параметра wins server. Если WINS — сервер не был определен, этот способ игнорируется.
  • bcast - Послать широковещательный запрос разрешения имен на каждый из известных локальных интерфейсов из параметра interfaces. Это наименее надежный способ преобразования имен, т. к. зависит от того, находится ли целевой компьютер в локальной подсети.

Если параметр -R не был указан, то будет использоваться соответствующий параметр (name resolve order) из файла smb.conf.

Порядок просмотра по умолчанию lmhosts, host, wins, bcast используется при одновременном отсутствии параметра -R и записи name resolve order в файле smb.conf.

-M <netbios name>

Этот параметр позволяет вам посылать сообщения на другой компьютер с помощью протокола "WinPopup". Как только соединение установлено вы можете писать свое сообщение. Для окончания нажмите ^D (CTRL + D).

Если на целевой машине запущен WinPopup, пользователь получит ваше сообщение (возможно еще и гудок). Если же на целевой машине отсутствует WinPopup, то сообщение будет утеряно. При этом не будет выведено никакого сообщения об ошибке.

Сообщение будет обрезано при длине более 1600 байт из-за ограничений протокола.

Полезный прием: передавать сообщение через smbclient. Например: smbclient -M FRED < mymessage.txt отправит сообщение из файла mymessage.txt на машину FRED.

Полезными могут оказаться параметры -U и -I, они позволяют указать ОТ КОГО и КОМУ предназначено сообщение.

Смотрите параметр message command в smb.conf для объяснения того, как обрабатывать входящие WinPopup сообщения в Samba.

Замечание: Скопируйте WinPopup в группу автозапуска на ваших компьютерах WfWg, если хотите, чтобы они всегда могли получать сообщения.

-p port

Номер порта TCP, который будет использоваться при подключениях к серверу. Стандартный порт SMB/CIFS серверов – 139 (используется по-умолчанию).

-g

Этот параметр в комбинации с параметром -L позволяет форматировать выходные данные в виде, которые затем можно легко обработать утилитами, такими как grep и cut.

-P

Запрашивать внешний сервер, используя учетную запись локального сервера.

-h | --help

Выводит подсказку по всем параметрам командной строки.

-I destinationIP

destinationIP — это адрес сервера, к которому осуществляется подключение. Указывается в стандартном виде a.b.c.d.

Обычно клиент будет пытаться найти названный сервер SMB/CIFS с помощью механизма преобразования имен NetBIOS описанного выше в параметре name resolve order. Использование этого параметра заставит клиент считать, что сервер находится на машине с определенным IP адресом и NetBIOS имя присоединенного ресурса будет проигнорировано.

У этого параметра нет значения по-умолчанию. Если не указан, то будет определен клиентом автоматически (так, как описано выше).

-E

Этот параметр заставит клиент записывать сообщения в стандартный поток ошибок (stderr), а не на стандартный поток вывода.

По-умолчанию, клиент выводит сообщения в стандартный поток вывода — обычно пользовательский tty.

-L

Этот параметр позволяет вам просмотреть список доступных служб сервера. Команда smbclient -L host выведет полный лист . Параметр -I может пригодиться, если имена NetBIOS отличаются от имен TCP/IP DNS , или если вы пытаетесь подключиться к компьютеру, находящемуся в другой сети.

-t <terminal code>

Этот параметр сообщает smbclient информацию о том, как воспринимать имена файлов поступающие с удаленного сервера. Обычно азиатские UNIX-разработки используют наборы символов, отличные от используемых SMB/CIFS серверами (например EUC вместо SJIS). Установка данного параметра позволит smbclient выполнять корректные преобразования между именами файлов UNIX и SMB. Этот параметр полностью не проверен и может работать с ошибками.

Коды терминалов включают CWsjis, CWeuc, CWjis7, CWjis8, CWjunet, CWhex, Cwcap и др. (полный список можно посмотреть в исходном код Samba).

-b <buffer size>

Этот параметр изменяет размер буфера обмена при получении или загрузке файла на сервер. По-умолчанию размер буфера равен 65520 байт. Установка меньшего значения (до 1200 байт) ускорит обмен файлами с серверами на базе Win9x.

-e

Для работы данного параметра требуется поддержка удаленным сервером UNIX расширений. Параметр запрашивает защищенное соединение. Работает в Samba версии 3.2 и выше. Включает SMB шифрование с помощью GSSAPI. Применяется для проверки полномочий шифрования, kerberos или NTLMv1/v2 если указаны домен, логин и пароль. Завершает соединение если шифрование не осуществлено.

-d | --debuglevel=level

level — это целое число от 0 до 10. По-умолчанию равен 1.

Чем выше это значение, тем более детальными будут лог-файлы активности на сервере. При значении уровня равном 0, только критические ошибки и серьезные предупреждения будут записаны в лог-файл. Уровень 1 вполне достаточен для ежедневного использования – будет записана основная информация о произведенных операциях .

Уровни выше первого будут генерировать больше данных, поэтому их следует использовать при возникновении каких-либо проблем. Уровни выше 3 используются разработчиками — генерируются огромные логи, по большей части трудно читаемые.

Определение этого параметра в команде имеет больший приоритет, нежели параметр log level в smb.conf

-V

Выводит на экран версию программы.

-s <smb config file>

Указанный файл должен содержать конфигурационные данные, необходимые серверу. Данные в этом файле содержат специфические для сервера параметры, например используемый файл printcap. Также в файле присутствуют описания всех служб, предоставляемых сервером (подробнее см. smb.conf). Имя файла по-умолчанию определяется во время компиляции.

-l | --log-basename=logdirectory

Главная директория файлов лога и отладки. К файлу будет добавлено расширение .progname (например log.smbclient, log.smbd и т.д.). Лог-файлы никогда не удаляются клиентом.

-N

Если указан, этот параметр отключает приглашение ввода пароля. Это бывает полезно, когда используется служба, не требующая пароля.

Клиент будет запрашивать пароль, если не указан пароль в командной строке, или этот параметр.

Если указаны и пароль в командной строке, и этот параметр, то пароль из командной строки будет проигнорирован.

-k

Пытается связаться с kerberos. Используется только в среде Active Directory.

-A | --authentication-file=filename

Данный параметр позволяет указать файл с логином и паролем, используемыми при соединении. Формат файла таков:

username = <value>

password = <value>

domain = <value>

Убедитесь, что нежелательные пользователи не имеют доступа к этому файлу.

-U | --user=username[%password]

Устанавливает имя учетной записи SMB или имя учетной записи с паролем.

Если пароль не указан, то программа запросит его у пользователя. Клиент сперва проверит переменную среды USER , а затем переменную LOGNAME , и если они обе существуют, то строка будет переведена в верхний регистр. Если эти переменные среды не будут найдены, то будет использована учетная запись GUEST.

Параметр используется с файлом паролей содержащем незащифрованные имя пользователя и пароль. Этот параметр часто используется в скриптах, когда администратор не желает вводить пароль из командной строки или указывать в других переменных. При использовании этого способа, убедитесь, что нежелательные пользователи не имеют доступа к этому файлу. (Подробнее см. -A).

Будьте осторожны, включая пароли в скрипты. Также во многих системах содержимое командной строки для запущенных процессов может быть просмотрено командой ps. Для безопастности всегда разрешайте rpcclient приглашение для ввода пароля.

-n <primary NetBIOS name>

С помощью этого параметра можно использовать иное имя NetBIOS, нежели использует сама Samba. Параметр идентичен netbios name в файле smb.conf, однако приоритет параметра в командной строке выше приоритета параметра в smb.conf.

-i <scope>

Определяет область видимости NetBIOS, который будет использоваться nmblookup для обмена данными во время генерации имен NetBIOS. Подробнее об области видимости NetBIOS можно прочитать в RFC 1001 и RFC 1002. NetBIOS scopes используются очень редко, используйте этот параметр, только если вы системный администратор, отвечающий за все системы NetBIOS.

-W | --workgroup=domain

Устанавливает домен SMB для учетной записи. Приоритет домена в этом параметре выше чем приоритет домена, указанного в smb.conf. Если указанный домен совпадает с NetBIOS именем сервера, тогда клиен осуществит подключение использые локальный SAM сервера (в противоположность SAM домена).

-O <socket options>

Параметр TCP socket options установит socket клиента. Возможные значения можно узнать из описания параметра socket options в разделе smb.conf.

-T <tar options>

smbclient может быть использован для создания tar(1) совместимых архивов всех файлов на SMB/CIFS общем ресурсе. Вторичными флагами этого параметра являются:

  • c - Создать tar на UNIX. После этого флага должно следовать имя tar файла, tape устройства или "-" для стандартного вывода. При использовании стандартного вывода, следует уменьшить уровень лога до наименьшего значения -d0 для того, чтобы не испортить ваш tar файл. Этот флаг и флаг x взаимно исключают друг друга .
  • x - Восстановить локальный tar файл обратно в общий ресурс. Если не задан параметр -D, tar файлы будут восстановлены корень общего ресурса. После флага должно стоять имя tar файла, устройства или "-" для стандартного ввода. Этот флаг и флаг c взаимно исключают друг друга. В атрибуте «время создания» у восстановленных файлов будет дата создания tar файла. В данный момент атрибут «время создания» папок корректно не восстанавливается.
  • I - Включать файлы и папки. Это поведение по-умолчанию, когда указано имя файла. Эти файлы будут добавлены в архив при создании архива или его распаковке (все прочие будут исключаться). См. примеры ниже. Подстановка имени файла происходит одним из двух способов. (См. r ниже).
  • X - Исключать файлы и папки. Эти файлы будут исключены из процесса создания архива или при его распаковке. См. примеры ниже. Подстановка имени файла происходит одним из двух способов. (См. r ниже).
  • F - Файл, содержащий список файлов и папок. Имя после указанного имени tar-файла будет соотнесено с именем файла, содержащего список файлов и папок , которые надо включить в архив при создании или распаковке (все прочее будет исключаться). См. примеры ниже. Подстановка имени файла происходит одним из двух способов. (См. r ниже).
  • b - Размер блока. После этого флага должно следовать желаемое ненулевое значение размера блока. Tar файл будет записан в blocksize*TBLOCK (обычно 512 байт) блоков.
  • g - Инкримент. Делать бекапы только тех файлов, в которых установлен бит архивирования. Полезно только с флагом c.
  • q - Тихий режим. Отключает вывод диагностических сообщений во время работы. То же самое, что и tarmode quiet.
  • r - Регулярное выражение, включение/исключение. С помощью регулярного выражения (маски) добавляет или исключает файлы, если откомпилировано с опцией HAVE_REGEX_H. Этот режим очень медленный. Если при компиляции программа собрана без опции HAVE_REGEX_H, возможно использование ограниченных шаблонов с символами '*' и '?'.
  • N - Новее чем. После флага должно следовать имя файла, с датой создания которого будут сравниваться даты создания файлов на общем ресурсе во время создания. Более новые файлы будут сохранены в tar файле. Полезно только с флагом c.
  • a - Установить архивный бит. Архивный бит будет сброшен после того, как файл был сохранен в архив. Полезен с флагами g и c.

Длинные имена tar файлов

Опция tar программы smbclient's сейчас поддерживает длинные имена файлов как при архивировании так и при распаковке. Тем не менее полный путь к имени файла должен быть меньше 1024 байт. Кроме того при создании архива tar опцией tar программы smbclient в архив помещаются файлы с относительными, а не абсолютными именами.

Имена файлов Tar

Все имена файлов могут быть даны в формате DOS путей и имен (с '\\' в качестве разделителя) или в формате UNIX путей и имен (с '/' в качестве разделителя).

Примеры:

Восстановить из файла backup.tar в шару myshare на компьютере mypc (без пароля на шаре):

smbclient //mypc/myshare "" -N -Tx backup.tar

Восстановить все кроме users/docs:

smbclient //mypc/myshare "" -N -TXx backup.tar users/docs

Создать tar файл файлов в users/docs:

smbclient //mypc/myshare "" -N -Tc backup.tar users/docs

Создать tar файл из предыдущего примера, но используя DOS путь и имя:

smbclient //mypc/myshare "" -N -tc backup.tar users\edocs

Создать tar файл файлов, перечисленных в файле tarlist:

smbclient //mypc/myshare "" -N -TcF backup.tar tarlist

Создать tar файл всех файлов и папок шары:

smbclient //mypc/myshare "" -N -Tc backup.tar *

-D Directory

Меняет рабочую папку перед запуском. Единственное применение — с параметром -T.

-c <command string>

command string - это список команд разделенных запятой, которые необходимо выполнить по приглашению со стандартного ввода stdin. -N подразумевается параметром -c.

Этот параметр полезен в скриптах и для печати stdin на сервер (например -c 'print -').

ОПЕРАЦИИ

После запуска клиента, пользователь получает диалоговое окно :

smb:\>

Обратный слеш ("\\") указывает текущую рабочую папку на сервере и изменится при изменении рабочей папки.

Диалоговое окно указывает, что клиент готов и ожидает каких-либо команд от пользователя. Каждая команда — это слово, за которым следуют параметры команды (что, в общем, не обязательно). Команда и параметры не ограничены по длине, если в описании не указано обратное. Все команды нечувствительны к регистру. Параметры команды могут быть как чувствительны, так и не чувствительны — это зависит от команды.

Допустимо указание имени файла с пробелами, если оно заключено в двойные кавычки. Например: "a long file name" ("очень длинное имя файла").

Параметры в квадратных скобках (напр.: "[parameter]") не обязательны. Если их не указать, команда использует значения этих параметров по умолчанию. Параметры в угловых скобках (напр.: "<parameter>") обязательны.

Обратите внимание, что все команды работающие с сервером исполняются в виде запросов к серверу. Поэтому их поведение для различных серверов может различаться.

Доступные команды даны ниже в алфавитном порядке (команда, а строкой ниже расшифровка):

? [имя_команды]

Если имя_команды указано, то будет выведено сообщение с информацией об указанной команде. Если имя_команды указано не было, то будет показан список доступных команд.

! [команда оболочки]

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

allinfo имя_файла_или_папки

Клиент запросит у сервера всю известную информацию о файле или папке (включая потоки).

altname имя_файла_или_папки

Клиент запросит у сервера «альтернативное» имя (имя вида 8.3) файла или папки.

archive <уровень>

Указывает уровень архивирования при работе с файлами. 0 означает игнорировать архивный бит, 1 означает что операции проводить только с файлами имеющими архивный бит, 2 означает что операции проводить только с файлами имеющими архивный бит и сбросить его после операции, 3 операции проводить со всеми файлами и сбросить после операции. По умолчанию 0.

blocksize <размер>

Установит размер блока для операции tar. По умолчанию он равен 20. Tar файл будет записан в blocksize*TBLOCK (обычно 512 byte) частей.

cancel jobid0 [jobid1] ... [jobidN]

Клиент отправит серверу запрос на прекращение задач печати по указанным номерам job ids.

case_sensitive

Включает установку флагов чувствительности к регистру в SMB пакетах. По-умолчанию флаги не ставятся (сервер воспринимает пакеты как нечувствительные к регистру). Работает с Samba серверами версии 3.0.5 и выше. Параметр case sensitive в файле smb.conf должен быть установлен в auto.

cd <имя_папки>

Если имя_папки указано, то текущая рабочая папка на сервере будет сменена на указанную. Если указанная папка недоступна, то команда выполнена не будет.

Если имя_папки не указано, то будет сообщена текущая рабочая папка.

chmod file mode in octal

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Клиент запросит сервер о смене UNIX разрешения на данный восьмеричный режим, в стандартном формате UNIX.

chown file uid gid

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Клиент запросит сервер о смене UNIX принадлежностей пользователей и групп на данные десятичные значения. Обратите внимание, что сейчас не существует способа удаленного просмотра значения UNIX uid и gid для данного имени пользователя . Возможно это пригодится для будущих CIFS UNIX расширений.

close <fileid>

Закрывает файл, открытый командой open. Используется для внутреннего тестирования Samba.

del <mask>

Клиент запросит сервер об удалении файлов по mask (маске) из текущей рабочей директории.

dir <mask>

Будет получен и выведен список файлов соответствующих указанной маске.

du <filename>

Выводит листинг директорий, текущее использование жесткого диска и количество свободного места на шаре.

echo <number> <data>

Отправляет SMBecho запрос для ping-а сервера. Используется при внутреннем тестировании Samba.

exit

Отключается от сервера и закрывает программу.

get <remote file name> [local file name]

Копирует файл с сервера на машину клиента. Если указано local file name то файл будет сохранен под этим именем. Заметьте, что все передачи файлов в smbclient бинарные. См. Также команду lowercase.

getfacl <filename>

Требует поддержки UNIX расширений. Запрашивает и выводит POSIX ACL о файле.

hardlink <src> <dest>

Создает жесткую ссылку на сервер используя Windows CIFS семантику.

help [command]

См. команду ?.

history

Выводит историю выполнения команд.

iosize <bytes>

При получении или отправке smbclient использует буфер внешней памяти размером 64512 байт. Эта команда позволяет установить любое значение между 16384 (0x4000) байтами и 16776960 (0xFFFF00) байтами. Большие размеры означают ускорение обмена файлами, т. к. smbclient будет использовать более эффективные запросы на чтение и запись для подключенного сервера.

lcd [имя_папки]

Если имя_папки указано, то текущая рабочая папка на сервере будет сменена на указанную. Если указанная папка недоступна, то команда выполнена не будет.

Если имя_папки не указано, то будет сообщено имя текущей рабочей папки.

link target linkname

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Клиент запросит сервер о создании жесткой ссылки между linkname и целевыми файлами. The linkname файл не должен существовать.

listconnect

Показывает текущие соединения DFS.

lock <filenum> <r|w> <hex-start> <hex-len>

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Пытается установить POSIX fcntl блокировку данного типа в заданном диапазоне. Используется для внутреннего тестирования Samba.

logon <username> <password>

Устанавливает новый vuid для текущей сессии путем нового входа в систему. Заменит текущий vuid и выведет на экран новый vuid. Используется для внутреннего тестирования Samba.

lowercase

Переключает в нижний регистр имена файлов для команд get и mget.

Когда lowercase включен, имена локальных файлов переводятся в нижний регистр при использовании команд get и mget. Это полезно при копировании MSDOS файлов с сервера, так как имена файлов в нижнем регистре — норма для UNIX систем.

ls <mask>

См. команду dir.

mask <mask>

Эта команда позволяет пользователю установить маску для рекурсивного выполнения команд mget и mput.

При включенной рекурсии маска, определенная для команд mget и mput, работает скорее как фильтр для папок, чем для файлов.

Маска, определенная с помощью команды mask необходима для фильтрации файлов внутри этих директорий. Например, если в команде mget указана маска "source*", командой mask определена маска "*.c" и рекурсия включена, то команда mget будет получать все файлы подходящие к маске "*.c" во всех вложенных папках, включая все папки подходящие к маске "source*" в текущей рабочей папке.

Обратите внимание на то, что значение маски по умолчанию — "*" Оно не будет изменено до тех пор, пока не будет использована команда mask. Последнее значение маски будет сохранено, поэтому для предотвращения неожиданных результатов разумно устанавливать значение маски "*" после использования команд mget или mput.

md <directory name>

См. команду mkdir.

mget <mask>

Скопировать с сервера на машину клиента файлы по маске.

Обратите внимание на то, что параметр mask воспринимается по разному для рекурсивных и не рекурсивных операций – обратитесь к описанию команд recurse и mask. Все операции обмена файлами в smbclient бинарные. См. Также команду lowercase.

mkdir <directory name>

Создает новую папку на сервера (требуются привилегии доступа) с указанным именем.

more <file name>

Загрузить в оперативную память удаленный файл и посмотреть его содержание в среде указанной переменной PAGER.

mput <mask>

Скопировать файлы по маске из текущей рабочей папки локальной машины в текущую рабочую папку сервера.

Обратите внимание на то, что параметр mask воспринимается по разному для рекурсивных и не рекурсивных операций – обратитесь к описанию команд recurse и mask. Все операции обмена файлами в smbclient бинарные.

posix

Запросить сервер о поддержке CIFS UNIX расширений и вывести список поддерживаемых возможностей. При поддержке активировать POSIX обработку путей и чтение/запись больших файлов (если возможно).

posix_encrypt <domain> <username> <password>

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Пытается взаимодействовать с SMB шифрованием на этом соединении. Если smbclient соединяется с сертификатами kerberos (-k), то аргументы этой команды игнорируются и сертификат керберос используется для соединения GSSAPI. См. Также параметр -e команды smbclient для включения шифрования соединения. Команда появилась в Samba 3.2.

posix_open <filename> <octal mode>

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Открывает удаленный файл с помощью CIFS UNIX расширений и выводит значение. Используется для внутреннего тестирования Samba.

posix_mkdir <directoryname> <octal mode>

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Создает удаленную папку с помощью CIFS UNIX расширений в указанном режиме.

posix_rmdir <directoryname>

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Стирает удаленную папку с помощью CIFS UNIX расширений.

posix_unlink <filename>

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Стирает удаленный файл с помощью CIFS UNIX расширений.

print <file name>

Печатает указанный файл с локальной машины через службу печать на сервере.

prompt

Переключает запрос имен файлов во время операций команд mget и mput.

Если запрос включен, то программа будет запрашивать у пользователя подтверждение передачи каждого файла. Если запрос выключен, все указанные файлы будут переданы без запроса.

put <local file name> [remote file name]

Копирует файл с машины клиента на сервер. Если указано remote file name, то файл будет сохранен на сервере под этим именем. Заметьте, что все передачи файлов в smbclient бинарные. См. также команду lowercase.

queue

Выводит очередь печать, показывая id каждого задания, его имя, размер и текущий статус.

quit

См. команду exit.

rd <directory name>

См. команду rmdir.

recurse

Переключает рекурсию папок для команд mget и mput.

Если рекурсия включена, то эти команды будут работать со всеми поддиректориями указанной папки (например, папки из которой ведется копирование) и будут рекурсивно выполнены во всех папках подходящих по маске, определенной для команды. Будут получены файлы подходящие по маске из команды mask. См. также команду mask.

Если рекурсия выключена, то будут скопированы только файлы подходящие по маске, определенной для команды mget или mput из текущей рабочей папки передающей машины, а любая маска, указанная в команде mask, будет проигнорирована.

rename <old filename> <new filename>

Переименовывает файл в текущей рабочей папке на сервере из old filename в new filename.

rm <mask>

Удаляет файлы по маске из текущей рабочей папки на сервере.

rmdir <directory name>

Удаляет указанную папку (требуются привилегии доступа) с сервера.

setmode <filename> <perm=[+|\-]rsha>

Вариант DOS команды attrib для назначения режимов файлам. Например:

setmode myfile +r

переведет файл myfile в режим “только для чтения”.

showconnect

Показывает активные соединения для целей DFS.

stat file

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки не будет выполнена. Клиент запросит базовый уровень информации UNIX и выведет информацию о файле (такую же как команда stat в Linux: размер, количество блоков на диске, тип файла, режимы файла, inode номер, количество links и , наконец, три времени (доступа, адресации и изменения). Если файл является спец файлом (symlink, character или block device, fifo или socket), то будет выведена дополнительная информация.

symlink target linkname

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Клиент запросит сервер о создании символической жесткой ссылки между target и linkname файлами. Файл linkname не должен существовать. Обратите внимание на то, что сервер не будет создавать link по любому пути, лежащему вне текущей подключенной шары. Это жесткое условие для сервера Samba.

tar <c|x>[IXbgNa]

Выполняет операцию tar — см. параметр -T командной строки. Поведение может быть затронуто командой tarmode (см. ниже). Использование g (incremental) и N (newer) будет затрагивать настройки tarmode. Обратите внимание, что параметр "-" может не работать с tar x — используйте параметр командной строки.

blocksize <blocksize>

Размер блока. Должен быть ненулевым числом. Tar будет записан в blocksize*TBLOCK (обычно 512 byte) частей.

tarmode <full|inc|reset|noreset>

Изменяет поведение tar в зависимости от архивных битов. В режиме full, tar будет архивировать все файлы в независимости от архивного бита (режим по-умолчанию). В режиме incremental, tar будет архивировать только файлы с архивным битом. В режиме reset будет сброшен архивный бит у всех архивированных файлов (включая общие ресурсы доступные на чтение/запись).

unlock <filenum> <hex-start> <hex-len>

Эта команда зависит от поддержки сервером CIFS UNIX расширений, и в случае отсутствия поддержки выполнена не будет. Пытается разблокировать POSIX fcntl блокировку в данном диапазоне. Используется для внутреннего тестирования Samba.

volume

Выводит имя текущего тома шары.

vuid <number>

Изменяет текущий vuid в протоколе на данный номер. Если number не указан, то выводит текущий vuid. Используется для внутреннего тестирования Samba.

ЗАМЕТКИ

Некоторые сервера капризны к регистру введенных имен пользователей, паролей, имен шары (AKA имен служб) и имен машин. Если вам не удается подключиться, дайте все параметры в верхнем регистре.

Часто при подключении к некоторым типам серверов требуется использование параметра -n. Например OS/2 LanManager требует использование верного имени NetBIOS, поэтому вам необходимо сообщить верное известное серверу имя NetBIOS.

smbclient поддерживает длинные имена файлов если сервер поддерживает протокол LANMAN2 или выше.

ПЕРЕМЕННЫЕ СРЕДЫ

Переменная USER может содержать имя пользователя, использующего клиент. Эта информация используется только если уровень протокола достаточно высок для обеспечения session-level паролей.

Переменная PASSWD может содержать пароль пользователя используемого клиентом. Эта информация используется только если уровень протокола достаточно высок для обеспечения session-level паролей.

Переменная LIBSMB_PROG может содержать путь, запущенный в system(), по которому клиент должен соединиться вместо соединения с сервером. Эта функция главным образом введена для помощи разработчикам, и хорошо работает при использовании файла LMHOSTS.

УСТАНОВКА

Местонахождение клиента — дело администратора.

Рекомендуется устанавливать smbclient в папку /usr/local/samba/bin/ или /usr/samba/bin/ — эти папки могут читать все, но вести запись туда может только root. У всех пользователей должна быть возможность запустить программу-клиент. Клиент НЕ должен быть setuid или setgid! Клиентские журналы логов должны находиться в директории доступной на чтение запись только пользователю.

Для проверки клиента вам нужно будет знать имя SMB/CIFS сервера. Можно также запустить smbd(8) как демон на доступном пользователю порте (обычно — любой порт после 1024) — это позволит произвести достаточный тест клиента.

ДИАГНОСТИКА

Большая часть диагностической информации содержится в указанном log-файле. Его имя определяется во время компиляции, однако может быть изменено параметром командной строки.

Количество и природа доступной диагностической информации определяется параметром debug level клиента. Если возникает проблема, установите debug level на 3 и проверьте log-файл.

ВЕРСИЯ

Эта страница man верна для пакета Samba 3.2.

Автор

Изначально Samba и сопутствующие утилиты были разработаны Эндрю Тридгеллом (Andrew Tridgell). Сейчас Samba разрабатывается Samba Team в качестве Open Source проекта – напоминает то, как разрабатывается ядро Linux.

Изначально страницы man поддерживал Karl Auer. Исходные коды страниц man конвертировались в формат YODL (доступно здесь yodl.sourceforge.net) и обновлялись для релизов Samba 2.0 Jeremy Allison. Переведено в формат DocBook для Samba 2.2 Джерардом Картером (Gerald Carter). Переведено в формат XML 4.2 для Samba 3.0 Александром Боковым.

Перевод на русский язык выполнил Айзятуллен Ренат.

Обсудить данный перевод можно в соответствующей ветке форума.