Главная страница
Навигация по странице:

  • 1.13 Суперпользователь Суперпользователь

  • /etc/group

  • ЛАБОРАТОРНАЯ РАБОТА №7 КОНТРОЛЬ ИСПОЛЬЗОВАНИЯ РЕСУРСОВ ОС LINUX Цель работы

  • 1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 1.1 Команды для контроля системных ресурсов 1.1.1 Вывод информации о процессах, выполняющихся в системе

  • Завершение выполняющегося процесса Завершение процесса выполняется командойkill

  • Отображение динамически обновляемого списка выполняющихся процессов – команда top

  • Вывод дерева процессов

  • Получение информации о потоках

  • 1.1.2 Получение списка открытых файлов

  • Получение списка пользователей конкретного файла Необходимо ввести команду lsof c указанием имени файла. Например lsof /bin/bash Отображение информации об оперативной памяти системы

  • 1.2 Файловая система /proc

  • 1.2.1 Информация о процессах

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


    Скачать 2.71 Mb.
    НазваниеПрактикум по дисциплине Операционные системы (ОС). Цели лабораторных занятий это формирование у будущих бакалавров направлений подготовки 09. 03. 01
    Дата15.10.2022
    Размер2.71 Mb.
    Формат файлаpdf
    Имя файлаЛАБОРАТОРНЫЕ РАБОТЫ ОС (Для допуска необходимо сделать 1 или 6 л.pdf
    ТипПрактикум
    #735270
    страница13 из 21
    1   ...   9   10   11   12   13   14   15   16   ...   21
    любой пользователь сможет посмотреть информацию о своих процессах.
    Именно каталогом
    /proc пользуется утилита ps. Использование утилиты ps для просмотра выполняющихся процессов Linux рассматривается в работе
    “Процессы ОС Linux“.
    1.13 Суперпользователь
    Суперпользователь - единственный пользователь в Linux, на которого не распространяются ограничения прав доступа. Имеет нулевой
    идентификатор пользователя.
    Суперпользователь в Linux – это выделенный пользователь системы, на которого не распространяются ограничения прав доступа.
    UID суперпользовательских процессов равен
    0
    : так система отличает их от
    процессов других пользователей. Именно суперпользовательимеет возможность произвольно изменять владельца и группу файла. Ему открыт доступ на чтение и запись к любому файлу системы и доступ на чтение, запись и использование к
    любому
    каталогу.
    Наконец, суперпользовательский процесс может на время сменить свой
    собственный UID с нулевого на любой другой. Именно так и поступает программа login
    , когда, проведя процедуру идентификациипользователя, запускает стартовый командный интерпретатор.
    Среди учетных записей Linux всегда есть запись по имени root
    ("корень"), соответствующая нулевому идентификатору, поэтому вместо "суперпользователь" часто говорят "
    root
    ". Множество системных файлов принадлежат root
    , множество файлов только ему доступны на чтение или запись. Пароль этой учетной записи – одна из самых больших драгоценностей системы. Именно с ее помощью системные администраторы выполняют самую ответственную работу.
    Существует два различных способа получить права суперпользователя. Первый – это зарегистрироваться в системе под этим именем, ввести пароль и получить стартовую оболочку, имеющую нулевой UID. Это – самый неправильный способ, пользоваться которым стоит, только если нельзя применить другие. В ОС Ubuntu описанный способ не используется, вместо него используется второй способ.
    Второй способ —воспользоваться специальной утилитой su do, которая позволяет выполнить одну или несколько команд от лица другого пользователя. По умолчанию эта утилита выполняет команду от лица

    124 пользователя root
    , то есть запускает командный интерпретатор с нулевым
    UID. Отличие от предыдущего способа в том, что всегда известно, кто именно запускал sudo
    , а значит, ясно, с кого спрашивать за последствия.
    1.14 Поиск файлов
    Для поиска файла по имени или его части используется утилита locate. Параметр задает имя файла. Для поиска без учета регистра служит ключ –i.
    Для ограничения объема выводимой информации используется ключ
    –n число. Построчный вывод получается, если результаты поиска направить по конвейеру в программу less, например locate mp3 | less
    Утилита locate ведет поиск в базе данных, которая должна периодически обновляться утилитой updatedb, выполняемой с правами администратора.
    Другой способ найти файл предоставляет утилита find. Ее ключи приведены в (табл. 1).
    Таблица 1.
    Ключи утилиты find
    Ключ
    Назначение
    -name
    Задает имя файла или его часть
    -size
    Задает размер файла, например 12k
    -type
    Задает тип объекта для поиска: f-обычный файл d-каталог l-символьная ссылка
    -a
    Логическая связка and
    -o
    Логическая связка or
    -user
    Задает имя пользователя
    Достоинствами утилиты find являются независимость от базы данных и широкие функциональные возможности, недостаток – меньшая скорость поиска по сравнению с locate.
    2 МЕТОДИКА ВЫПОЛНЕНИЯ
    1. Ознакомиться с теоретическими сведениями.
    2. После загрузки ОС Linux и запроса имени ввести имя и пароль пользователя.
    3. По окончании загрузки ОС запустить терминал.

    125
    Все задания работы следует выполнить в режиме командной строки с помощью терминала.
    Задания:
    1. Создать в домашнем каталоге следующую структуру подкаталогов
    (существующие каталоги не удалять!):
    Домашний каталог
    Ваша фамилия
    1 4
    2 3
    2. Скопировать файл /etc/group в каталоги 1, 2, 3 и 4 используя абсолютные имена копируемого файла и каталога назначения.
    3. С помощью утилиты file вывести на экран сведения о 3 - 4 различных файлах (в том числе из каталогов /bin и /dev).
    4. Выполнить команду ls –l /dev используя таблицу 2 обозначений типов файлов
    Таблица 2.
    Обозначения типов файлов
    Символ
    Тип файла d
    Каталог l
    Символьная ссылка s
    Сокет b
    Блочное устройство c
    Символьное устройство p
    Именованный канал перечислить типы файлов, хранящихся в каталоге /dev
    5. Используя справочную систему, ознакомиться с ключами утилиты ls
    -R, -1 (единица), -m, --color, ключи, определяющие порядок вывода на экран
    6. Создать жесткую и символическую ссылки для одного из созданных в п.2 файлов.
    Таблица 3.
    Индивидуальные задания для бригад
    Номер бригады
    Задание
    1
    Вывести список имен файлов из /var, используя ключ –l
    Список упорядочить по размерам файлов.
    2. Найти файлы, имена которых оканчиваются на pdf
    2
    Вывести список имен файлов из /bin, используя ключ –l
    Список упорядочить по датам создания

    126
    Номер бригады
    Задание
    2. Найти файлы, имена которых оканчиваются на jpg
    3
    Вывести список имен файлов из /sbin, используя ключ –l
    Список упорядочить по именам
    2. Найти файлы, размеры которых превышают 25к
    (запись +25k)
    4
    Вывести список имен файлов из /tmp, используя ключ –l
    Список упорядочить по именам
    2. Найти файлы, имена которых оканчиваются на text
    5
    Вывести список имен файлов из /usr, используя ключ –l
    Список упорядочить по размерам файлов.
    2. Найти файлы, имена которых оканчиваются на jpg и размеры более 1к
    6
    Вывести список имен файлов из /bin, используя ключ –l
    Список упорядочить по датам создания
    2. Найти файлы, размеры которых превышают 15к
    (запись +15k)
    7
    Вывести список имен файлов из /usr, используя ключ –l
    Список упорядочить по размерам файлов.
    2. Найти файлы, размеры которых превышают 25к
    (запись +25k) и имена начинаются на s
    8
    Вывести список имен файлов из /var, используя ключ –l
    Список упорядочить по датам создания
    2. Найти файлы, размеры которых превышают 25к
    (запись +25k) и имена начинаются на s, а заканчиваются на jpg
    9
    Вывести список имен файлов из /sbin, используя ключ –l
    Список упорядочить по размерам файлов
    2. Найти файлы, размеры которых превышают 1М (запись
    +1m)
    10
    Вывести список имен файлов из /bin, используя ключ –l
    Список упорядочить по именам
    2. Найти файлы, размеры которых превышают 5к (запись
    +5k)
    7. Выключить компьютер.
    3 ОТЧЕТ О РАБОТЕ
    Готовится в письменном виде один на бригаду. Содержание отчета:
     построенное в задании 1 дерево каталогов.
     описания назначений ключей команды ls.

    127
     результаты выполнения заданий.
    4 КОНТРОЛЬНЫЕ ВОПРОСЫ
    1. Типы файлов ОС Linux
    2. Назначение утилиты file.
    3. Структура дерева каталогов ОС Linux.
    4. Отличия структуры файловых систем ОС Windows и Linux.
    5. В чем отличие каталогов /var и /tmp.
    6. Назначение утилиты pwd.
    7. Назначение утилиты cat.
    8. Назначение утилиты ls. Использование ключей –F, -a.
    9. Утилита mkdir.
    10. Утилиты копирования и перемещения файлов.
    11. Жесткие ссылки: назначение и создание.
    12. Cоздание файлов.
    13. Символьные ссылки.
    14. Удаление файлов и каталогов. Как восстановить ошибочно удаленный файл?
    15. Назначение утилиты id.
    16. Ярлыки объектов файловой системы.
    17. Права доступа к файлу.
    18. Суперпользователь и его права.
    19. Назначение утилиты sudo.
    20. Утилиты поиска файлов locate и find, их достоинства и недостатки.

    128
    ЛАБОРАТОРНАЯ РАБОТА №7 КОНТРОЛЬ ИСПОЛЬЗОВАНИЯ
    РЕСУРСОВ ОС LINUX
    Цель работы – практическое знакомство с командами, используемыми для контроля использования ресурсов и виртуальной файловой системой
    /proc
    1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
    1.1 Команды для контроля системных ресурсов
    1.1.1 Вывод информации о процессах, выполняющихся в системе
    Для вывода списка всех выполняющихся на компьютере в текущий момент процессах используется команда ps aux
    Значения используемых опций: а - all – процессы всех пользователей; u – ориентированная на пользователей (отображение информации о владельце); x – процессы, не контролируемые ttys.
    Полезные ключи - -e – вывод сведений обо всех процессах и o – пользовательский вывод, например ps –eo pid, ppid, pri, stat, pgid, nice, comm.
    В столбце STAT содержится информация о состоянии процесса. Наиболее важные состояния: S-cпящий; R –выполняющийся; T- остановленный; Z – зомби.
    Буква Z указывает, что процесс завис и его нельзя завершить.
    Избавиться от подобной программы можно с помощью перезагрузки системы.
    Более подробную информацию представляет опция –l (long format))
    Для просмотра дерева процессов используются команды: ps axjf pstree
    Завершение выполняющегося процесса
    Завершение процесса выполняется командой
    kill сигнал PID
    Сначала процессу посылается сигнал -15. Если это не помогает,

    129 используется крайняя мера -посылается сигнал -9.
    Отображение динамически обновляемого списка выполняющихся
    процессов – команда top
    В отличие от ps, команда top представляет динамически обновляемые сведения о процессах и о том, какой объем системных ресурсов использует каждый из них (рис.1).
    В первых пяти строках команда top отображает подробную информацию о системе, а затем описывает каждый выполняющийся процесс.
    Выходные данные сортируются по уровню загрузки ЦП данным процессом.
    Для удаления процесса следует ввести символ k. Появится сообщение
    PID to kill:
    Необходимо ввести PID процесса, программа запросит номер сигнала: kill PID NNNN with signal [15]:
    Как правило, данное значение является приемлемым, и через секунду после ввода Enter информация о выбранном процессе исчезнет с экрана.
    Рис. 1 – результат выполнение команды top

    130
    В первой строке программа сообщает текущее время, время работы системы (1 час 15 мин), количество зарегистрированных (login) пользователей (3 users), общая средняя загрузка системы (load average).
    Общей средней загрузкой системы называется среднее число процессов, находящихся в состоянии выполнения (R) или в состоянии ожидания (D).
    Общая средняя загрузка измеряется каждые 1, 5 и 15 минут.
    Во второй строке вывода программы top сообщается, что в списке процессов находятся 132 процесса, из них 131 спит (состояние готовности или ожидания), 1 выполняется (на виртуальной машине только 1 процессор),
    0 процессов зомби и 0 остановленных процессов.
    В третьей-пятой строках приводится информация о загрузке процессора CPU в режиме пользователя и системном режиме, использования памяти и файла подкачки.
    В таблице отображается различная информация о процессе.
    Рассмотрим колонки PID (идентификатор процесса), USER (пользователь, запустивший процесс), S (состояние процесса) и COMMAND (команда, которая была введена для запуска процесса).
    Колонка S может содержать следующие значения:
    R - процесс выполняется или готов к выполнению (состояние готовности)
    D - процесс в "беспробудном сне" - ожидает дискового ввода/вывода
    T - процесс остановлен (stopped) или трассируется отладчиком
    S - процесс в состоянии ожидания (sleeping)
    Z - процесс-зомби
    N – процесс с низким приоритетом, nice, pri<19
    < - процесс с высоким приоритетом, pri>19
    + - процесс в группе фоновых процессов l – процесс с двумя и более потоками, многопоточный s – ведущий процесс сеанса.
    Колонка PR содержит приоритет процесса – целое число от 0 до 39.
    Колонка NI (NICE) (фактор уступчивости процесса) содержит задаваемое значение от -19 (наименее уступчивый) до 20 (самый уступчивый, вытесняется всеми). Значение NICE прибавляется к числу 20 для получения значения приоритета
    PR=19+NICE

    131
    Для управления командой top используются односимвольные команды: h – вывод справки о командах; r – renice – изменение приоритета, в режиме администратора (через sudo) можно задавать значения от-19 до 20; q – завершение работы с командой и другие (см. информацию справки).
    Недостаток команды – вывод только первых N<26 строк информации о процессах.
    Для управления процессами с использованием графического интерфейса используется утилита Системный монитор, которая запускается из системного меню Система-Администрирование – Системный монитор
    (рис.2).
    Рис. 2. Системный монитор
    На закладке Процессы монитор показывает сведения о запущенных процессах, на закладке система – сведения об использовании ЦП и памяти.
    Достоинства монитора – использование графического интерфейса, отображение списка всех процессов.
    Вывод дерева процессов
    Для построения дерева процессов используются команды pstree ps –ejH ps axjt

    132
    Получение информации о потоках
    Как известно, процесс может иметь параллельно выполняющиеся потоки (threads) или облегченные процессы (LWP, Light Weight Process). Для получения информации о потоках заданного процесса используется опция –
    L, например ps –fLC swriter.bin выводит список потоков приложения writer
    Open Office. Процессы, использующие более одного потока – редактор звуковых файлов audacity и soffice.bin, а также демоны (службы в по терминологии Windows). Как указано выше, многопоточные процессы помечено символом l в колонке состояния.
    1.1.2 Получение списка открытых файлов
    Команда lsof (List open files) без параметров выводит полный список открытых файлов. Пользователь-администратор получит несколько тысяч строк текста.
    Для получения списка файлов, открытых конкретным пользователем, служит команда lsof -u имя_пользователя
    Получение списка пользователей конкретного файла
    Необходимо ввести команду lsof c указанием имени файла. Например lsof /bin/bash
    Отображение информации об оперативной памяти системы
    Текущее состояние системной памяти позволяет получить команда
    free
    По умолчанию все значения представлены в килобайтах. Значения в М позволяет получить опция –m.
    1.1.3 Отображение информации об использовании дискового
    пространства
    Команда df выводит данные об объеме доступного дискового пространства (в Кбайтах). Опция –h улучшает восприятие результатов.
    Команда du дает возможность узнать объем дисковой памяти, занимаемой каталогами и файлами.

    133
    1.2 Файловая система /proc
    Ядро Linux предоставляет механизм доступа к своим внутренним структурам и позволяет изменять установки ядра во время работы ОС посредством файловой системы /proc. Файловая система /proc является механизмом для ядра и его модулей, позволяющим посылать информацию процессам ( отсюда и название /proc ). С помощью этой виртуальной файловой системы можно работать с внутренними структурами ядра, получать полезную информацию о процессах и изменять установки (меняя параметры ядра ) на лету. Файловая система /proc располагается в памяти в отличие от других файловых систем, которые располагаются на диске.
    Файловая система /proc контролируется ядром. Из-за того, что она предоставляет информацию, контролируемую ядром, она располагается в памяти, контролируемой также ядром. Команда "ls -l" покажет, что большинство файлов в этой системе имеют нулевую длину, но посмотрев любой файл, Вы получите достаточно информации. Как это может быть? Все просто - файловая система /proc как любая другая файловая система регистрируется на уровне VFS ( Virtual File System layer ). Поэтому при запросе файлов/каталогов, файловая система /proc создает эти файлы/каталоги на основании информации, содержащейся в ядре.
    В действительности многие программы собирают информацию из файлов в /ргос, форматируют её своим собственным способом, а результат затем выводят на экран. Существует несколько программ, которые поступают именно так при выводе информации о процессах (top, ps и т. п.), /ргос - это также хороший источник информации об аппаратном обеспечении, и по аналогии с программами, показывающими процессы, некоторые другие программы являются просто интерфейсами к информации, находящейся в
    /ргос.
    Также существует специальный подкаталог /proc/sys. Он позволяет отображать параметры ядра и изменять их в режиме реального времени.
    1.2.1 Информация о процессах
    Каждый из каталогов содержит одинаковые пункты, краткое описание некоторых из них:
    1. cmdline: этот (псевдо-) файл содержит полную командную строку, использованную для вызова процесса. Он не отформатирован: между

    134 программой и ее аргументами нет пробелов, а в конце строки нет разделителя строки. Чтобы просмотреть его, вы можете использовать: perl
    -ple 's,\00, ,g' cmdline.
    2. cwd: эта символическая ссылка указывает на текущий рабочий каталог процесса (следует из имени).
    3. environ: этот файл содержит все переменные окружения, определенные для этого процесса, в виде ПЕРЕМЕННАЯ=значение. Как и в cmdline вывод вообще не отформатирован: нет разделителей строк для отделения различных переменных, и в конце нет разделителя строки.
    Единственным решением для его просмотра будет: perl -pl -e 's,\00,\n,g'
    environ.
    4. exe: эта символическая ссылка указывает на исполняемый файл, соответствующий запущенному процессу.
    5. fd: этот подкаталог содержит список файловых дескрипторов, открытых в данный момент процессом.
    6. maps: когда вы выводите содержимое этого именованного канала (при помощи команды cat, например), вы можете увидеть части адресного пространства процесса, которые в текущий момент распределены для файла. Вот эти поля (слева направо): адресное пространство, связанное с этим распределением; разрешения, связанные с этим распределеним; смещение от начала файла, где начинается распределение; старший и младший номера (в шестнадцатиричном виде) устройства, на котором находится распределенный файл; номер inode файла; и, наконец, имя самого файла.
    7. root: эта символическая ссылка указывает на корневой каталог, используемый процессом. Обычно это будет /.
    8. status: этот файл содержит разнообразную информацию о процессе: имя исполняемого файла, его текущее состояние, его PID и PPID, его реальные и эффективные UID и GID, его использование памяти и другие данные.
    Если вывести список содержимого каталога fd для процесса 127, получим примерно следующее: ls -l fd total 0 lrwx------ 1 root root 64 Dec 16 22:04 0 -> /dev/console

    135 l-wx------ 1 root root 64 Dec 16 22:04 1 -> pipe:[128] l-wx------ 1 root root 64 Dec 16 22:04 2 -> pipe:[129] l-wx------ 1 root root 64 Dec 16 22:04 21 -> pipe:[130] lrwx------ 1 root root 64 Dec 16 22:04 3 -> /dev/apm_bios lr-x------ 1 root root 64 Dec 16 22:04 7 -> pipe:[130] lrwx------ 1 root root 64 Dec 16 22:04 9 -> /dev/console
    На самом деле это список файловых дескрипторов, открытых процессом. Каждый открытый дескриптор представлен в виде символической ссылки, где имя - это номер дескриптора, который указывает на файл, открытый этим дескриптором.
    1   ...   9   10   11   12   13   14   15   16   ...   21


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