$ smbclient -L user5 -U <имя_пользователя>
Имя пользователя — это не ваше регистрационное имя на Linux-машине, а имя того пользователя машины Windows, кто имеет доступ к ее ресурсам. После ввода пароля вы увидите что-то вроде:
Domain=[USER5] OS=[Windows 5.1]
Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
SharedDocs Disk
WIN (C) Disk
ADMIN$ Disk Remote Admin
Public Disk
[...]
Public — это та папка, которая вас интересует. Для приема-передачи файлов предназначена программа smbclient. Чтобы ускорить (или автоматизировать) ввод пароля, введите ее в таком виде:
$ smbclient //user5/public -U <имя_пользователя>%<пароль>
Вы увидите приглашение программы:
smb: >
и сможете вводить ее команды. Первым делом введите команду help для получения списка всех доступных команд. В таблице 6.3 перечислено несколько самых полезных из них.
Команды программы smbclient Таблица 6.3
Команда | Описание |
---|---|
ls | Выводит список файлов в папке |
cd [папка] | Выполняет переход в заданный каталог на сервере (учтите, что именно на сервере, а не на клиентском компьютере). В том случаи, если каталог не указан, то smbclient просто выдаст имя текущего каталога |
get [файл] [локальное имя] | Получает указанный файл из общего ресурса и сохраняет его на локальном компьютере. Если указано локальное имя, то полученный с сервера файл будет сохранен на клиентском компьютере под этим именем |
put [файл] [удаленное имя] | Копирует файл на сервер и сохраняет его там под указанным именем. Если это имя не указано, то файл при сохранении переименовываться не будет |
mget [файлы] | Получает все указанные файлы с сервера |
mput [файлы] | Копирует все указанные файлы на сервер |
del [файлы] | Удаляет на сервере указанные файлы, если, конечно, пользователь обладает на это правами |
! | Позволяет временно выйти из smbclient, чтобы выполнить команду на локальном компьютере. Например, ! ls — это просмотр текущего каталога на локальной машине |
exit или quit | Завершение сеанса работы программы smbclient |
Использовать программу smbclient не очень удобно. Если вы собираетесь обмениваться файлами часто, то лучше использовать программу smbmount, которая умеет монтировать удаленный общий ресурс как обычную файловую систему. Ниже приведен пример команды, которая монтирует папку customers
компьютера USER5, используя имя пользователя den. Точка монтирования — каталог /mnt/customers
:
$ smbmount //user5/customers -U den /mnt/customers -U 500 -G 100
В этом примере владельцем смонтированного каталога объявляется пользователь с идентификатором (UID) 500 и идентификатором группы 100.
Закончив работу с обшей папкой, размонтируйте ее командой
$ smbumount /mnt/customers
Если вместо русских имен файлов вы видите непонятные символы, значит, кодировки кириллицы на вашем компьютере и на Windows-машине различны и вам нужно указать дополнительные опции монтирования: codepage=
— для кодовой страницы, применяемой на удаленной машине (обычно для кириллицы это cp866), и iocharset=
— для кодовой страницы на стороне Linux. Значение iocharset зависит от установленной локали, и узнать его можно по команде locale:
$ locale
LANG=ru_RU.UTF-8
[...]
В моем примере на стороне Linux используется Юникод (а могло бы быть, например, KOI8-R), и команда монтирования будет выглядеть так:
$ smbmount //user5/customers /mnt/customers \
>-о username=den,password="12345",\
>codepage=cp866,iocharset=utf8
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии