Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Сценарии входа в сеть

С.В. Сухова

Сценарий входа в сеть (login script) — это последовательность команд, исполняемых программой LOGIN.EXE на рабочей станции при регистрации пользователя в сети. Сценарии входа в сеть позволяют настроить рабочую среду пользователя в момент входа в сеть. Они подобны командному файлу AUTOEXEC.BAT в DOS.

Для получения доступа к ресурсам сети пользователь применяет команду LOGIN с указанием имени файлового сервера, с которым он намерен работать, и своего имени:

LOGIN имя_файлового_сервера\имя_пользователя

Например:

LOGIN LN312\U_01

При входе пользователя в сеть ОС NetWare проверяет, есть ли в базе данных сетевых ресурсов его имя и пароль, а также ряд ограничений (на станцию, по времени работы в сети, учетные ограничения). После чего пользователь получает возможность работать с ресурсами сети и при этом уже имеет все необходимые настройки, например: указатели устройств для каталогов с данными, поисковые устройства для каталогов прикладных программ, переменные окружения (DOS environment) и т. п. Все эти назначения выполняются через сценарии входа в сеть. В настоящей статье рассматривается работа со сценариями входа в сеть в NetWare 3.1x.

Виды сценариев входа в сеть

Утилита LOGIN выполняет один или два сценария в следующем порядке:

l системный (system), если такой существует;

l пользовательский (user), если он есть;

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

Системный сценарий находится в текстовом файле NET$LOG.DAT в каталоге SYS:PUBLIC и содержит установки параметров для всех пользователей. Он выполняется при входе в сеть каждого пользователя, а создается и редактируется администратором сети с помощью утилиты SYSCON (пункт меню Supervisor Options). Обычно в системный сценарий включают приветствие пользователям, команды назначения указателей устройств для каталогов с широко используемыми прикладными программами (MS Windows, MS Office, антивирусные программы), а также команды поддержки сетевой печати (рис. 1 и 2).

Пользовательский сценарий входа в сеть содержит команды назначения сетевых и поисковых устройств, а также другие необходимые данному пользователю команды. Например, приведенный на рис. 3 пользовательский сценарий включает команды назначения указателей устройств для каталогов, содержащих программу работы с некоторой базой данных и файлы с рабочими документами пользователя, а также команды проверки срока действия пароля и выполнения пользовательского меню. Кроме того, по пятницам пользователь должен готовить отчет и печатать его. Для удобства выполнения этой процедуры в сценарии осуществляется переназначение вывода на печать в сетевую очередь.Этот сценарий находится в текстовом файле LOGIN в пользовательском подкаталоге каталога SYS:MAIL (в качестве имени подкаталога используется идентификационный номер пользователя).

Пользовательский сценарий создается и редактируется администратором сети или самим пользователем с помощью утилиты SYSCON (пункт меню User Information).Сценарий, заданный по умолчанию, выполняется только при отсутствии пользовательского сценария. Он содержит приветствие пользователям и команды назначения указателей устройств для каталогов с утилитами NetWare (рис. 4). Этот сценарий нельзя редактировать, поскольку он является частью файла LOGIN.EXE, содержащегося в каталоге SYS:LOGIN.

При создании системного или пользовательского сценария входа в сеть необходимо помнить следующее:

l командная строка не может содержать более 150 символов, для удобства работы рекомендуется ограничивать длину строки 78 символами (число позиций в строке экрана утилиты SYSCON);

l на одной строке не должно быть более одной команды;

l для разделения групп команд между ними можно вставлять пустые строки;

l в сценарии входа в сеть могут быть использованы переменные сценария входа в сеть и команды проверки условий, управляющие выполнением тех или иных действий;

l команды можно писать как строчными, так и прописными буквами. Исключением являются переменные сценария входа в сеть в текстовых строках (последовательность символов в кавычках). В этом случае они пишутся прописными буквами и им предшествует знак процента (%);

