Сети NetWare 3.12-4.1.Книга ответов

       

Когда выполняется процедура по умолчанию (Default Login script) и что она делает?



Когда выполняется процедура по умолчанию (Default Login script) и что она делает?

Процедура по умолчанию выполняется для пользователя, у которого отсутствует личная процедура регистрации. Она не редактируема (записана в теле утилиты LOGIN.EXE) и выполняет следующие действия:

Приветствует пользователя - Good Morning, SUPERVISOR:

WRITE "Good %GREETING_TIME, %LOGIN_NAME."

MAP DISPLAY OFF

MAP ERRORS OFF

Подавляет сообщения о планировании и ошибках:

MAR DISPLAY OFF

MAR ERRORS OFF

Планирует первый сетевой драйв в корневой каталог тома SYS: (и это правильно).

MAP *1: = SYS:

Пытается перепланировать его же в личный подкаталог пользователя, считая, что он в корневом каталоге тома SYS: (а если пользователей 250 или 1000, неужели они все будут там?):

MAP *1: = SYS:%LOGIN_NAME

Для администратора первый драйв перепланируется в SYS:SYSTEM (у них Norton Commander платный, а команду CD SYSTEM еще и вспомнить надо!):

IF "%1" = "SUPERVISOR" THEN MAP *1: = SYS:SYSTEM

Для NetWare 4.x эта строка имеет вид:

IF "%1" = "ADMIN" OR "%1" = "SUPERVISOR" THEN MAP *1: = SYS:SYSTEM

Аккуратно вставляет каталог с утилитами в начало пути PATH:

MAP INS S1: = SYS:PUBLIC

Пытается включить каталог с утилитами DOS в путь, но мало кто заводит каталог SYS:IBM_PC/MSDOS/6.22 и помещает в него утилиты:

MAP INS S2: = S1:%MACHINE/%OS/%OS_VERSION

Выводит полученные назначения на экран

MAP DISPLAY ON

MAP

Отменить ее выполнение можно созданием хотя бы фиктивных процедур, пускай содержащих один символ - пробел, но для ясности лучше символ комментария "*" или ";". Можно также в конце системной (контейнерной или профильной) процедуры поставить EXIT, но тогда не будет выполняться ни одна личная процедура.

Начиная с версии 3.65, утилита LOGIN поддерживает команду NO_DEFAULT, нейтрализующую эту заботливость системы



Содержание раздела