Подключение Linux-станций к W2K

Подключение Linux-станций к W2K С развитием локальных сетей все чаще встает вопрос о взаимодействии различных систем между собой. В частности, когда в лаборатории или дома есть машина под Linux и сервер под Windows 2000 Server, то как сделать возможным использование ресурсов сервера с рабочей станции Linux? В этой статье я хочу рассказать об инструменте, позволяющем решить названную проблему.

Рабочие станции Linux довольно часто включают в сеть Windows 2000, поскольку Linux предоставляет недорогие средства реализации Internet-служб (серверов DNS, почтовых серверов и Web-серверов) на маломощном оборудовании. Кроме того, данная операционная система характеризуется хорошей работоспособностью и надежностью, хотя и за счет излишне сложных процедур администрирования.
Для обеспечения доступа к файлам Windows необходимо знать три вещи. Во-первых, порядок работы с утилитами командной строки smbmount и smbunmount. Во-вторых, порядок создания нового каталога на жестком диске Linux. Наконец, нужно научиться создавать и использовать конфигурационный файл smb.conf.

Утилита smbmount является Linux-аналогом команды net use в Windows. Она обеспечивает подключение рабочей станции к файловому серверу на платформе Microsoft. Команда smbunmount выполняет разрыв такого соединения. Первоначально эти утилиты предназначались для подключения станций Linux к серверам, работающим по протоколу SMB (Server Message Block — это формат сообщений, который используют серверы Windows 2000, Windows NT, Windows 9x, LAN Manager). Затем команды стали частью большого программного пакета Samba, основной задачей которого является эмуляция SMB-сервера на стороне Linux.

Чтобы команда smbmount сработала, ей необходимо указать точку монтирования, т.е. локальный каталог, к которому она сможет отобразить сетевой ресурс Windows 2000, что в свою очередь позволит Linux к нему обращаться. Как известно, включенная в Windows утилита командной строки net use при подключении к сетевому ресурсу Windows 2000 отображает его (например, \\server\shared) на букву дискового имени (например, Z:). Преимущество использования дискового имени для сетевого ресурса заключается в унификации способа представления информации на компьютере: все данные, в том числе и доступные совместно, представляются в виде набора локальных каталогов на жестком диске пользователя.

Но пользователи Linux тоже не возражают против единообразного представления информации, независимо от места ее хранения (локальный жесткий диск или удаленный сетевой компьютер). Однако ввиду того, что в Linux дисковые имена не используются, ей необходим иной метод отображения сетевых ресурсов на локальный диск. Именно для этого и нужна упомянутая точка монтирования, которая формируется путем создания нового каталога (в котором нет никаких файлов). Затем запускается команда smbmount, монтирующая сетевой ресурс к созданному каталогу. После этого, опираясь на данную точку доступа, пользователь вводит команды обращения к файлам сетевого ресурса.
Для создания каталога на диске Linux используется команда mkdir. Например, каталог /server_shared создается командой mkdir /server_shared.
Сформировав точку монтирования, пользователь с помощью команды smbmount подключается к сетевому ресурсу Windows 2000. Предположим, мы хотим получить доступ к именованному ресурсу sources на сервере Windows с сетевым именем \\xstranger. Для этого нужно знать пароль и имя пользователя данного компьютера. Допустим, имя такого пользователя user, а его пароль — idontknow. Однако, кроме этого, необходимо знать и IP-адрес требуемого сервера, например 220.220.110.11. Располагая данной информацией, отобразим \\xstranger\sources на каталог /server_shared с помощью следующей команды:
smbmount //xstranger/sources /server_shared U user I 220.220.110.11

Обратите внимание на использование прямых слэшей '/' вместо привычных пользователям Windows обратных '\' при указании имени сетевого ресурса в формате Uniform Naming Convention (UNC). В Linux прямой слэш также используется для разделения составляющих пути на разделах жесткого диска.
После запуска команды на исполнение операционная система покажет две строки сообщений и запросит пароль, после ввода которого надо нажать Enter. Теперь можно обращаться к файлам сервера через каталог /server_shared. Например, для копирования с сервера файла defence.txt в каталог /texts на компьютере Linux следует ввести команду:
cp /server_shared/defence.txt /texts

Хотя утилита smbmount имеет большой набор переключателей, ее обычный запуск выглядит, как уже, наверно, стало ясно, следующим образом:
smbmount <UNC> <mountpoint> U <username> I <ipaddress>

Где UNC — имя подключаемого сетевого ресурса, mountpoint — каталог, к которому подключается этот ресурс, username — имя учетной записи пользователя Windows 2000. Стоит заметить, что командные переключатели чувствительны к регистру: команда и параметры вводятся в нижнем регистре, а U и I — в верхнем.
Переключатель I необходим в силу того, что smbmount не знает, как найти сервер Windows 2000 c помощью широковещательной рассылки имен NetBIOS. Конечно, команда может использовать сервер WINS для поиска адреса сервера, но если ей не сообщили информацию о WINS-сервере и не указали IP-адрес, не только произойдет сбой в работе smbmount, но и нельзя будет использовать точку монтирования без предварительной перезагрузки Linux.

Чтобы передать smbmount информацию о WINS-сервере, необходимо создать файл с именем smb.conf, который Linux обычно хранит в каталоге /etc/, но в некоторых дистрибутивах Linux это не так (например, этот файл может размещаться в каталоге /etc/samba.d/ или /etc/samba).
В файле smb.conf нам понадобятся всего две строки:

[global]
wins server = <ipaddress>

Поскольку smbmount читает smb.conf при каждом вызове, нет необходимости перезапускать программные службы или компьютер. Если IP-адрес локального WINS-сервера компьютера xstranger — 220.220.110.11, то необходимая запись в smb.conf выглядит следующим образом:

[global]
wins server = 220.220.110.11

Теперь для подключения к серверу вы будете вводить следующую команду:
smbmount //xstranger/sources /server_shared U user
После последующего ввода пароля сетевой ресурс становится доступен. При другом способе записи команды можно сразу за именем пользователя указать знак процента и пароль, тогда smbmount его запрашивать не будет:
smbmount //xstranger/sources /server_shared U user%idontknow
Вполне понятно, что файл smb.conf можно создавать любым известным вам способом: встроенным редактором MC, vim'ом или обычной командой "cp /dev/tty /etc/smb.conf" (без кавычек).
По завершении работы с сетевым ресурсом от него необходимо отключиться с помощью команды smbumount. Для этого нужно ввести:
smbumount /server_shared
Напоследок скажу пару замечаний. smbmount, похоже, не обрабатывает программных отключений, которые Windows-сервер стандартно выполняет после 15 мин простоя.
Стоит на время отлучиться от компьютера с Linux, где смонтирован ресурс сервера, и канал связи запросто может быть разорван, при этом пользователь лишен возможности демонтировать ресурс. Поэтому перед уходом можно посоветовать запускать smbumount.

Команды smbmount и smbumount (как и большинство других команд Linux) имеют довольно большое число переключателей. Для отображения их полного списка необходимо использовать команды
man smbmount
man smbumount
Стоит также заметить, что команду подключения зашаренных ресурсов можно прописать в качестве автоматически выполняемого при загрузке скрипта, что избавит вас от набора команды вручную каждый раз при загрузке системы.

Все. Удачи в локальных сетях!

X-Stranger, xstranger@tut.by

(c) компьютерная газета


Компьютерная газета. Статья была опубликована в номере 47 за 2001 год в рубрике soft :: linux

©1997-2024 Компьютерная газета