Помощь в написании студенческих работ
Антистрессовый сервис

Разработка алгоритма программы

РефератПомощь в написанииУзнать стоимостьмоей работы

Содержимое данного файла сравнивается с полученным результатом запроса, в случае появления новых каталогов, производится добавление в файл списка каталогов. Далее осуществляется запрос к АD, для получения списка пользователей и групп. После этого производится сопоставление каталогов и пользователей. Результат сопоставления записывается в отдельный файл. Используя результаты сопоставления… Читать ещё >

Разработка алгоритма программы (реферат, курсовая, диплом, контрольная)

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

  • 1. Установка прав доступа на каталоги, в которых располагаются ресурсы.
  • 2. Проверка появления новых каталогов, по расписанию, в данном случае речь идет о каталогах сотрудников.
  • 3. Динамическое получение пользователей и групп из АD, так как аутентификация пользователей происходит через АD.

В соответствии с функциями был разработан алгоритм программного средства управления доступом, который представлен на рисунке 3.5.

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

Алгоритм программного средства назначения прав доступа.

Рисунок 3.5 — Алгоритм программного средства назначения прав доступа.

Содержимое данного файла сравнивается с полученным результатом запроса, в случае появления новых каталогов, производится добавление в файл списка каталогов. Далее осуществляется запрос к АD, для получения списка пользователей и групп. После этого производится сопоставление каталогов и пользователей. Результат сопоставления записывается в отдельный файл. Используя результаты сопоставления, записанные в отдельный файл, производится редактирование списков АСL.

Процесс сопоставления прав пользователям и группам осуществляется согласно модели разграничения прав доступа. Алгоритм данного процесса представлен на рисунке 3.6.

Сначала производится загрузка полученных списков групп «k» и пользователей «l». Таким образом, что каждому пользователь «l» входи в группу «k», т. е. записывается в виде массива:

группа1; пользователь 1;

группа1; пользователь 2;

группа1; пользователь n-1;

группа2; пользователь n;

группа2; пользователь n+1;

группа m; пользователь x.

Потом среди пользователей определяется администратор, имя этого пользователя записывается в отдельную переменную «о», и так же переменной «р» присваивается права доступа «f», что определяет этому пользователю полный доступ на все ресурсы сервера.

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

группа1; пользователь 1; администратор; «f» ;

группа1; пользователь 2; администратор; «f» ;

группа1; пользователь n-1; администратор; «f» ;

группа2; пользователь n; администратор; «f» ;

группа2; пользователь n+1; администратор; «f» ;

группа m; пользователь x; администратор; «f» ;

Алгоритм разграничения прав доступа.

Рисунок 3.6 — Алгоритм разграничения прав доступа.

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

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

группа1; пользователь 1; путь 1; администратор; «f»;

группа1; пользователь 2; путь 2; администратор; «f»;

группа1; пользователь n-1; путь n-1; администратор; «f»;

группа2; пользователь n; путь n; администратор; «f»;

группа2; пользователь n+1; путь n+1; администратор; «f»;

группа m; пользователь x; путь x; администратор; «f»;

Затем пути разбиваются на уровни вложенности каталогов: Х:/а/b/c/…

Каждому уровню вложенности соответствует права на доступ для конкретной группы, т. е. в рассматриваемом предприятии существует 3 группы: директор, начальник отдела, сотрудник (рисунок 3.2). В зависимости от этого пользователь, состоящий в определенной группе, имеет ряд прав на собственный каталог и другие каталоги, не принадлежащие ему, конечно кроме пользователей являющимися рядовыми сотрудниками. Соответственно независимо от прав на свой каталог, две первые группы имеют права на каталоги, уровни, вложенности которых соответствуют их группе, т. е. у первой группы есть права на каталоги уровень вложенности которых равен «а», и все каталоги ниже этого уровня, второй группе «b» и все каталоги ниже, но в зависимости от отдела. Для начальника все просто, пользователь являющийся начальником имеет права на корневой каталог, а вот для начальников отдела не все так просто, в их полномочия должны входить права на каталоги принадлежащие отделу, начальником которого является пользователь. поэтому производится дополнительная выборка каталогов, на которые имеют права доступа пользователи состоящие в группе начальники отдела. Для этого из пути принадлежащего пользователю, предварительно разбитого на уровни вложенности, в переменную «х» записывается значение уровня вложенности «b» и производится поиск вхождения «х» в список всех каталогов. Теперь известны пути к каталогам, которые находятся в юрисдикции начальников отделов. Осталось только дописать эти пути в массив, путем добавления новой строки в массив и еще дописать соответствующие права доступа для групп:

группа1; пользователь 1; каталог 1; права 1; администратор; «f»;

группа2; пользователь 2; каталог 1; права 2; администратор; «f»;

группа2; пользователь 2; каталог 2; права 2; администратор; «f»;

группа2; пользователь 3; каталог 3; права 2; администратор; «f»;

группа2; пользователь n-1; каталог n-1; права 2; администратор; «f»;

группа2; пользователь n; каталог n; права 2; администратор; «f»;

группа2; пользователь n+1; каталог n+1; права 2; администратор; «f»;

группа 3; пользователь x; каталог x; права 3; администратор; «f»;

Теперь сопоставив пользователей, каталоги, и права пользователей на каталоги, можно приступать к применению прав доступа. Для этого используется алгоритм применения прав доступа, представленный на рисунке 3.7.

Применение прав осуществляется с помощью программы сасls.exe. данная программа встроена в ОС MicrosoftWindows. Синтаксис данной программы имеет следующий вид: caclsимя_файла [/t] [/e] [/c] [/g пользователь: разрешение] [/r пользователь […]] [/p пользователь: разрешение […]] [/d пользователь […]].

Ниже представлены параметры программного средства.

имя_файла — обязательный параметр. Вывод избирательных таблиц управления доступом (DACL) указанных файлов.

/t — изменение избирательных таблиц контроля доступа (DACL) указанных файлов в текущем каталоге и всех подкаталогах.

/e — редактирование избирательной таблицы управления доступом (ACL) вместо ее замены.

/c — продолжение внесения изменений в избирательные таблицы управления доступом (ACL) с игнорированием ошибок.

/gпользователь: разрешение — предоставление прав доступа указанному пользователю.

Алгоритм применения прав пользователям.

Рисунок 3.7 — Алгоритм применения прав пользователям.

Если пользователи являются доменными пользователями, то необходимо указать домен, в котором состоит пользователь. Для этого параметр пользователь записывается в виде: домен/пользователей.

Показать весь текст
Заполнить форму текущей работой