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

Анализ модели информационно-телекоммуникационной системы предприятия. Виды угроз информационной безопасности. Цели и задачи защиты информации на предприятии. Разработка процедур контроля системы управления защитой информации в корпоративной сети.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 30.06.2011
Размер файла 3,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Эффект от внедрения любой задачи может быть социальным, техническим и экономическим.

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

Технический эффект характеризуется быстродействием выполнения определённых операций, увеличением производительности агрегатов, машин, систем и т.д.

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

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

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

Источники формирования исходных данных для расчёта эффективности применения программного средства приведены в таблице 5.1.

Таблица 5.1 - Источники формирования исходных данных для расчёта эффективности применения программного средства

Наименование показателей для расчёта

Базовый вариант

Новый вариант

1

2

3

Предпроизводственные затраты, тыс. руб. (Кп)

-

45,0

Капитальные вложения, тыс. руб. (Кк)

-

55,0

Годовой объём информации, тыс. зн.:

входной (Qвх)

выходной (Qвых)

373

1247

373

1247

Норма выработки при ручной обработке информации, зн. / час (Нвыр, р)

600

-

Норма выработки при подготовке данных на машинный носитель, тыс. зн. / час (Нвыр. а)

-

3

Коэффициент, учитывающий дополнительные затраты времени на логические операции при ручной обработке информации (ГД)

1,15

-

Среднемесячная зарплата пользователя, руб. (Зм)

4500

4500

Коэффициент начисления на заработную плату (W)

1,34

1,34

Коэффициент, учитывающий накладные расходы (Кн)

2

2

Среднемесячный фонд рабочего времени, час (Т)

167,8

167,8

Затраты времени для обработки 1000 знаков и вывод информации с использованием программного средства, час / тыс. зн. (Тз)

-

0,5

Стоимость одного машинного часа работы ПЭВМ, руб. / час (Цмч)

-

35,0

Граничная величина коэффициента эффективности капитальных вложений (Е)

-

0,33

5.3 Расчет прямого эффекта от разработки процедуры безадресного зондирования корпоративной сети

Годовая экономия затрат на обработку информации (С), связанная с внедрением программного средства определяется по формуле:

, (5.1)

где - затраты на подготовку и обработку информации в базовом варианте, тыс. руб.,

- затраты на обработку информации при внедрении программного средства, тыс. руб.

, (5.2)

где , - объём входной и выходной информации, обрабатываемой в базовом варианте соответственно, тыс. зн.;

- стоимость одного часа ручной обработки информации, руб. / час;

- коэффициент, учитывающий дополнительные затраты времени на логические операции при ручной обработке информации;

- норма выработки при ручной работе, зн. /час.

, (5.3)

где - среднемесячная заработная плата пользователя, руб.;

W - коэффициент начисления на заработную плату;

Т - среднемесячный фонд рабочего времени, час;

- коэффициент, учитывающий накладные расходы.

Затраты на обработку информации при использовании внедрённого программного средства () определяются следующим образом:

, (5.4)

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

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

, (5.5)

где - объём входной информации, обрабатываемой с помощью программного средства (новый вариант), тыс. зн.;

- норма выработки пользователя при подготовке и вводе информации в ЭВМ, тыс. зн. /час;

- стоимость одного машинного часа работы ЭВМ, руб.

, (5.6)

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

, (5.7)

где - объём выходной информации, получаемой при использовании программного средства, тыс. зн.;

- среднее время обработки 1000 знаков и вывода информации с использованием программного средства, час/тыс. зн.

Единовременные затраты на создание и внедрение программного средства (К) рассчитываются по формуле:

, (5.8)

где - предпроизводственные затраты, тыс. руб.;

- капитальные вложения, тыс. руб.

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

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

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

, (5.9)

где Е - принятый по предлагаемой выше методике, в зависимости от желаемого срока окупаемости, граничный коэффициент эффективности капитальных вложений.

Срок окупаемости капитальных вложений (Ток) рассчитывается по формуле:

. (5.10)

Расчёт прямого эффекта:

1. Расчет показателя стоимости одного часа ручной обработки информации:

Цр = 4500* 1,34 * 2/167,8 = 71,87руб. /час (5.11)

2. Расчет показателя затрат на подготовку и обработку информации по базовому варианту:

Ср = (373 + 1247) * 71,87 * 1,15/600 = 223,16 тыс. руб. (5.12)

3. Расчет показателя затрат на подготовку информации для реализации функций, автоматизированных в ПС:

Сn = (71,87 +35,00) * 373/3 = 13287,5 руб. (5.13)

4. Расчет показателя затрат машинного времени:

Тм = (373+1247) *0,5 = 810 час. (5.14)

5. Расчет показателя затрат на машинное время для реализации функций, автоматизированных в ПС:

Соб = 810* 35,0 = 28350 руб. (5.15)

6. Расчет показателя затрат на обработку информации при использовании внедренного ПС:

См = 13287,5 + 28350 = 41637,5 руб. (5.16)

7. Расчет показателя прямой экономии затрат на обработку информации:

С = 223000,16 - 41637,5= 181362,66 руб. (5.17)

8. Расчет показателя единовременных затрат на создание и внедрение ПС:

тыс. руб. (5.19)

9. Расчет коэффициента эффективности капитальных вложений:

Ер = 181362,66/100000 ? 1,8 ? 0,33 (5.20)

10. Расчет срока окупаемости капитальных вложений:

Ток = 100000/181362,66 ? 0,55 года (5.21)

Так как расчетный коэффициент эффективности капитальных вложений (Еp) больше нормативного, принимаемого здесь равным 0,33, то внедрение информационной системы является эффективным и целесообразным.

Кроме того, опираясь на коэффициент Ток, можно сделать вывод о том, что капитальные вложения на проект окупятся быстро.

5.4 Выводы

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

2. Рассчитаны следующие технико-экономические показатели разработки процедуры безадресного зондирования корпоративной сети:

– показатель стоимости одного часа ручной обработки информации;

– показатель затрат на обработку информации по базовому варианту;

– показатель затрат на подготовку информации для реализации функций, реализованных в ПС;

– показатель затрат на обработку информации при использовании внедренного ПС;

– коэффициент эффективности капитальных вложений;

– срок окупаемости капитальных вложений.

3. Показано, что затраты на реализацию и внедрение могут быть окуплены спустя 0,55 года.

Заключение

В ходе выполнения дипломной работы рассмотрено предприятие ООО "РЭАЦ "Эксперт", его технико-экономическая структура и информационно-телекоммуникационная система. Выделены основные виды информационных ресурсов, циркулирующих в рамках предприятия.

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

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

Проанализирована система управления ИС предприятия, вследствие чего разработана система управления защитой информации и подсистема контроля системы управления ЗИ.

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

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

Рассмотрены и проанализированы такие показатели, влияющие на зондирующий поток, как:

- доступность;

- односторонние задержки и уровень потерь;

- двусторонние задержки и уровень потерь;

- перемешивание пакетов;

- скорость передачи данных;

- пропускная способность.

Учитывая приведенные показатели была разработана процедура оптимального сбора информации, в котором учитывается интервал времени между зондированием. С увеличением нагрузки на сеть период зондирования увеличивается, со снижением нагрузки период уменьшается. Таким образом, в ИВС поддерживается оптимальный уровень нагрузки.

Разработка велась на основе сети предприятия ООО "РЭАЦ "Эксперт".

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

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

Список использованных источников

1. Российская Федерация. Законы. Об информации, информационных технологиях и о защите информации [Текст]: федер. закон: [принят Гос. Думой 8 июля 2006 г.: одобр. Советом Федерации 14 июля 2006 г.]. - М.: Омега-Л, 2007. - 24 с. - 500 экз. - ISBN 5-370-00202-9, 978-5-370-00202-1.

2. Руководящий документ Гостехкомиссии при Президенте России "Концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации" [Текст].

3. ГОСТ 12.1.004-1999 ССБТ. Пожарная безопасность. Общие требования [Текст] - Взамен ГОСТ 12.1.004-91; Введ. 1999-01-01. - М.: Изд-во стандартов, 1999. - 19 с.

4. ГОСТ 12.1.005-2001 ССБТ. Общие санитарно-гигиенические требования к воздуху санитарной зоны [Текст] - Взамен ГОСТ 12.1.005-88; Введ. 2001-01-01. - М.: Изд-во стандартов, 2001. - 16 с.

5. ГОСТ 12.1.010-1999 ССБТ. Взрывобезопасность. Общие требования [Текст] - Взамен ГОСТ 12.1.010-76; Введ. 1999-01-01. - М.: Изд-во стандартов, 1999. - 17 с.

6. ГОСТ 12.1.044-2001 ССБТ. Пожаровзрывоопасность веществ и материалов. Номенклатура показателей и методы их определения [Текст] - Взамен ГОСТ 12.1.044-89; Введ. 2001-01-01. - М.: Изд-во стандартов, 2001. - 17 с.

7. НПБ 105-95. Определение категорий помещений и зданий по взрывопожарной и пожарной опасности [Текст].

8. СанПиН 2.2.2/2.4.1340-03. Гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы [Текст].

9. ТОИ Р 01-00-01-96. Типовая инструкция по охране труда для операторов и пользователей персональных электронно-вычислительных машин (ПЭВМ) и работников, занятых эксплуатацией ПЭВМ и видеодисплейных терминалов (ВДТ) [Текст].

10. 25. Андрончик А.Н. Защита информации в компьютерных сетях практический курс [Текст]: учебное пособие/ А.Н. Андрончик. - Екатеринбург: УГТИ-УПИ, 2008. - 248 с.: с ил. - ISBN 978-5-321-01219-2.

11. Бизли, Д. Pyton. Подробный справочник [Текст]: [пер. с англ.] / Дэвид Бэлиз. - М.: Символ-Плюс, 2010. - 864 с.: ил. - 1200 экз. - ISBN 978-5-93286-157-8.

12. Биячуев, Т.А. Безопасность корпоративных сетей [Текст]: учебное пособие / Т.А. Биячуев. - СПб.: СПб ГУ ИТМО, 2004. - 161 с.: ил. - 100 экз. - ISBN 5-469-00394-9.

13. Жиганов, Е.Д. Передача данных в компьютерных сетях [Текст]: учебное пособие / Е.Д. Жиганов. - Петразаводск.: ПетрГУ, 2007. - 156 с.: ил. - 1000 экз. - ISBN 978-5-8021-0632-7.

14. Игнатьев, В.А. Информационная безопасность современного коммерческого предприятия [Текст] / В.А. Игнатьев. - Старый Оскол: ТНТ, 2005. - 448 с.: ил. - 200 экз. - ISBN 5-94178-070-2.

15. Кулыгин, М. Практика построения компьютерных сетей. Для профессионалов [Текст] / М. Кулыгин. - СПб.: Питер, 2004. - 320 с.: с ил. - 5000 экз. - ISBN 5-272-00351-9.

16. Мельников, В.П. Информационная безопасность и защита информации [Текст] / В.П. Мельников, С.А. Клейменов. - М.: Издательский центр "Академия", 2008. - 336 с.: ил. - 300 экз. - ISBN 5-26718-030-2.

17. Романец, Ю.В. Защита информации в компьютерных системах и сетях [Текст] / Ю.В. Романец - М.: Радио и связь, 2006. - 376 с.: ил. - 3000 экз. - ISBN 5-256-01518-4.

18. Садердинов, А.А. Информационная безопасность предприятия [Текст] / А.А. Садердинов. - М.: "Дашков и К", 2005. - 336 с.: ил. - 2000 экз. - ISBN 5-3626-430-2.

19. Скрипкин, К.Г. Экономическая эффективность информационных систем [Текст] / К.Г. Скрипкин. - М.: ДМК Пресс, 2006. - 256 с.: ил. - 3000 экз. - ISBN 5-94074-180-0.

20. Соколов, А.В. Защита информации в распределенных корпоративных сетях и системах [Текст] / А.В. Соколов - М.: ДМК Пресс, 2004. - 656 с.: ил. - 2000 экз. - ISBN 5-94074-172-Х.

21. Уилсон, Э. Мониторинг и анализ сетей. Методы выявления неисправностей [Текст]: [пер. с англ.] / Эд Уилсон. - М.: ЛОРИ, 2006. - 350 с.: с ил. - 3200 экз. - ISBN 5-85582-163-3.

22. Хорев, П.Б. Методы и средства защиты информации в компьютерных системах [Текст] / П.Б. Хорев - М.: Академия, 2008. - 256 с.: ил. - 2000 экз. - ISBN 978-7695-5118-5.

23. Чипига, А.Ф. Информационная безопасность автоматизированных систем [Текст]: учеб. пособие для студентов вузов, обучающихся по специальностям в обл. информ. безопасности / А.Ф. Чипига. - М.: Гелиос АРМ, 2010. - 336 с.: ил. - 500 экз. - ISBN 978-5-85438-183-3.

24. Шаньгин, В.Ф. Информационная безопасность компьютерных систем и сетей [Текст]: учеб. пособие / В.Ф. Шаньгин. - М.: "ФОРУМ": ИНФРА-М, 2008. - 416 с.: ил. - 300 экз. - ISBN 5-9371-786-2.

25. Ярочкин, В.И. Информационная безопасность [Текст]: учебник для студентов вузов / В.И. Ярочкин. - М.: Академический Проект, 2008. - 544 с.: ил. - 800 экз. - ISBN 5-8473-837-9.

Приложение А

Компонент-менеджер для анализа сбора данных на сервере мониторинга

from mod_python import apache, util;

def index (req):

req. content_type = "text/html"

text_str = []

req. add_common_vars ()

if req. form. has_key ('host_name'):

timestamp = req. form ['timestamp']

text_str. append (" ["+timestamp+"] PROCESS_SERVICE_CHECK_RESULT")

req. write ("\n timestamp = "+ timestamp)

host_name = req. form ['host_name']

text_str. append (host_name)

req. write ("\n host_name = "+ host_name)

description = req. form ['description']

text_str. append (description)

req. write ("\n description = "+ description)

return_code = req. form ['return_code']

text_str. append (return_code)

req. write ("\n return_code = "+ return_code)

plugin_output = req. form ['plugin_output']

text_str. append (plugin_output)

req. write ("\n plugin_output = "+ plugin_output)

text = '; '. join (text_str)

file = open ('/usr/share/nagios/hdtp/hosts/'+host_name, 'a+')

file. write ("\n"+text)

file. close ()

Компонент-агент для сбора данных на наблюдаемом сервере

#! /usr/bin/python

# - * - coding: utf-8 - *-

import os

import sys

import urllib

import re

import time

import datetime

import subprocess

class dataTransferPlugin:

def __init__ (self):

self. _nagios_server=

self. _nagios_plugins_dir=

self. _host_name=

self. _method =

_config = self. getConfig ()

self. letsStart (_config)

def makeCheckCommand (self,data = None):

if data:

scriptResult = []

_scriptResult = subprocess. Popen (self. _nagios_plugins_dir+"/"+data + "; echo ' >'$?", shell=True,stdout=_scriptResult = _scriptResult.communicate () [0]

_scriptResult = _scriptResult. replace ("\n",)

plugin_output = re. search (ur" [\W|\D|\w|\d] * (?! =>)",_scriptResult)

if str (plugin_output)! = 'None':

scriptResult. append (plugin_output. group ())

plugin_output = re. search (ur" (? <= >) [\d] {1}",_scriptResult)

if str (plugin_output)! = 'None':

scriptResult. append (plugin_output. group ())

return scriptResult

def killPid (self,data = None):

if data:

scriptResult = os. popen ("kill - 9 "+str (data)). read ()

return scriptResult

def dataTransfer (self,command,command_name,method = 'GET'):

scriptResult = self. makeCheckCommand (command)

if method. upper () == 'GET':

self. httpGETRequest (scriptResult,command_name)

if method. upper () == 'POST':

self. httpPOSTRequest (scriptResult,command_name)

def httpGETRequest (self,data = None,data_name = None):

if data! = None:

description =;

if data! = None:

description = data_name

timestamp = time. strftime ("%s", time. localtime ())

print "GET: ["+str (timestamp) +"]; "+ self. _host_name+"; "+description+"; "+data [1] +"; "+data [0]

params = urllib. urlencode ({'timestamp': timestamp,'host_name': self. _host_name,

'description': description,'return_code': data [1],'plugin_output': data [0] })

f = urllib. urlopen (self. _nagios_server+"%s" % params)

f. close ()

def httpPOSTRequest (self,data = None):

if data! = None:

description =;

if data! = None:

description = data_name

timestamp = time. strftime ("%s", time. localtime ())

print "POST: ["+str (timestamp) +"]; "+ self. _host_name+"; "+description+"; "+data [1] +"; "+data [0]

params = urllib. urlencode ({'timestamp': timestamp,'host_name': self. _host_name,

'description': description,'return_code': data [1],'plugin_output': data [0] })

f = urllib. urlopen (self. _nagios_server, params)

f. close ()

def delSpecSymbols (self,data):

replace_this = re.compile (r" [\n|\t] +")

clearData = replace_this. sub ("",data)

return clearData. strip ()

def getConfig (self):

f = open (r'/etc/hdtp/hdtp. conf')

number = 0

index = {}

line = f. readlines ()

for l in line:

search_host_name = re. search (ur" (? <=host_name) * [\D|\d|\.] *",l)

if str (search_host_name)! = 'None':

host_name = self. delSpecSymbols (search_host_name. group ())

self. _host_name = host_name

continue

search_nagios_server = re. search (ur" (? <=nagios_server) *http://[\D|\d] *",l)

if str (search_nagios_server)! = 'None':

nagios_server = self. delSpecSymbols (search_nagios_server. group ())

self. _nagios_server = nagios_server

continue

search_nagios_plugins_dir = re. search (ur" (? <=nagios_plugins_dir) * [\D|\d] *",l)

if str (search_nagios_plugins_dir)! = 'None':

nagios_plugins_dir = self. delSpecSymbols (search_nagios_plugins_dir. group ())

self. _nagios_plugins_dir = nagios_plugins_dir

continue

search_lifetime = re. search (ur" (? <=lifetime) *\d*",l)

if str (search_lifetime)! = 'None':

lifetime_data = self. delSpecSymbols (search_lifetime. group ())

self. _max_command_lifetime = lifetime_data

continue

search_comment = re. search (ur" (? <=#) \D*",l)

if str (search_comment)! = 'None':

continue

search_method = re. search (ur" (? <=method) *\D{3,5}",l)

if str (search_method)! = 'None':

method_data = self. delSpecSymbols (search_method. group ())

self. _method = method_data

continue

search_command_name = re. search (ur" (? <=description) [|a-zA-Z|0-9] * (? =command)",l)

if str (search_command_name)! = 'None':

command_data_name = self. delSpecSymbols (search_command_name. group ())

number+=1

index [number] ={}

index [number] ['name'] = command_data_name

search_command = re. search (ur" (? <=command) [|\D|0-9] *",l)

if str (search_command)! = 'None':

command_data = self. delSpecSymbols (search_command. group ())

index [number] ['command'] = command_data

continue

f. close ()

return index

def letsStart (self,config = {}):

pid = {}

for line in config:

pid [line] = os. fork ()

if pid [line]:

pass

else:

result = self. dataTransfer (config [line] ['command'],config [line] ['name'],self. _method)

sys. exit (0)

time. sleep (float (self. _max_command_lifetime))

for i in pid:

os. kill (pid [i],

9)

sys. exit (0)

plugin = dataTransferPlugin ()

Инструмент для быстрого добавления новых серверов в систему мониторинга

#hdtp-hosts

#ym - c add-host - o photo. auditory.ru - p use=linux-server - p contact_groups=admins

#ym - c add-service - o PING - d www.auditory.ru - p use=generic-service - p check_command=check_ping

DIR='/var/nagios/hdtp/'

NAGIOS_ETC_DIR='/etc/nagios'

HOSTS_CFG='${NAGIOS_ETC_DIR}/objects/hosts. cfg'

CACHE='/var/hdtp-search/new-hosts. cache'

mkdir - p /var/hdtp-search/

function save2cache {

addhost=`echo "ym - c add-host - o $1 - p use=linux-server - p contact_groups=admins"`

echo $addhost;

echo $addhost >> $CACHE

echo "$2" | while read service; do

addservice=`echo "ym - c add-service - o $service - d $1 - p use=generic-service - p check_command=check_nodata"`

echo $addservice; echo $addservice >> $CACHE

done

}

function check_new {

ls $DIR | while read host; do

check_exist=`grep $host $HOSTS_CFG| wc - l`

if ["$host"! = "cmd_file"] && [$check_exist == 0]; then

host_data=`cat $DIR$host | awk - F "; " '{

srv_list [$3] = $3;

} END {

for (name in srv_list)

if (srv_list [name]! ="") print srv_list [name];

}'`

save2cache $host "$host_data"

fi

done

}

check_new

read - n1 - p "Do you want make all cmd [Y|N]?"

echo ""

case $REPLY in

n | N)

echo "You didn't want to proceed. "

;;

y | Y)

echo "Start make. "

#/bin/bash $CACHE

cat $CACHE

;;

esac

rm $CACHE

exit 0

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.