l последовательность команд в сценарии входа в сеть определяется потребностью пользователя. Ограничением может являться применение команды ATTACH для регистрации на втором (и каждом следующем) файловом сервере перед командами MAP, содержащими ссылки на каталоги второго сервера. Несколько похожих команд (например, MAP, WRITE) для удобства чтения сценариев рекомендуется группировать;

l утилита SYSCON позволяет редактировать сценарии входа в сеть длиной до 16 384 байт. Чтобы не потерять последние строки сценариев входа в сеть, размер которых превышает указанный, пользуйтесь другими редакторами текста;

l рекомендуется сопровождать сценарии входа в сеть комментариями. Однако следует сделать небольшое замечание: при входе в сеть каждого пользователя с сервера на рабочую станцию весь сценарий передается в открытом виде. Поскольку файл с системным сценарием входа в сеть (NET$LOG.DAT) находится в каталоге SYS:PUBLIC, где у всех пользователей по умолчанию есть права на чтение, то каждый, вошедший в сеть, может его прочитать, включая все комментарии и команды, даже если отдельные строки не имеют непосредственного отношения к пользователю, регистрирующемуся в сети. Поэтому содержание комментариев в сценарии входа в сеть должно тщательно контролироваться администратором сети.

Использование команд LOGIN и ATTACH

Получение доступа к ресурсам файлового сервера и вызов сценария входа в сеть осуществляются с помощью команды LOGIN. Она может вводиться с параметрами, значения которых будут присвоены определенным переменным в сценарии входа в сеть (см. “Использование условий”).Каждый пользователь может иметь различные сценарии входа на разных файловых серверах. Но при входе пользователя в сеть будет выполняться сценарий, хранящийся на том файловом сервере, к которому пользователь подключился с помощью команды LOGIN.

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

ATTACH имя_дополн._сервера\имя_пользователя

Например:

ATTACH ECORP\admin1

При регистрации пользователя на втором и каждом следующем файловом сервере с помощью команды ATTACH сценарии входа в сеть, находящиеся на этом сервере, не выполняются, даже если они существуют.

Отказаться от исполнения заданного по умолчанию сценария можно с помощью команды NO_DEFAULT, которую обычно помещают в системный сценарий входа в сеть (только для NetWare 3.12). А вместо системного и пользовательского сценариев можно выполнить любой другой, указав параметр /Script (сокращенная форма записи— /S) и имя файла, содержащего необходимые команды.

Администратор, разрабатывая новый сценарий, который в дальнейшем будет постоянно использоваться в сети, может создать начальный вариант этого сценария и поместить его, например, в файл SCRIPT.TXT, а для его отладки использовать команду:

LOGIN /S C:\NWCLIENT\SCRIPT.TXT supervisor

Параметр /Script позволяет отказаться от выполнения системного и пользовательского сценариев входа в сеть и задействовать любой другой сценарий (необходимо указать путь доступа к файлу, содержащему вызываемый сценарий). Этот параметр можно применять вместе с параметром /NoAttach, который разрешает использовать любой сценарий входа в сеть без отсоединения от текущего файлового сервера и подключения к другому.

Варианты применения команд в сценарии входа в сеть

Примеры на рис. 1 — 4 содержат различные команды. Рассмотрим наиболее часто применяемые команды, а также переменные сценария входа в сеть.

Назначение указателей устройств (MAP)

Для работы с различными прикладными программами в сети пользователю требуется создавать указатели сетевых и поисковых устройств с помощью команды MAP. Применение команды MAP в сценарии входа в сеть аналогично использованию одноименной утилиты командной строки. Как уже отмечалось, команде MAP должна предшествовать команда ATTACH, если требуется работать с ресурсами другого файлового сервера.

Примеры:

1. Просмотр текущих назначений устройств для данной рабочей станции:

MAP

2. Запрет (OFF) или разрешение (ON) вывода на экран информации о выполнении назначений устройств. По умолчанию устанавливается ON.

MAP DISPLAY ON|OFF

