2004 г.
Linux для пользователя
Виктор Костромин,
http://rus-linux.net/
Глава 13. Выход в локальные сети
13.6. Подключение к серверу Novell Netware
Для того чтобы подключаться к серверу Novell, необходимо установить пакет ncpfs. NCPFS — это файловая система, которая понимает протокол NCP (NetWare Core Protocol) фирмы Novell. Другими словами, пакет ncpfs — это клиент сети Netware для Linux. Протокол NCP играет в мире Novell ту же роль, какую в мире TCP/IP играет протокол NFS.
Пока что пакет ncpfs обеспечивает только работу с Novell Netware 3.x и выше (но не 2.x) и не поддерживает доступ к NDS, так что для работы с серверами версии 4.x необходимо, чтобы на сервере была установлена эмуляция bindery.
Прежде, чем заниматься инсталляцией пакета ncpfs, следует убедиться, что ваше ядро поддерживает протоколы IPX и NCP. Вначале загляните в файл /var/log/dmesg и поищите там строки следующего вида:
NET4: Linux IPX 0.44 for NET4.0
IPX Portions Copyright (c) 1995 Caldera, Inc.
IPX Portions Copyright (c) 2000 Conectiva, Inc.
Если строк, напоминающих эти, не найдется, то ваше ядро не имеет поддержки IPX и вам придется его перекомпилировать. При компиляции ядра (на этапе выполнения команды make config) нужно на вопрос:
The IPX protocol (CONFIG_IPX) [N/y/m/?]
ответить либо " y ” , либо " m ” . На следующий вопрос (о поддержке full internal net) вы можете ответить отрицательно (если не хотите превратить свой Linux-компьютер в полноценный Novell-сервер).
Поддержка протокола SPX в ядре не требуется (если речь идет только о клиентской части), но требуется поддержка протокола NCP (надо ответить утвердительно на вопрос "NCP file system support”).
Естественно, что должна также быть обеспечена поддержка сетевых средств вообще и настроен интерфейс сетевой платы (см. разд. 13.2).
Если у вас уже была установлена предыдущая версия пакета ncpfs и вы просто обновляете инсталляцию, то до выполнения процедуры установки надо выполнить (все, что вы будете дальше делать, — надо делать, имея права пользователя root) команду
[root]# umount -v -a –tncpfs
по которой размонтируются все ранее смонтированные через ncpfs ресурсы.
Проверить, установлены ли пакеты ipxutils и ncpfs можно с помощью команд
[root]# rpm -q ipxutils
ipxutils-2.2.0.18-3
[root]# rpm -q ncpfs
ncpfs-2.2.0.18-3
Номера версий могут отличаться. Если упомянутые пакеты не установлены — установите (найти их можно в каталоге RPMS инсталляционного диска). Например, на дистрибутивном диске ASPLinux 7.1 нашлась версия 2.2.0.18-3 пакета ncpfs в виде файла ncpfs-2.2.0.18-3.i386.rpm, и пакет ipxutils той же версии, так что установка была выполнена следующим образом:
[root]# rpm -Uhv ipxutils-2.2.0.18-3.i386.rpm
[root]# rpm -Uhv ncpfs-2.2.0.18-3.i386.rpm
Теперь вы должны выяснить, какой IPX-фрейм "бегает" у вас по сети — это очень важно (узнайте это у администратора сервера Nowell). В качестве примера примем, что у вас используется 802.3. Выполните команды
[root]# /sbin/ipx_configure --auto_primary=on --auto_interface=off
[root]# /sbin/ipx_interface add -p eth0 802.3
[root]# /usr/bin/slist
Последняя команда должна выдать список серверов Nowell Netware в сети, который выглядит примерно так:
Known NetWare File Servers Network Node Address
-------------------------------------------------------------
TEST 00034165 000000000001
SOFT 3123DB21 000000000001
NWSTEND 00100100 000000000001
Если вы не получите подобного списка серверов, не отчаивайтесь, — возможно, еще не все потеряно. Известны случаи, когда установленный пакет mars_nwe мешал нормальной работе с Novell-серверами. Удалите его перед установкой вышеуказанных пакетов
[root]# rpm -e mars_nwe.x.y.z
Далее создайте каталог, в который вы будете монтировать каталоги с Novell-сервера (если нужно несколько серверов, то должно быть несколько каталогов — по одному для каждого сервера). Например, для сервера NetWare1 создайте каталог /mnt/nw1. Теперь можно выполнить команду (для bindery-сервера) монтирующую том soft сервера NetWare1 с правами Novell- пользователя nwuser1 в каталог /mnt/nw1:
[root]# /usr/bin/ncpmount -S netware1 –V soft -U nwuser1 /mnt/nw1
Для NDS имя пользователя пишется по форме
cn=username.ou=unit.o=organization.
Например, если у вас контекст prog.firm, имя пользователя nwuser1, то вызов этот выглядит следующим образом:
[root]# /usr/bin/ncpmount -S netware1 -U cn=nwuser1.ou=prog.o=firm /mnt/nw1
Если все в порядке, то у вас будет спрошен пароль, и если вы его правильно введете, то каталоги сервера станут видны в указанном каталоге монтирования. Иногда команда ncpmount не срабатывает немедленно из-за задержек с прохождением пакетов. В таком случае подождите около 1 минуты и попробуйте снова.
Для размонтирования достаточно указать только точку монтирования:
[root]# /usr/bin/ncpumount /mnt/nw1
Однако выполнять все указанные действия необходимо с правами пользователя root. Если вы хотите иметь возможность монтировать сервера Novell от имени обычного пользователя (в домашний каталог, со своими правами доступа к серверам), то в конец файла /etc/rc.d/rc.local нужно вставить команды
ipx_configure --auto_primary=on --auto_interface=off
ipx_interface add -p eth0 802.3
chmod +s `which ncpmount`
chmod +s `which ncpumount`
Тогда при загрузке Linux они будут выполнены автоматически и обеспечат пользователям возможность выполнять команды ncpmount и ncpumount. После этого пользователи смогут монтировать в свои домашние каталоги сервера Novell командой ncpmount.
Предостережение!
Никогда не вставляйте команды ncpmount в файл типа /etc/rc.d/rc.local! Это небезопасно с той точки зрения, что если злоумышленник проникнет в вашу машину — то он получит доступ и к серверам Novell . Лучше, если вы будете выполнять монтирование по мере необходимости. И не забывайте размонтировать их по исчерпанию необходимости. В команде ncpmount можно задать и пароль в виде параметра команды, но стоит этого делать: такой вызов сохраняется в истории команд и пароль может стать известным злоумышленнику. Не стоит и сохранять пароль в каком-либо скрипте, — это тоже канал возможной компрометации пароля.