Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bosy.docx
Скачиваний:
45
Добавлен:
24.06.2017
Размер:
3.14 Mб
Скачать

7. Субъекты и объекты доступа в ос. Взаимод-е процессов в ос Linux. Механизм сигналов. Реакция на получение сигнала. Игнорир-е и перехват сигналов.

Упр-е доступом – огр-е или искл-е несанкционир. доступа к инф-ции и программным средствам. Объект системы – Ɐ её идентифицируемый ресурс (напр, файл / устройство). Доступ к объекту системы – некоторая заданная в ней операция над этим объектом (чтение / запись). Субъект доступа – Ɐ сущность, способная инициировать выполн-е операций над эл-тами ОС (польз-ли, процессы). Процесс – программа, выполняющаяся в операт. памяти компьютера. Сигнал – асинхронное уведомление процесса о каком-либо событии с терминала, нажатием спец. клавиш или комбинаций. Сигнал м.б. послан ядром системы (при возникн-и аппаратных искл-й, ошибочных системных вызовах, для информирования о событиях ввода-вывода), одним процессом другому (или самому себе), с помощью системного вызова kill(), в т.ч. из шелла, утилитой kill. kill [-SIG] PID [PID..]

SIG – номер сигнала или наименование сигнала. PID – process ID.

Некоторые виды сигналов:

Номер сигнала

Наименование сигнала (SIG) для kill

Что делает

3

SIGQUIT

Keyboard quit

9

SIGKILL

Убить процесс полностью

15

SIGTERM

М.б. обработан

18

SIGCONT

Продолжить

19

SIGSTOP

Не м.б. заблокирован

Чтобы посмотерь все возможные сигналы в консоли: kill -l

Каждый польз-ль может использовать kill для своих процессов, root – для всех.

Варианты реакции процесса на сигнал:

  1. Принудительно проигнорировать сигнал.

  2. Произвести обработку по умолчанию:

    1. проигнорировать,

  1. остановить процесс: перевести в состояние ожидания до получения др. спец. сигнала

  2. завершить работу с образованием core файла или без него.

  1. Выполнить обработку сигнала, специфицированную польз-лем.

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

Игнорирование сигналов. В заголовочном файле <signal.h> определены 2 константы: SIG_DFL означает выполнение действий по умолчанию – в большинстве случаев – окончание процесса, а SIG_IGN – означает игнорировать сигнал. В программе можно определить signal(SIGINT, SIG_IGN); Если теперь нажать на комбинацию клавиш CTRL+C, ничего не произойдет, так как сигнал SIGINT игнорируется.

Перехват сигналов. Сигнал перехватывается, если установлено правило перехвата с помощью команды trap, которая опр-ет действия (команды) при перехвате сигналов.

trap [COMMANDS] [SIGNALS]

command– что именно необходимо выполнить при перехвате сигнала; signals– список сигналов, которые необходимо перехватывать. Сигналы можно указывать как в полном виде –SIGTERM, так и в виде кода – 1, 2 и т.д.

Пример: trap 'echo "Exit"; exit 1' 1 2 3 15

Когда во время ожидания завершения команды Bash принимает сигнал, для которого была установлена команда trap, команда trap не будет выполняться до завершения исполняемой команды. Когда Bash с помощью встроенной команды wait ожидает выполнение асинхронной команды, прием сигнала, для которого была задана команда trap, вызовет немедленный выход из встроенной команды wait с кодом возврата, большим 128, а затем сразу будет выполнена команда trap.

8.Упр-е доступом польз-лей к файлам в ОС Linux. 3 категории польз-лей. Суперпольз-ль root. Назначение владельца файла и группы-владельца файла при создании файла. Изменение владельца файла и группы-владельца файла.

Каждый польз-ль в системе имеет свой уникальный ID (user-ID, или UID). Также польз-ли могут объединяться в группы, которые в свою очередь имеют group-ID, или GID. Чтобы узнать свой UID и GID, необходимо ввести команду id.

  • каждого файла есть индивидуальные права доступа, хранящиеся в inode, которые разбиты на 3 группы: Доступ для польз-ля-владельца файла (owner); Доступ для группы-владельца файла (group); Доступ для остальных польз-лей (others).

$ ls –l

drwxr-xr-x 6 hp hp 4096 апр 24 19:52 vm

root – суперпольз-ль системы (польз-ль с идентификатором0). Это польз-ль обладает наивысшими привилегиями в ОС.

  • индексном дескрипторе (inode) каждого файла записаны имя владельца файла и группы, которая имеет права на этот файл. При создании файла его владельцем объявляется тот польз-ль, от чьего имени запущен процесс, создающий файл. Группа назначается – по идентификатору группы процесса, создающего файл.

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

chown польз-ль[:группа] файл…

chgrp группа файл… (меняет только группу)

Например: chown root foofile

Теперь файл foofile принадлежит к польз-лю root

chown : admins foofile

Теперь файл foofile принадлежит к группе admins

Чтобы изменить польз-ля или польз-ля и группу для всей директории исп-ся флаг -R (для chgrp также)

chown - R student foodir

Теперь папка foodir и файлы в ней принадлежат польз-лю student.

Важно! Только root может менять владельца файла! Группу владельца файла может также изменять и сам владелец файла.

Соседние файлы в предмете Безопасность операционных систем