3. Запрет (OFF) или разрешение (ON) вывода на экран сообщений об ошибках при назначении устройств. По умолчанию принято ON.

MAP ERRORS ON|OFF

4. Назначение сетевого устройства G: каталогу SYS:APPLIC\DB:

MAP G:=SYS:APPLIC\DB

5. Назначение n-го (1, 2, 3, 4 ...) сетевого устройства указанному каталогу. Например, первое свободное сетевое устройство будет назначено каталогу SYS:SYSTEM:

MAP *1:=SYS:SYSTEM

6. Создание “псевдокорневого” каталога. Например, каталогу SYS:PUBLIC будет присвоена первая свободная буква указателя устройства при условии, что назначение букв происходит в обратном алфавитном порядке от Z: до F:, а каталогу SYS:USERS\U_01 будет назначен указатель U:.

Перемещение вверх от “псевдокорневого” каталога по структуре файловой системы сервера будет невозможно.

MAP ROOT INS S1:=SYS:PUBLIC

MAP ROOT U:=SYS:USERS\U_01

7. Задание нового поискового устройства:

MAP S4:=C:\WORD5

8. Задание (и вставка) нового поискового устройства (без удаления уже существующего):

MAP INS S4:=C:\WORD5

MAP ROOT INS S3:=SYS:APPLIC\WP

9. Удаление устройства:

MAP DEL G:

MAP REM S4:

MAP REM N:

При создании указателей сетевых и поисковых устройств расходуется память файлового сервера (область Alloc Short Term Memory Pool). В связи с этим рекомендуется использовать меньше указателей. Сократить их число можно путем переназначения уже существующих, но не нужных в данный момент, например с помощью командных файлов (*.BAT), осуществляющих переназначение указателей при вызове разных прикладных программ.

Рассмотрим пример. Пользователю приходится работать поочередно с двумя прикладными программами. С помощью одной из них решаются экономические задачи проекта (она находится в каталоге SYS:PROJECT), а с помощью другой — технические задачи этого же проекта (каталог SYS:TECH).

Для удобства работы пользователь создал два командных файла.

Первый файл создает указатель устройства для программы PROJECT, выполняет ее, после чего удаляет созданный указатель устройства:

MAP ROOT H:=LN312\SYS:PROJECT

PROJECT.EXE

MAP DEL H:

Второй файл выполняет аналогичные функции, но для другой программы (TECH):

MAP ROOT H:=LN312\SYS:TECH

TECH.EXE

MAP DEL H:

Использование комментариев (REMARK)

Для документирования и пояснения команд сценария входа в сеть можно использовать комментарии.

Строки-комментарии должны начинаться или с команды REMARK (сокращенно REM), или с символа “звездочка” (*), или с точки с запятой (;). Например:

REM Назначения указателей устройств

; Настройка принтеров

REMARK Приветствие

* Список пользователей

Включение файлов с командами (INCLUDE)

Для включения в сценарий входа в сеть набора команд, существующего в виде текстового файла, написанного в формате сценария входа, используется команда INCLUDE:

IF MEMBER OF ”STUDENTS” THEN

INCLUDE SYS:USERS\LOG.SCR

END

Пользователь должен иметь, по крайней мере, права Read и File Scan на используемый файл.

Вывод текстовой информации на экран

Для вывода текстовой информации на экран используются команды WRITE, DISPLAY (FDISPLAY). WRITE служит для вывода на экран значений переменных сценария входа в сеть и отдельных строк текста. Если после строки текста или переменной сценария входа в сеть стоит точка с запятой, то следующий вывод на экран будет на той же строке.

Текстовая строка может содержать символы арифметических действий (* / % + -), а также управляющие символы:

\r - возврат каретки;

\n - переход на новую строку;

\” - включение кавычки в строку;

\7 - вывод звукового сигнала.

>>n - сдвиг вправо на n символов;

<<n - сдвиг влево на n символов.

Примеры:

WRITE ”\n\n До истечения срока действия пароля”

WRITE ”осталось \n\n”

WRITE password_expires; ”дней!\n\n”

WRITE ”\7Сегодня пятница.”

WRITE ”Не забудьте подготовить отчет!”

Команда DISPLAY обеспечивает вывод на экран содержимого указанного текстового файла (при наличии у пользователей прав Read и File Scan в отношении этого файла) в процессе выполнения сценария входа в сеть. Если текстовый файл отсутствует, то на экран не будет выведено никакого сообщения. Команда FDISPLAY обычно выводит содержимое файла, фильтруя управляющие символы и отображая только ASCII-символы с номерами до 126 (буквы русского алфавита не выводятся):

DISPLAY SYS:USERS\README.TXT

Исполнение внешних программ (#)

Символ номера (#) позволяет исполнить из сценария входа в сеть произвольную программу (файлы с расширением .EXE или .COM) с соответствующими параметрами, если необходимо. Не рекомендуется использовать (#) для запуска резидентной программы, поскольку в этом случае дополнительно расходуется 30—70 Кбайт оперативной памяти на рабочей станции.

Например:

#USERLIST /A

#CAPTURE L=2 Q=SALE NB NT NFF NOTI

При выполнении внутренних команд DOS или при вызове командных файлов (*.BAT) необходимо загрузить командный процессор с параметром /C:

#COMMAND /C WORK.BAT

#COMMAND /C CLS

После выполнения внешней программы управление передается обратно.

Завершение сценария входа в сеть (EXIT)

Для завершения сценария входа в сеть используется команда EXIT. Все команды, которые следуют за EXIT в сценарии входа в сеть, игнорируются. В качестве параметра команды EXIT можно указать имя программы (файлы с расширениями .EXE, .COM, .BAT), а также внутреннюю команду DOS.

Указанная программа или команда будет автоматически выполнена после выхода из сценария. Передаваемая строка не должна превышать 14 символов. Если команда EXIT используется в системном сценарии, то пользовательские сценарии никогда не будут выполняться.

IF MEMBER OF ”SALES_DEPT” THEN

EXIT ”NMENU MYMENU”

END

IF MEMBER OF ”TRAIN_DEPT” THEN EXIT ”wp.bat”

Использование условий

Нередко набор выполняемых команд определяется некоторыми условиями, например принадлежностью к группе (MEMBER OF GROUP), днем недели и т. п. В этом случае применяется команда IF ... THEN ... ELSE. Разрешается использовать до десяти вложенных одна в другую команд. Синтаксис команды IF ... THEN ... ELSE определяется числом команд, выполняемых при соблюдении условия. Если при соблюдении условия выполняется одна команда, то строка сценария входа в сеть будет иметь следующий вид (на одной строке):

IF условие THEN команда

Команда IF может иметь и другой вид:

IF условие THEN

команды

... (1)

...

ELSE

команды (2)

...

...

END

Здесь, если проверяемое условие истинно, выполняется команда (или блок команд), записанная после служебного слова THEN, в противном случае — команда (или блок команд), записанная после служебного слова ELSE.

В команде IF ... THEN ... можно использовать параметры, указываемые при вводе команды LOGIN. Обращаются к ним с помощью переменных %n, где n - это номер параметра (от 0 до 9), причем значения 0 и 1 соответствуют имени файлового сервера и имени пользователя соответственно (дополнительные параметры начинаются с 2). Для анализа параметров можно использовать в сценарии входа в сеть команду SHIFT.

Например, если для входа в сеть пользователь применил команду

LOGIN LN312/U_01 ACCTG MRKTG

А в сценарии входа в сеть присутствовала строка

IF ”%2” = ”ACCTG” THEN #USERLIST /A

То в результате произойдет вывод на экран списка пользователей, работающих в сети (команда #USERLIST /A).

При проверке условий требуется сравнивать значение переменной сценария входа в сеть с некоторым заданным значением. Для записи отношений можно использовать следующие обозначения:

равенство: IS, =, ==, EQUALS;

неравенство: IS NOT, !=, <>, DOES NOT EQUAL, NOT EQUAL TO;

больше: >, IS GREATER THAN;

меньше: <, IS LESS THAN;

больше или равно: >=, IS GREATER THAN OR EQUAL TO;

меньше или равно: <=, IS LESS THAN OR EQUAL TO.

Условия можно объединять по принципам логического “И” (при помощи служебного слова AND или запятой) и логического “ИЛИ” (служебное слово — OR):

IF DAY_OF_WEEK = ”Friday” AND HOUR24<”12” THEN...

Команда GOTO позволяет перейти к выполнению части сценария входа в сеть.

Команда SHIFT [n] сдвигает все параметры, указанные в командной строке утилиты LOGIN.EXE. Значение n определяет число, на которое сдвигаются параметры командной строки. Параметр n может принимать положительные или отрицательные значения. Знак параметра n задает направление смещения. По умолчанию n равно 1.

Для анализа переменной MRKTG, указанной в рассмотренной выше команде LOGIN LN312/U_01 ACCTG MRKTG, можно предложить два варианта:

1. IF ”%3” = ”ACCTG” THEN...

2. SHIFT

IF ”%2” = ”ACCTG” THEN...

Другие команды, используемые в сценариях входа в сеть

Команда COMSPEC определяет, из какого каталога операционная система должна загружать файл COMMAND.COM.

COMSPEC=S2:COMMAND.COM

Команда DRIVE позволяет перейти на указанное сетевое устройство, которое должно быть предварительно определено командой MAP. По умолчанию переход осуществляется на первое существующее сетевое устройство.

DRIVE U:

DRIVE *1:

Команда FIRE [PHASERS] n [TIMES] применяется для вывода коротких звуковых сигналов. Число сигналов задается параметром n, значение которого может изменяться от 1 до 9.

FIRE PHASERS 2 TIMES

FIRE PHASERS 3

FIRE %NDAY_OF_WEEK

Приостановить выполнение сценария входа в сеть позволяет команда PAUSE, а после нажатия любой клавиши оно будет продолжено. Эта команда дает возможность пользователям прочитать содержимое экрана (например, после выполнения команды DISPLAY).

PAUSE

Удобная замена этой команды для нечитающих по-английски:

WRITE ”Для продолжения - нажмите любую клавишу...” #COMMAND /C PAUSE >NUL

Применение переменных сценария входа в сеть

Для удобства администрирования системы полезно создавать универсальные сценарии входа в сеть, используя в них переменные сценария входа в сеть (identifier variables). Данные переменные могут принимать различные значения, например имя пользователя, применяемое для входа в сеть (LOGIN_NAME), полное имя пользователя (FULL_NAME), время суток (GREETING_TIME) и др. Переменные сценария входа в сеть можно разделить на несколько групп (см. таблицу): условие; дата; время; информация о пользователе; информация о сети; переменные DOS.

Чаще всего переменные сценария входа в сеть используются в сочетании с такими командами, как WRITE, MAP, IF ... THEN. Переменные сценария входа в сеть могут находиться внутри текстовой строки, и в этом случае при их написании применяются прописные буквы, а перед ними должен стоять знак процента (%). Если переменные сценария входа в сеть используются вне текстовой строки, то приведенные ограничения могут не выполняться.

Например:

WRITE ”Good %GREETING_TIME, %FULL_NAME!”

WRITE ”Вы подключились к файловому серверу”

WRITE ”%FILE_SERVER”

WRITE ”Ваш номер соединения”; station

MAP ROOT U:=LN312\SYS:USERS\%LOGIN_NAME

Создание и использование переменных среды DOS ([DOS] SET)

Переменные сценария входа в сеть могут использоваться только внутри сценария входа в сеть. Однако некоторые переменные полезно применять после того, как пользователь вошел в сеть. Например, по идентификационному номеру пользователя и сетевому адресу станции, с которой осуществлен вход, предоставлять возможность работы с при- кладными программами. В этих случаях можно внутри сценария входа в сеть создавать переменные среды DOS и присваивать им значения переменных сценария входа в сеть. В отличие от аналогичной команды DOS присваиваемое значение в этой команде должно заключаться в кавычки.

Например, создаем переменные

USER_NAME, USER_ID, STAT_NUM:

DOS SET USER_NAME=”%LOGIN_NAME”

DOS SET USER_ID=”%USER_ID”

DOS SET STAT_NUM=”%P_STATION”<<4

При использовании в переменных пути доступа к каталогу подкаталоги должны разделяться двумя обратными косыми чертами, например:

DOS SET PROGR=”R:\\APPLIC\\WP\\LEX”

Однажды определенные эти значения можно применять в командных файлах (*.BAT) и других программах: 1 в качестве параметров при вызове прикладной программы, например редактора Word Perfect (который в зависимости от имени пользователя устанавливает требуемую конфигурацию меню и принтеров, а также использует определенные каталоги):

WP /U=%PROG%

WP /U=%USER_NAME%

Переменные DOS необходимо выделять с обеих сторон знаком процента (%); l в качестве имен каталогов. Например, если пользователям необходимо работать в среде MS Windows, имеющей строго определенную конфигурацию, которая зависит от конфигурации рабочей станции (тип монитора, размер оперативной памяти и файла подкачки), можно на файловом сервере создать каталог конфигураций рабочих станций пользователей (при условии сетевого варианта установки MS Windows) SYS:WINDOWS\CONFIG, а внутри этого каталога — подкаталоги для каждой рабочей станции (не забудьте ограничить пользователям права в этом каталоге, достаточно будет прав Read и File Scan). В качестве имени подкаталогов рекомендуется использовать адреса сетевых плат (node address) конкретных рабочих станций (переменная сценария входа в сеть P_STATION). Значение переменной P_STATION, содержащей адрес станции (node address), представляет собой 12-разрядное шестнадцатеричное число. Поскольку в именах подкаталогов не может быть более восьми символов, рекoмендую использовать последние восемь символов (значения переменной P_STATION, так как первые символы обычно определяют фирму-производителя и не различаются для сетевых плат из одной партии).

DOS SET STAT_NUM = ”%P_STATION”<<4

Параметр <<4 позволяет “убрать” первые 4 символа в этой переменной. Затем в прикладных программах можно ссылаться на каталог, определенный переменной STAT_NUM.При использовании переменных DOS не забывайте, что для хранения значений переменных необходимо выделить достаточно памяти (DOS environment) на рабочей станции. В случае сообщений об ошибках при создании переменных необходимо изменить файл CONFIG.SYS на рабочей станции, добавив строку следующего вида:

SHELL= C:\COMMAND.COM /E:512


распечатать статью




  
2 '1996
СОДЕРЖАНИЕ

колонка редактора

• Сладкие сети

локальные сети

• Сценарии входа в сеть

• Высокоскоростные сетевые адаптеры

• Службы NetWare и новые средства разработки приложений

• Cisco и 3Com в одном проекте

• Массивы RAID: емкость и производительность

корпоративные сети

• "Штормящая" сеть

• Суперсерверы широкого пользования

• Catalyst 5000 фирмы Cisco

• Сетевая ловушка, или Платформы управления

• Установка и настройка средств удаленного доступа Windows 95

услуги сетей связи

• Пейджеры

• Беспроводные мосты

приложения клиент-сервер

• Стратегия многопроцессорной обработки

• Доступ к базам данных по низкоскоростным каналам

открытые системы

• Мир TCP/IP. Протоколы UDP и TCP

• Как улучшить Web-страницу?

защита данных

• Руководство по выбору ИБП

• Голосование без обмана

новые продукты

• Семейство BayStack, Цветные струйные принтеры DeskJet 1600C и DeskJet 1600CM, Дисковый массив StorageWorks RAID Array 230 ...



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх