Книга: Linux-сервер своими руками

9.3. Доступ к SMB-ресурсам из Linux

9.3. Доступ к SMB-ресурсам из Linux

Будем смотреть правде в глаза, ОС Windows разрабатывалась для домохозяек. Каждая домохозяйка, чтобы просмотреть ресурсы сети Microsoft, использует пиктограмму «Сетевое окружение» на рабочем столе Windows. A теперь представьте, что эта домохозяйка работает в ОС Linux и хочет просмотреть ресурсы сети. Скорее всего, у нее возникнут определенные трудности. Попробуем их сейчас решить.

Для просмотра ресурсов сети Microsoft используется программа smbclient. Допустим, вы хотите подключиться к общему каталогу share компьютера nt_ws1. При этом допустим, что ваше имя пользователя user и пароль 123456. В этом случае использование команды smbclient выглядит следующим образом:

$ smbclient //nt_ws1/share –U user%123456

Если пароль не нужен, то указывается только имя пользователя без знака процента.

После подключения к общему ресурсу, если точнее, к каталогу, вы можете использовать те же команды, что и при работе с клиентом ftp (см. табл. 9.1).

Команды программы smbclient Таблица 9.1

Команда Описание
Dir Выводит список файлов в каталоге
cd [каталог] Выполняет переход в заданный каталог на сервере (учтите, что именно на сервере, а не на клиентском компьютере). В том случае, если каталог не указан, то smbclient просто выдаст имя текущего каталога
get [файл] [лок. имя] Получает указанный файл из общего ресурса и сохраняет его на локальном компьютере. Если указано локальное имя, то полученный с сервера файл будет сохранен на клиентском компьютере под этим именем
put [файл] [удал, имя] Копирует файл на удаленный компьютер (сервер) и сохраняет его там под именем, указанном в поле удаленное имя. Соответственно, если это имя не указано, то файл при сохранении переименовываться не будет
rm [каталог] rmdir [каталог] Удаляет указанный каталог на удаленном компьютере (сервере)
md [каталог] mkdir [каталог] Создает указанный каталог на удаленном компьютере (сервере)
mput [файлы] Копирует все указанные файлы на удаленный компьютер (сервер)
del [файлы] Удаляет на сервере указанные файлы, если конечно пользователь обладает на это правами
help Помощь
exit или quit Завершение сеанса работы программы smbclient

Использовать программу smbclient не очень удобно. Гораздо удобнее использовать программу smbmount, которая умеет монтировать удаленный общий ресурс как обычную файловую систему. При этом впоследствии использовать общий ресурс становится гораздо приятнее и удобнее. Ниже приведен пример команды, которая монтирует общий ресурс customers компьютера nt, используя имя пользователя user. Точка монтирования — каталог /mnt/customers, идентификатор пользователя (UID) равен 500, а группы (GID) — 100:

smbmount //nt//customers –U user –c 'mount /mnt/customers –u 500 –g 100'

Для этих же целей можно воспользоваться командой:

smbmount //nt/customers/ /mnt/customers –U user

Примечание. Использовать команду smbmount имеет право только пользователь root. Для того, чтобы обычный пользователь мог использовать эту программу, следует установить для нее атрибут Setuid root, однако такое решение является небезопасным. Выходом из этого положения может послужить запуск программы smbmount при загрузке системы. Добавьте в сценарии автозагрузки вызов программы smbmount для монтирования файловых систем совместного использования, с которыми вы работаете чаще всего. После этого обычные пользователи смогут работать с удаленными ресурсами как с обычной локальной файловой системой. 


Рис. 9.4. Общие ресурсы

Просмотреть общие ресурсы компьютера можно с помощью опции –L (см. рис. 9.4).

Список Browse list (см. рис. 9.4) показывает другие smb-сервера в сети с доступными ресурсами. Опция –I разрешает программе smbclient работать с именами DNS. Например, если домен называется domain.ru, то просмотреть общие ресурсы компьютера nt_ws1 можно командой:

$ smbclient –L –I nt ws1.domain.ru

Оглавление книги


Генерация: 1.185. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз