Главная страница

ЛАБОРАТОРНЫЕ РАБОТЫ ОС (Для допуска необходимо сделать 1 или 6 л. Практикум по дисциплине Операционные системы (ОС). Цели лабораторных занятий это формирование у будущих бакалавров направлений подготовки 09. 03. 01


Скачать 2.71 Mb.
НазваниеПрактикум по дисциплине Операционные системы (ОС). Цели лабораторных занятий это формирование у будущих бакалавров направлений подготовки 09. 03. 01
Дата15.10.2022
Размер2.71 Mb.
Формат файлаpdf
Имя файлаЛАБОРАТОРНЫЕ РАБОТЫ ОС (Для допуска необходимо сделать 1 или 6 л.pdf
ТипПрактикум
#735270
страница14 из 21
1   ...   10   11   12   13   14   15   16   17   ...   21
1.3 Информация об аппаратном обеспечении
Кроме каталогов, связанных с различными процессами, в /ргос также содержится значительный объём информации об аппаратном обеспечении ПК.
Список файлов каталога /рrос, полученный с помощью команды ls -d [a- z]* выглядит следующим образом: acpi asound buddyinfo bus cmdline cpuinfo crypto devices diskstats dma driver execdomains fb filesystems fs ide interrupts iomem ioports irq kallsyms kcore keys key-users kmsg loadavg locks mdstat meminfo misc modules mounts net partitions schedstat self slabinfo stat swaps sys sysrq-trigger sysvipc tty uptime version vmstat zonein
Например, каталог /ргос/interrupts содержит список прерываний, используемых в данный момент системой, а также периферийные устройства, которые их используют.
Описание некоторых из файлов /proc:

136 cpuinfo: этот файл содержит, как видно из его имени, информацию о процессорах машины. Пример содержимого файла: cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 1000.119 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 2015.85 processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 1000.119 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes

137 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 2015.29 modules: этот файл содержит список модулей, используемых ядром в настоящий момент, вместе со счетчиком использования каждого из модулей.
Эта информация используется командой lsmod, которая отображает её в более удобной для чтения форме, meminfо: этот файл содержит информацию о загрузке памяти на момент вывода его содержимого. Команда free выведет ту же самую информацию, но уже в более удобном для чтения формате. bus: этот подкаталог содержит информацию обо всех периферийных устройствах, найденных на различных шинах вашего компьютера.
Информация обычно не удобна для чтения, и большая её часть переформатируется внешними утилитами. acpi: некоторые файлы и каталоги, представленные в этом каталоге, особенно интересны для ноутбуков, которые позволяют вам выбирать различные варианты энергосбережения.
1.4 Отображение и изменение параметров ядра
Назначение подкаталога /proc/sys - сообщать о различных параметрах ядра, и позволить изменять некоторые из них в интерактивном режиме, В противоположность всем другим файлам каталога /ргос, некоторые файлы из этого каталога могут быть открыты для записи, но только для root'a.
Cодержимое этих каталогов зависит от системы, а большинство файлов будет полезно только для очень специализированных приложений.
2 МЕТОДИКА ВЫПОЛНЕНИЯ
1. Вывести список всех процессов системы.
2. Вывести дерево процессов.
3. С помощью команды top получить список 5 процессов, потребляющих наибольшее количество процессорного времени.
4. Найти 2 процесса, имеющих более ДВУХ потоков. Использовать состояние процесса

138 5. Используя команду top, изменить приоритеты 2 процессов.
6. Получить список открытых файлов пользователя aa
7. Получить текущее состояние системной памяти
8. Получить справку об использовании дискового пространства.
9. Вывести информацию о каком-либо процессе, используя содержимое каталога /proc
10. Вывести информацию о процессоре ПК, используя содержимое каталога /proc
11. Вывести список модулей, используемых в настоящий момент ядром
ОС.
3 ОТЧЕТ О РАБОТЕ
Готовится в письменном виде один на бригаду. Содержание отчета:
1. Результаты выполнения заданий 1- 11 (снимки экранов) и использованные команды ОС Linux.
4 КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Команды вывода списка процессов.
2. Команда получения списка потоков
3. Команда для завершения приложений.
4. Состояния процесса Linux.
5. Получение информации о потоках процесса.
6. Примеры многопоточных процессов.
7. Необходимость использования потоков.
8. Процессы – зомби: как они появляются, как их найти и что с ними делать?
9. Содержимое вывода команды top.
10. Как получить информацию о процессах системы, используя файловую систему /proc?
11. Команды для получения информации об открытых файлах
12. Получение информации о состоянии системной памяти.
13. Получение информации об использовании дискового пространства.
14. Назначение файловой системы /proc

139
ЛАБОРАТОРНАЯ РАБОТА №8 УПРАВЛЕНИЕ ДОСТУПОМ В
ФАЙЛОВОЙ СИСТЕМЕ EXT3FS
Цель работы: практическое знакомство со средствами обеспечения безопасности в ОС Linux и методами управления доступом к данным в файловой системе ОС Linux ext3fs
1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
1.1 Права доступа и группы пользователей
В ОС Unix и Linux каждому файлу файловой системы ext3fs (или ext4fs) соответствует набор прав доступа, представленный в виде 9-ти битов режима. Он определяет, какие пользователи имеют право читать файл, записывать в него данные или выполнять его. Вместе с другими тремя битами, влияющими на запуск исполняемых файлов, этот набор образует код режима доступа к файлу. Двенадцать битов режима хранятся в 16-битовом поле индексного дескриптора вместе с 4-мя дополнительными битами, определяющими тип файла. Последние 4 бита устанавливаются при создании файлов и не подлежат изменению. Биты режима (далее права) могут изменяться либо владельцем файла, либо суперпользователем с помощью команды chmod.
В многопользовательской ОС Linux с целью защиты информации пользователей и обеспечения безопасности самой ОС используются группы пользователей со следующими свойствами:
 каждый пользователь входит в минимум одну группу. Группа, присваиваемая пользователю при его создании, называется основной. Все остальные группы в которые будет включен пользователь, будут являться дополнительными.
 группа пользователей может содержать некоторое количество пользователей, но не может содержать или включаться в другие группы.
 группа может быть пустой, т.е. не содержать в себе ни одного пользователя.
Чтобы добавить пользователя в ту или иную группу, используя командную строку, следует отредактировать файл /etc/group. Структура записи файла:
имя_группы: пароль: GID: список_пользователей
Например: syslog:x:103:

140 klog:x:104: scan:x:105:hpl,alexset nvram:x:106: fuse:x:107:alexset
В приведенном примере в группу scan входят пользователи hpl и
alexset. Чтобы добавить в эту группу новых пользователей, следует перечислить их символьные имена через запятую. В графическом режиме для управления учетными записями пользователей используется утилита управления пользователями и группами, запускаемая через
System/Administration/Users and Groups.
Существует три способа управления доступом к файлу или каталогу.
Было определено, что каждый файл должен иметь владельца (owner), группового владельца (group owner), а также может потребоваться доступ для всех остальных пользователей (everyone). Эти названия обычно приводятся как пользователь/группа/остальные (user/group/others) или коротко ugo. Реализация управления доступом к файлам и каталогам в ОС
Linux разрешает или запрещает доступ с помощью трех бит: бита чтения
(Read), бита записи (Write), бита выполнения (eXecute). Они представляются следующим образом:
flag user group other
# rwx rwx rwx
Флаг типа (flag) может быть одним из следующих (табл. 1).:
Таблица 1.
Типы Флаг
Флаг
Описание
-
Отсутствие флага l
Символическая ссылка (symbolic link) d
Директория (directory) b
Блочное устройство (block device) c Символьное устройство (character device) p
Канал, устройство fifo (fifo device) s
Unix сокет (unix domain socket)
Стандартные права
Посмотреть права доступа на объекты можно командой ls c ключом -

141 l. Также можно добавить ключ -a для того, чтобы были отображены скрытые объекты:
/media/Work/applicat > ls -l итого 1308
-rwx------ 1 alex nogroup 638116 2015-06-25 20:42 autcolor.zip drwxr-xr-x 13 alex nogroup 4096 2015-05-31 14:58 phpBB3 drwx------ 10 alex nogroup 4096 2015-06-25 14:29 phpMyAdm-3.2.0-all- languages
-rwx------ 1 alex nogroup 677334 2015-06-25 20:42 pro_ubuntu.zip drwxr-xr-x 2 alex nogroup 4096 2015-06-25 14:29 безымянная папка
В листинге используются буквенные обозначения прав (т.н. маска режима доступа), но часто используются также цифровые обозначения в восьмеричном представлении, показанные в табл. 2:
Таблица 2.
Обозначение
OCT BIN Mask Комментарий
0 000 - - - отсутствие прав
1 001 - - x права на выполнение
2 010 - w - права на запись
3 011 - w x права на запись и выполнение
4 100 r - - права на чтение
5 101 r - x права на чтение и выполнение
6 110 r w - права на чтение и запись
7 111 r w x полные права
Для назначения обычных прав используются три восьмеричных цифры (9 битов).
Первая цифра определяет права для владельца файла, вторая - права для основной группы пользователя, третья - для всех остальных пользователей. Так, например, чтобы задать права на файл всем, нужно установить права 777 (rwxrwxrwx). Существуют также специальные биты, такие как SUID, SGID и Sticky-бит. Они влияют на запуск выполняемого файла. При их применении необходимо использовать не три восьмеричных цифры, а 4. Зачастую в технической литературе права обозначаются именно четырьмя цифрами, например 0744.
Пример 1:
-rwx------ 1 alexserv nogroup 677334 2016-06-25 20:42 pro_ubuntu.zip drwxr-xr-x 2 alexserv nogroup 4096 2015-06-25 14:29 безымянная папка
Для первой строки примера 1:

Первый символ (флаг) пустой: - для файлов.

142

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

Следующие три (- - -) - определяют права для группы nogroup, в нашем примере для всех пользователей группы nogroup доступ запрещен.
 последние три символа (- - -) определяют права для всех остальных пользователей, в нашем случае доступ запрещен.
Восьмеричное обозначение прав для файла pro_ubuntu.zip: 0700.
Для второй строки (это каталог, о чем свидетельствует флаг «d»):

Для владельца каталога alexserv - полные права (rwx).

Для группы nogroup - права только на листинг каталога (r-x).

Для пользователя «все остальные» - права только на листинг каталога (r-x).
Восьмеричное обозначение в этом примере:
0755
Для того, чтобы пользователи могли просматривать каталог, необходимы права на чтение и выполнение каталога, т.е. минимальные права на каталог 0555 (r-xr-xr-x), прав 0444 (r - - r - - r - -) будет недостаточно для входа в каталог
1.2 Установка прав - команда chmod
Права устанавливаются командой chmod. По умолчанию использовать ее может только root. Команда chmod поддерживает установку прав как в восьмеричном представлении, так и в символьном
(маска режима доступа).
Синтаксис команды:
chmod <опции> <права> <объект или регулярное выражение>
Опции:
Из самых полезных и часто используемых опций можно выделить одну:
-R - рекурсивное назначение прав. Т.е. назначить права всем объектам, руководствуясь регулярным выражением.
Пример 2:
chmod -R 755 * - Назначение прав всем объектам текущего каталога, включая подкаталоги.
chmod -R 700 z* - Назначить полные права для владельца и исключить права для группы и всех остальных для всех объектов, которые начинаются именоваться на z, находящиеся в текущем каталоге и его подкаталогах. Применение прав к объектам в подкаталогах произойдет только в том случае, если сам подкаталог начинает именоваться на z. Т.е. рекурсия будет применяться только и только к тем объектам, которые

143 удовлетворяют регулярному выражению
1.3 Запись прав
Права можно записывать как в восьмеричном представлении так и в символьном. В восьмеричном представлении, для стандартных прав, указываются 3 восьмеричные цифры (первая для владельца, вторая для группы, третья для всех остальных). См. таблицу.
Пример 2:

chmod 744 mydat.txt - установит права для файла mydat.txt - (r w x r
- - r - -);

chmod -R 775 doc - установит права на каталог doc и на все объекты, что внутри этого каталога, включая содержимое подкаталогов (r w x r w x r - x);

chmod 700 * - установит права только для владельца на все файлы и каталоги в текущем каталоге, включая подкаталоги и их объекты
(rwx - - - - - -).
Другой способ назначения прав - это использование маски режима доступа (символьное представление). Помимо прав также задается пользователь или группа пользователей, которым эти права предоставляются:

u - владельцу объекта;

g - группе объекта;

o - пользователю «все остальные»;

a - все вышеперечисленное.
Для назначения прав используются три знака: минус, плюс или равно:

- - убрать указанные права с объекта;

+ - добавить указанные права к существующим правам объекта;

= - заменить права объекта на указанные.
Пример:

chmod g+w mydat.txt - добавить пользователям группы файла mydat.txt права на запись в этот файл;

chmod a=rwx fdoc.doc - заменить существующие права на файле fdoc.doc на полные права всем;

chmod o-w test.cgi - убрать права на запись для пользователя «Все остальные».

chmod ug=rw spisok.doc - выставить права на чтение и запись файлу spisok.doc для владельца и группы. Обратите внимание, что если у пользователя «все остальные» были какие-либо права, они сохранятся в неизменном виде.
Биты SUID, SGID и Sticky
Linux использует не символьные имена владельцев и групп, а их

144 идентификаторы (UID - для пользователей и GID для групп). Эти идентификаторы хранятся в файлах /etc/passwd и /etc/group соответственно. Символьные эквиваленты идентификаторов используются только для удобства, например, при использовании команды ls, идентификаторы заменяются соответствующими символьными обозначениями.
Зачастую, при создании пользователя, если не указано иное, идентификатор группы пользователя равен идентификатору пользователя.
Что касается процессов, то с ними связаны не два идентификатора, а четыре: реальный и эффективный пользовательский (UID), а также реальный и эффективный групповой (GID). Реальные номера применяются для учета использования системных ресурсов, а эффективные для определения прав доступа к процессам. Как правило, реальные и эффективные идентификаторы совпадают. Владелец процесса может посылать ему сигналы, а также изменять приоритет.
Процесс не может явно изменить ни одного из своих четырех идентификаторов, но есть ситуации, в которых происходит косвенная установка новых эффективных идентификаторов процесса. Существуют два специальных бита: SUID (Set User ID - бит смены идентификатора пользователя) и SGID (Set Group ID - бит смены идентификатора группы).
Когда пользователь или процесс запускает исполняемый файл с установленным одним из этих битов, файлу временно назначаются права его (файла) владельца или группы (в зависимости от того, какой бит задан). Таким образом, пользователь может даже запускать файлы от имени суперпользователя.
Восьмеричные значения для SUID и SGID равны 4000 и 2000,
символьные: u+s и g+s.
Установка битов SUID или SGID позволит пользователям запускать исполняемые файлы от имени владельца (или группы) запускаемого файла.
Например, как говорилось выше, команду chmod по умолчанию может запускать только root. Если мы установим SUID на исполняемый файл
/bin/chmod, то обычный пользователь сможет использовать эту команду без использования sudo, так, что она будет выполняться от имени пользователя root. По такому принципу работает, например, команда
passwd, c помощью которой пользователь может изменить свой пароль.
Если установить SGID для каталога, то все файлы, созданные в нем при запуске будут принимать идентификатор группы каталога, а не группы владельца, который создал файл в этом каталоге. Одним словом, если пользователь поместил исполняемый файл в такой каталог и запустил его, процесс запустится от имени владельца (группы) каталога, в котором находится этот файл.
Установить SUID и SGID можно командой chmod:

chmod 4755 doc.pl - устанавливает на файл doc.pl бит SUID и

145 заменяет обычные права на 755 (rwxr-xr-x).

chmod u+s doc.pl - тоже самое, только обычные права не перезаписываются.

chmod 2755 doc.pl - устанавливает на файл doc.pl бит SGID и заменяет обычные права на 755 (rwxr-xr-x).

chmod g+s doc.pl - тоже самое, только обычные права не перезаписываются.
Догадайтесь, что произойдет после выполнения такой команды:

chmod 6755 doc.pl
Снять установленные биты можно различными способами:

chmod g-s doc.pl - убираем SUID

chmod u-s doc.pl - убираем SGID

chmod 0644 doc.pl - убираем все дополнительные биты и меняем права на 644.
1   ...   10   11   12   13   14   15   16   17   ...   21


написать администратору сайта