Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БОС1 / БОС_ЛР_5

.pdf
Скачиваний:
5
Добавлен:
03.05.2025
Размер:
570.64 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-

вычислительных систем (КИБЭВС)

АДМИНИСТРИРОВАНИЕ ASTRA LINUX

Отчет по лабораторной работе №5

по дисциплине «Безопасность операционных систем»

Выполнил: Студент гр. 712-1

_______ Будаев А.Г.

_______

Руководитель:

Преподаватель кафедры КИБЭВС

_______ _______ Вовченко А.В.

_______

Томск 2024

Введение

В лабораторной работе будут изучены процессы в Linux:

Общие понятия о программах, процессах и потоках выполнения

Жизненный цикл процесса

Виды межпроцессного взаимодействия

Настройка доступа к общим библиотекам

Мониторинг процессов

Управление приоритетом процесса

Сигналы

Управление заданиями

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

Подготовка к созданию учетных записей

База данных локальных учетных записей

Команды и графические утилиты для создания, изменения и удаления учетных записей

Управление паролями

Настройка окружения пользователя

Управление аутентификацией и авторизацией с помощью PAM

2

1 ПРОЦЕССЫ В LINUX

Для того чтобы посчитать количество процессов, имеющих несколько потоков выполнения можем воспользоваться командой ps -eLf | grep -v '^ *1 ' | wc -l (рис. 1.1), она выводит все процессы с их потоками выполнения, затем фильтрует только те строки, где количество потоков выполнения больше 1, и

подсчитывает количество таких строк с помощью wc -l.

Рисунок 1.1 – Количество процессов, имеющих несколько потоков

Теперь откроем top и перейдем в меню настроек нажав F (рис. 1.2),

внесем изменения (рис. 1.3).

Рисунок 1.2 – Окно конфигурации top

Рисунок 1.3 – Измененный top 3

Откроем новое окно терминала и введем команду passwd (рис. 1.4).

Рисунок 1.4 – Новое окно терминала

Выведем все процессы, для которых реальным пользователем является пользователь, которым мы вошли в сеанс «u» (рис. 1.5).

Рисунок 1.5 – Процессы нашего пользователя

Найдем процесс passwd, нажмём O и введем COMMAND=passwd (рис.

1.6)

Рисунок 1.6 – Процесс passwd

Отправим этому процессу сигналы 15 (SIGTERM), 2 (SIGINT), 3 (SIGQUIT), 9(SIGKILL) (рис. 1.7).

4

SIGTERM (15) — это аналог SIGINT (2). Если у процесса нет управляющего терминала, то отправить ему клавиатурный сигнал не получится, поэтому используется этот сигнал.

SIGINT (2) — клавиатурный сигнал, срабатывает когда мы нажимаем

Ctrl+c. Это штатное завершение, то есть процесс будет завершён корректно

(если процесс вообще умеет завершаться корректно).

SIGQUIT (3) — клавиатурный сигнал, срабатывает когда мы нажимаем

Ctrl+\. Аварийное завершение с выдачей отладочной информации.

SIGKILL (9) — этот сигнал сразу завершает процесс (некорректно). И

это поведение нельзя изменить, то есть программист не может сам указать программе, что делать в случае получения этого сигнала.

Рисунок 1.7 – Отправленные сигналы

Зайдем в текстовый редактор vim, выполнив команду vim ~/file.txt (рис.

1.8).

Рисунок 1.8 – Работа с текстовым редактором vim

5

Выполним команду sleep 600, нажмите Ctrl-Z и выполните команду jobs (рис. 1.9). Отправим последнее задание в фоновый режим командой bg (рис. 1.10).

Рисунок 1.9 – Команда sleep

Рисунок 1.10 – Последняя команда была отправлена в фоновый режим

Изменим число NICE у задания (sleep 600), сделав его равным 10.

Проверим, что число NICE у этого задания изменилось (рис. 1.11).

Рисунок 1.11 – Изменение значения NICE у процесса

Сделаем процесс vim фоновым (рис. 1.12).

Рисунок 1.12 – Vim в фоне

6

Отправим сигнал 15 (SIGTERM) заданию sleep 600 и выполните команду jobs (рис 1.13).

Рисунок 1.13 – Сигнал 15

Создадим перехватчик сигналов SIGINT и SIGQUIT внутри командного интерпретатора, который выводит сообщение «Сигнал заблокирован» (рис.

1.14). Команда устанавливает обработчик сигнала для SIGINT (Ctrl+C) и SIGQUIT (Ctrl+), который будет выводить сообщение "Сигнал заблокирован",

когда соответствующий сигнал будет получен.

Рисунок 1.15 – Перехватчик сигналов

7

2 ОСНОВЫ РАБОТЫ В КОМАНДНОЙ СТРОКЕ OC ASTRA LINUX

С помощью команд useradd, groupadd, passwd создайте учетную запись

user1 со следующими параметрами (рис. 2.1):

UID - 1500;

основная (первичная) группа user1 (GID 1500);

дополнительная группа - video;

домашний каталог должен быть создан;

входной командный интерпретатор - /bin/bash;

задать пароль по своему усмотрению;

время действия пароля - 60 дней;

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

Рисунок 2.1 – Создание новой учётной записи пользователя

Проверим, что атрибуты учетной записи и параметры пароля установлены верно (воспользуйтесь командами id и chage), зайдите в систему,

используя созданную учетную запись пользователя (рис. 2.2 – 2.4).

8

Рисунок 2.2 – Проверка id пользователя

Рисунок 2.3 – Параметры пароля пользователя

Рисунок 2.4 – Авторизация под новым пользователем

С помощью утилит adduser и addgroup добавим учетную запись user2 со следующими параметрами:

UID - 2000;

основная группа user2 (GID 2000);

дополнительная группа users;

GECOS: полное имяПользователь 2, номер комнаты - 111,

рабочий телефон 111-111, остальные поля пустые;

— зададим пароль по своему усмотрению. В файле /etc/adduser.conf

установить параметр (чтобы не добавлялись вторичные группы,

указанные в параметре EXTRA_GROUPS) (рис. 2.5). 9

Рисунок 2.5 – Добавления второго пользователя

Проверим, что учетная запись создана согласно требованиям из предыдущего пункта (используйте команду lslogins) и зайдем в систему под учетной записью user2 (рис. 2.6).

Рисунок 2.6 – Вывод lslogins

Изменим обои у новых пользователей (рис. 2.7 – 2.8).

10

Соседние файлы в папке БОС1