Локальные сети персональных компьютеров. Работа с сервером Novell NetWare



                  

  

BYTE SecurityAccessLevel; long ObjectID; char



Листинг 26

Программа для просмотра уровня // доступа рабочей станции // Файл baccess\baccess.cpp // // (C) A. Frolov, 1993 // =================================================== #include <stdlib.h>
#include <stdio.h>
#define WORD unsigned int #define BYTE unsigned char extern "C" int GetNetWareShellVersion(char *,char *, char *);
extern "C" int GetBinderyAccessLevel(BYTE *, long *);
extern "C" int GetBinderyObjectName(long, char*, WORD*);
void main(void) { char MajorVersion=0; char MinorVersion=0; char Revision=0; int ccode; BYTE SecurityAccessLevel; long ObjectID; char ObjectName[48]; WORD ObjectType; printf("\n*BACCESS* (C) Frolov A., 1993\n");
// Проверяем присутствие сетевой оболочки asm push si GetNetWareShellVersion(&MajorVersion, &MinorVersion, &Revision);
asm pop si if(MajorVersion == 0) { printf("\nОболочка NetWare не загружена\n");
return; } // Получаем свой идентификатор и уровень доступа GetBinderyAccessLevel(&SecurityAccessLevel, &ObjectID);
// По идентификатору определяем свое имя ccode = GetBinderyObjectName(ObjectID, ObjectName, &ObjectType);
// Если пользователь подключился к файл-серверу, // выводим его имя, идентификатор и тип if(!ccode) { printf("Пользователь %s, ID = %lX, Type = %d\n", ObjectName, ObjectID, ObjectType);
} // Выводим права доступа на чтение printf("Права доступа на чтение:\t");
switch(SecurityAccessLevel & 0x0f) { case 0: printf("Anyone\t(не подключен к файл-серверу)\n");
break; case 1: printf("Logged\t(подключен к файл-серверу)\n");
break; case 2: printf("Object\t(подключен к файл-серверу " "с именем и паролем)\n");
break; case 3: printf("Supervisor\t(права супервизора)\n");
break; case 4: printf("NetWare\t(права Novell NetWare)\n");
break; } // Выводим права доступа на запись printf("Права доступа на запись:\t");
switch((SecurityAccessLevel >
>
4) & 0x0f) { case 0: printf("Anyone\t(не подключен к файл-серверу)\n");
break; case 1: printf("Logged\t(подключен к файл-серверу)\n");
break; case 2: printf("Object\t(подключен к файл-серверу " "с именем и паролем)\n");
break; case 3: printf("Supervisor\t(права супервизора)\n");
break; case 4: printf("NetWare\t(права Novell NetWare)\n");
break; } }

Содержание  Назад  Вперед