Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб. раб. ОС.doc
Скачиваний:
34
Добавлен:
09.11.2019
Размер:
295.42 Кб
Скачать

Лабораторная работа №3. Работа с программой Midnight Commander (mc).

Цель работы: изучить основные возможности программы mc (Midnight Commander) для работы с файлами.

Основы работы с Midnight Commander

Программа mc (Midnight Commander) представляет собой программу-оболочку, подобную широко известной оболочке Norton Commander для MS-DOS. Основное назначение данной программы - упростить и сделать более наглядной работу с файлами в системе Linux. Программа mc не является стандартной для Unix, однако имеется во многих системах.

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

рис. 1

Выход из программы mc можно осуществить либо нажав F10 (появится запрос на подтверждение выхода), либо набрав в командной строке команду exit.

Midnight Commander имеет развитую систему контекстно-зависимой помощи. Вызов подсказки осуществляется нажатием F1.

Одна из панелей является текущей (на ней находится полоска - указатель), на рис.1 это правая панель. Смена текущей панели (с правой на левую и обратно) осуществляется нажатием клавиши Tab.

Обычно панели содержат два списка. В каждом списке выводятся имена файлов и каталогов, находящихся в текущем каталоге (для каждой панели - в своем). В текущей панели находится указатель - полоска (обычно инверсного цвета). Этот указатель можно перемещать клавишами управления курсором (стрелками, Home, End, PgUp, PgDown), выбирая различные файлы и каталоги. Для входа в каталог выберите его имя в списке и нажмите Enter, для выхода в родительский каталог (т.е. на 1 уровень вверх) выберите ".." и нажмите Enter. Чтобы запустить исполнимый файл, выберите его в списке и нажмите Enter.

Некоторые действия (например, копирование) Midnight Commander может производить не только над одним файлом, но и над группой файлов - выделенными файлами. Выделить файлы можно по одному, перемещая указатель и нажимая Insert для выделения файла (повторное нажатие Insert снимает выделение файла). Кроме того, можно выделить файлы, соответствующие заданному шаблону. Для этого нажмите "+" и введите шаблон в появившемся диалоговом окне. Также можно снять выделение файлов, соответствующих шаблону, нажав клавишу "\". Имена каталогов выделяются точно так же, как и имена файлов. Операции над файлами осуществляются нажатием следующих клавиш: F8 - удаление, F5 - копирование, F6 - переименование или перемещение. После нажатия функциональной клавиши появится диалоговое окно, с помощью которого можно подтвердить выполнение операции, отменить ее или скорректировать параметры (например, изменить место назначения при копировании). По умолчанию копирование и перемещение производится с активной панели в неактивную. Операции с каталогами проводятся так же, как и с файлами. Каталоги копируются или перемещаются со всем своим содержимым.

Для создания нового каталога нажмите F7 и в диалоговом окне введите имя каталога.

Для просмотра содержимого текущего файла нажмите F3 - откроется окно просмотра файла, в котором можно перемещаться (клавишами управления курсором). Просмотр возможен в шестнадцатеричном и текстовом режимах, переключение которых осуществляется нажатием клавиши F4. В обоих режимах можно искать некоторый текст, нажав F7 для нового поиска или Shift+F7 для продолжения начатого поиска. Выйти из режима просмотра можно нажатием F10 или Esc.

Midnight Commander имеет встроенный текстовый редактор с достаточно широкими возможностями. Вызов редактора осуществляется нажатием клавиши F4 для редактирования текущего файла или Shift+F4 для редактирования нового файла. Внутри редактора доступна помощь по нажатию клавиши F1. Выход из редактора осуществляется по нажатию клавиш Esc или F10, при этом выдается запрос на сохранение файла, если он был изменен.

Главное меню Midnight Commander вызывается нажатием F9 и появляется в верхней строке экрана. Из главного меню доступны все операции Midnight Commander, в том числе и операции с файлами. Главное меню содержит пункты: "Left", "File", "Command", "Options" и "Right" (в русифицированной версии "Левая панель", "Файл", "Команда", "Настройки" и "Правая панель" соответственно). Пункты "Left" и "Right" содержат одинаковые подменю, задающие вид информации, отображаемой на панелях; пункт "Left" относится к левой панели, пункт "Right" - к правой. Вид экрана при вызове пункта "Left" ("Левая панель") показан на рис.2.

рис. 2

Пункты подменю следующие:

  • Listing mode (формат списка) - определяет вид выводимого списка файлов, основные из них:

  • Full (полный) - выводятся имя файла, размер файла (в Кбайтах) и время создания/изменения файла;

  • Brief (краткий) - выводятся только имена файлов (в 2 столбца). Этот режим позволяет отобразить наибольшее количество файлов одновременно;

  • Long (длинный) - вывод аналогичен выводу по команде "ls -l". В этом режиме панель занимает всю ширину экрана;

  • Info (информация) - в панели будет выведена информация о текущем файле, выделенных файлах и о файловой системе.

  • Tree (дерево) - в панели будет отображаться дерево каталогов, по которому можно перемещаться с помощью клавиш управления курсором. Содержимое выбранного каталога будет отображаться на другой панели.

  • Quick View (быстрый просмотр) - в панели будет отображаться содержимое текущего файла с другой панели.

  • Sort Order (порядок сортировки) - задает восемь различных вариантов упорядочивания выводимого списка файлов: по именам, по времени доступа, по времени изменения информации inode, по размеру, по индексу (inode) и "без сортировки". Также здесь можно выбрать прямой или обратный порядок сортировки. По умолчанию имена каталогов идут в списке перед именами файлов.

  • Filter (фильтр) - задает шаблон для отображения файлов. Здесь можно задать шаблон (например, *.c); после этого в панели будут отображаться только имена файлов, соответствующие шаблону. "Всем файлам" соответствует шаблон "*". Имена каталогов и ссылки на каталоги будут выводиться независимо от установленного шаблона.

  • Reread (перечитать каталог). Эта команда вызывает повторное считывание списка файлов. Такое действие может быть полезно, если другие процессы могут создавать или удалять файлы.

Пункт "File" ("Файл") главного меню содержит команды работы с файлами. Вид экрана Midnight Commander при вызове данного пункта показан на рис.3, на нем виден список команд для работы с файлами.

рис. 3

Большинство из этих команд можно вызвать и не заходя в главное меню, а просто нажав определенную клавишу. Например, так можно вызвать команды View (Просмотр файла) (F3, Shift+F3), Edit (Редактирование) (F4), Copy (Копирование) (F5), Rename/Move (Переименование) (F6), Mkdir (Создание каталога) (F7), Delete (Удаление) (F8), Select group (Отметить группу) (+), Unselect group (Снять отметку) (\), Quit (Выход) (F10), которые были описаны ранее (в скобках указана клавиша вызова команды). В пункт "File" входят еще несколько важных команд:

  • Link (Жесткая ссылка)- создает жесткую связь с текущим файлом;

  • SymLink (Символич. Ссылка) - создает символическую связь (ссылку) с текущим файлом;

  • Chmod (Права доступа) - изменяет режим доступа к текущему файлу или выделенным файлам.

Пункт "Command" ("Команда") главного меню (рис.4) содержит разнообразные команды, из которых важны две:

  • Find File (Поиск файла) - производит поиск файлов, имена которых соответствуют заданному шаблону; дополнительно можно указать текст, который должны содержать искомые файлы.

  • Background Jobs (Фоновые задания) - позволяет управлять фоновыми задачами с помощью диалоговых окон.

рис. 4

Пункт "Options" ("Настройки") главного меню позволяет менять настройки программы Midnight Commander, создавая наиболее удобную для пользователя среду.

Для выполнения команды оболочки (например, bash) из Midnight Commander нужно просто набрать команду, при этом курсор автоматически переместится в предпоследнюю строку экрана. После завершения ввода команды нажмите Enter. Для просмотра результата выполнения команды можно "скрыть" панели, нажав Ctrl+O.

Порядок выполнения

  1. Ознакомиться с теоретической частью лабораторной работы.

  2. Ответить на контрольные вопросы.

  3. Выполнить лабораторную работу:

    1. Зарегистрироваться в системе под своей учетной записью.

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

    3. Создать в своем каталоге подкаталог;

    4. Скопировать из заданных каталогов в новый каталог заданные преподавателем файлы, используя различные способы выделения файлов (по одному и группами);

    5. Изменить режим доступа к полученным файлам;

    6. Просмотреть вид каталога при различных форматах отображения информации на панелях;

    7. Просмотреть и отредактировать некоторые файлы (по заданию преподавателя);

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

    9. Создать символическую связь (ссылку) с заданным преподавателем файлом.

    10. Удалить созданный подкаталог.

    11. Выйти из системы.

  4. Оформить отчет о проделанной работе. В отчете указать выполненные действия.

Контрольные вопросы:

  1. Для чего предназначена программа Midnight Commander?

  2. Как вызвать главное меню? Как вызвать подсказку?

  3. Как выбрать вид информации, отображаемой на панелях?

  4. Каков порядок осуществления основных операций с файлами (копирования, переноса, переименования, удаления)?

  5. Какие еще операции с файловой системой выполняются программой Midnight Commander?

Лабораторная работа №4. Работа с текстовым редактором

Цель работы: ознакомиться с текстовым редактором vi, освоить принципы написания скриптов на языке командного интерпретатора shell.

Краткие сведения из теории

В OC Unix скрипты представляют из себя простые текстовые файлы, содержащие набор команд. Чтобы запустить исполнение скрипта, его вызывают по имени файла, при этом либо файл должен иметь атрибут исполняемого файла (устанавливается командой chmod), либо должен быть указан командный интерпретатор, который будет обрабатывать команды скрипта (например, /bin/sh/home/ourscript.sh). Причем в первой строке каждого скрипта должна стоять ссылка на используемый командный интерпретатор (например, #!/bin/sh).

Для написания скриптов может использоваться текстовый редактор vi, который поставляется с каждым дистрибутивом Unix-подобных систем.

Текстовый редактор vi позволяет редактировать любой файл в формате ASCII. Редактор vi наиболее удобен для редактирования файлов конфигурации системы и программ. Во время работы в редакторе vi можно вызвать оперативную справочную систему для уточнения неясных моментов. Для этого надо нажать <Esc>, ввести :help и нажать <Enter>. Открыть новый файл можно, введя команду vi <имя_файла.txt.> Появится экран, курсор находится в верхнем левом углу. Нажать клавишу <i> и вводить текст. При вводе текста можно пользоваться клавишей <Backspace> для исправления опечаток.

Текстовый редактор vi работает в двух режимах: в режиме команд и режиме вставки. Чтобы начать ввод текста в файл, необходимо перейти в режим вставки. Для перемещения курсора по файлу или удаления текста необходимо перейти в режим команд, нажав клавишу <Esc>. Для перехода в режим вставки из режима команд применяется несколько однобуквенных команд. Они приведены в приложении к лабораторной работе. Для перемещения курсора используются клавиши <k>, <j>, <l> и <h>.

Не применяйте клавиши со стрелками, клавиши <PageUp>, <PageDown>, <Home> и <End> для перемещения курсора по файлу!

Вставка и удаление текста

Нажмите клавишу <Esc>, при этом система подаст звуковой сигнал, который говорит о том, что это режим команд и можно вводить команду для вставки текста. Установив курсор в нужное место, нажать клавишу <i> и ввести текст. Способы вставки текста приведены в приложении.

Для удаления текста существует несколько команд, которыми можно удалить отдельный символ или блок текста.

Копирование текста

Для перемещения текста в редакторе vi необходимо вначале вырезать текст, переместить курсор в новое место в файле, а затем вставить текст в этом месте.

Чтобы вырезать текст, необходимо выбрать его и создать копию. Вырезанный текст хранится в безымянном буфере. В этом буфере временно хранится только самый последний фрагмент вырезанного текста. Для вырезания текста переместите курсор в начало участка текста, который необходимо копировать, и нажмите <y> в сочетании с командой перемещения курсора, которая переместит курсор в конец нужного участка. Установив курсор в нужное место, вставьте текст, нажав клавишу <p>.

Поиск и замена текста

Для поиска отдельного слова нажмите <Esc>, чтобы перейти в режим команд, введите символ слеша (/), введите искомое слово и нажмите <Enter>.

Для автоматического поиска и замены используется команда формата:

:%S/<искомое слово>/<слово замены>/g

Ознакомьтесь с приложением, в котором приведены функции и используемые клавиши.

Для сохранения отредактированного файла в режиме команд необходимо ввести команду:

<:w> и <Enter>

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

Закончив работу с редактором vi, введите :q и <Enter>.

Порядок выполнения работы

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

  2. Создать в домашней директории новый каталог.

  3. Открыть справочное руководство vi с помощью команды man. Прочитать справочное руководство. Если потребуется помощь во время работы в редакторе, вызвать команду :help

  4. Определить, какие еще текстовые редакторы установлены в системе.

  5. Вызвать командой vi текстовый редактор.

  6. Создать в новой директории файл скрипта.

  7. Перейти в режим ввода текста и указать первой строкой командный интерпретатор /bin/sh.

  8. Задать командой echo вывод на экран текста.

  9. С помощью команд редактора произвести перемещение по тексту (в начало и конец текста, начало и конец строки).

  10. С помощью команды редактора найти заданное слово в тексте.

  11. Записать файл и выйти из редактора vi.

  12. Запустить созданный скрипт, записать выведенную ошибку и проанализировать ситуацию.

  13. Сделать файл скрипта исполняемым.

  14. Запустить скрипт еще раз.

  15. Открыть созданный файл для редактирования и заменить в нем с помощью команды замены заданное слово на другое.

  16. Записать измененный файл.

  17. Используя конвейер | и команду wc с параметрами, выводящую количество строк в заданном файле, создать новый скрипт, выводящий на экран количество файлов в текущей директории.

  18. Выйти из системы.

  19. Составить отчет о проделанной работе.

Приложение

Таблица 1 Клавиши управления курсором

Перемещение курсора

Клавиша

На один символ влево

<h>

На один символ вправо

<l>

На одну строку вниз

<j>

На одну строку вверх

<k>

К началу следующего слова

<w>

К началу предыдущего слова

<b>

В конец строки

<$>

В начало строки

<0>

К следующему предложению

<)>

К предыдущему предложению

<(>

К следующему абзацу

<}>

К предыдущему абзацу

<{>

Прокрутка вперед на один экран

<Ctrl + F>

Прокрутка назад на один экран

<Ctrl + B>

Прокрутка вперед на половину экрана

<Ctrl + D>

Прокрутка назад на половину экрана

<Ctrl + U>

В конец файла

<G>

К строке 10

<10G>

Таблица 2 Вставка текста в файл

Место вставки текста

Клавиши

Перед курсором

<i>

В начале строки

<l >

После курсора

<a>

В конце строки

<A>

На новой строке под курсором

<o>

На новой строке над курсором

<O>

С перезаписью существующего текста

<R>

Таблица 3 Удаление текста из буферной области

Удаление

Клавиша

От курсора до конца слова

<dw>

3-х слов, следующих за курсором

<3dw>

От курсора до конца строки

<d$>

От курсора до начала строки

<d0>

От курсора до конца абзаца

<dj>

Строки, на которой находится курсор

<dd>

Текущей строки и трех следующих строк

<4dd>

Символа под курсором

<x>

Символа слева от курсора

<X>

Контрольные вопросы:

  1. Для чего предназначен тестовый редактор?

  2. Как получить информацию о редакторе и вызвать его на выполнение?

  3. Какие режимы предусмотрены в редакторе Vi ?

  4. Как скопировать текст в другое место файла?

  5. какие действия надо проделать чтобы переключиться в режим вставки?

  6. Как вернуться из режима вставки в режим команд?

Лабораторная работа №5 Организация сетевых взаимодействий пользователей

Цель работы: ознакомиться с работой в вычислительной сети, изучить сетевые протоколы.

Краткие сведения из теории

Основным для сетей, построенных на операционной системе Linux, является стек протоколов TCP/IP. Условно, его можно разделить на 5 уровней, частично соответствующих уровням модели OSI.

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

  2. Канальный уровень описывает каким образом передаются пакеты данных через физический уровень, включая кодирование (т.е. специальные последовательности битов, определяющих начало и конец пакета данных). Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет. Примеры протоколов канального уровня — Ethernet, IEEE 802.11 Wireless Ethernet, SLIP, HDLC/SDLC, Token Ring, ATM и MPLS. Канальный уровень иногда разделяют на 2 подуровня — LLC и MAC. Сетевой уровень изначально разработан для передачи данных из одной (под)сети в другую. Примерами такого протокола является X.25 и IPC в сети ARPANET. Протоколы IP, ICMP, IGMP, X.25, CLNP, ARP, RARP, OSPF, RIP, IPX, DDP.

  3. Транспортный уровень. Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют для какого именно приложения предназначены эти данные. TCP — «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP. UDP — протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.

  4. Прикладной уровень. На прикладном уровне работает большинство сетевых приложений. Эти программы имеют свои собственные протоколы обмена информацией, например, HTTP для WWW, FTP (передача файлов), SMTP (электронная почта), SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие.

В сетях на базе стека протоколов TCP/IP принята так называемая IP-адресация. IP-адрес представляет собой 32-битовое (по версии IPv4) или 128-битовое (по версии IPv6) двоичное число. Удобной формой записи IP-адреса (IPv4) является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками, например, 192.168.0.1. (или 128.10.2.30 — традиционная десятичная форма представления адреса, а 10000000 00001010 00000010 00011110 — двоичная форма представления этого же адреса). IP-адреса представляют собой основной тип адресов, на основании которых сетевой уровень протокола IP передаёт пакеты между сетями. IP-адрес назначается администратором во время конфигурирования компьютеров и маршрутизаторов.

Приведем некоторые команды командного интерпретатора, используемые при работе в сети:

  1. ifconfig – используется для конфигурации сетевого интерфейса и отображения его настроек.

  2. route – используется для настройки маршрутизации; с помощью этой команды определяется через какой из узлов отправлять пакеты в ту или иную сеть.

  3. ping – посылает запросы к узлам сети по протоколу icmp, чтобы установить их доступность.

  4. traceroute – выводит трассировку маршрута до заданного узла с отображением всех узлов, через которые идут пакеты.

  5. arp – служит для вывода ARP-таблицы.

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

  7. С помощью команд ssh и telnet по соответствующим протоколам производится доступ к удаленным узлам сети.

Порядок выполнения работы

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

  2. Командой ifconfig узнать текущее состояние сетевого интерфейса.

  3. Командой ifconfig eth0 192.168.0.2 netmask 255.255.255.0’ присвоить сетевому интерфейсу заданный преподавателем ip-адрес и маску подсети.

  4. Посмотреть, что изменилось в выводе команды mydirectory.

  5. Просмотреть таблицу маршрутизации командой netstat -nr.

  6. Командой route add default gw 192.168.0.1’ задать шлюз по умолчанию. Адрес шлюза сообщит преподаватель.

  7. Проверить, что изменилось в выводе команды mydirectory.

  8. Попробовать обменяться пакетами icmp с соседней машиной («пропинговать»), при помощи команды ping.

  9. Командой arp просмотреть таблицу соответствия ip-адресов узлов сети их аппаратным MAC-адресам, найти в таблице ip-адрес, который “пинговался” в п.9.

  10. Командой traceroute проследить трассировку маршрута к узлу, находящемуся вне данной локальной сети.

  11. Если имя хоста внешней сети не разименовывается, записать в файл /etc/resolv.conf DNS сервер (адрес укажет преподаватель).

  12. Командами nslookup и dig просмотреть DNS записи о хосте www.mail.ru, или любом другом.

  13. Командой whois узнать информацию о регистрации любого доменного имени в зоне .com

  14. Завести себе учетную запись userN, оставляя все параметры по умолчанию, где N – номер компьютера.

  15. Используя протокол ssh зайти на машину соседа, сделать несколько перемещений по файловой системе на машине соседа.

  16. Командой exit разорвать соединение с компьютером соседа.

  17. Удалить учетную запись userN командой userdel.

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

  19. С помощью команды wget скачать файл, по адресу http://www.mathopd.org/dist/mathopd-1.4p4.tar.gz.

  20. При помощи программы lynx произвести серфинг по сайтам Интернет.

  21. Завершить работу, выйти из системы, оформить отчет о проделанной работе.

Контрольные вопросы:

  1. Как можно узнать, кто зарегистрированный на компьютере?

  2. Какую информацию отображают команды предыдущего пункта?

  3. Как отправить сообщение другим пользователям?

  4. Что нужно сделать, если вы не хотите получать сообщения от других пользователей?

  5. Какие протоколы используются при работе в сети?

Лабораторная работа №6. Управление учетной записью пользователя

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

Краткие сведения из теории

Информация об учетных записях пользователей ОС Unix хранится как правило в файле /etc/passwd. Файл - это список пользователей, которые известны системе. В процессе регистрации пользователя система обращается к данному файлу в поисках идентификатора пользователя, а также для проверки пароля.

Каждая строка файла описывает одного пользователя и содержит 7 полей, разделенных двоеточием:

- регистрационное имя;

- зашифрованный пароль;

- идентификатор пользователя;

- идентификатор группы;

- поле GECOS, содержит различную информацию о пользователе;

- начальный каталог;

- регистрационный интерпретатор команд.

Эта информация имеет вид:

username:password:uid:gid:gecos:homedir:shell.

Значения из файла /etc/passwd хранятся в соответствующих переменных окружения: SHELL, HOME, UID и т.д. Чтобы отправить сообщение по сети без использования электронной почты, можно использовать команду write. Синтаксическая структура команды:

write<username><ttyname>, где

username – пользователь, которому посылается сообщение,

ttyname – терминал, на котором зарегистрирован этот пользователь.

Прежде чем посылать сообщение, необходимо убедиться, используя команду who, что адресат зарегистрирован в системе. Можно послать сообщение всем пользователям системы. Для этого используется команда wall. Для отправки такого сообщения после ввода команды и текста сообщения необходимо нажать <Ctrl+D> для его отправки. Для диалога между двумя пользователями можно использовать команду talk. Для отправки электронной почты используется специальная программа sendmail. Прочитайте о ней в справочной документации.

Приведем список команд, необходимых, для управления учетными записями.

adduser, useradd – добавление новых пользователей в систему

rmuser, userdel – удаление пользователей

passwd – смена пароля пользователя

finger – просмотр информации gecos

chfn – изменение информации gecos

chsh – изменение командного интерпретатора

users, last, who – просмотр списка работающих в системе пользователей

write – отправка сообщения на терминал другого пользователя

mail – просмотр почты

sendmail – отправка почты

Порядок выполнения работы

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

  2. Просмотреть информацию GECOS своей учетной записи.

  3. Изменить информацию GECOS своей учетной записи.

  4. Просмотреть информацию о командном интерпретаторе своей учетной записи.

  5. Сменить командный интерпретатор.

  6. Просмотреть файл /etc/passwd

  7. Поменять пароль для своей учетной записи, проверить изменения пользуясь командой login.

  8. Просмотреть информацию о работающих в системе пользователях командой users.

  9. Просмотреть информацию о работающих в системе пользователях командой last.

  10. Добавить пользователя, проведя все соответствующие этому действия.

  11. Удалить этого пользователя из системы.

  12. Отправить письмо любому пользователю системы, получить ответ.

  13. Просмотреть свою почту.

  14. Отправить сообщение командой write другому пользователю.

  15. Закончить работу, выйти из системы.

  16. Составить отчет о проделанной работе.

Контрольные вопросы:

    1. Где записывается информация, введенная по команде adduser?

    2. Как сменить пароль учетной записи пользователя?

    3. Можно ли передать права владения файлом другому пользователю?

    4. Как изменить права владения файлом?

    5. Как изменить права доступа к файлу?

Лабораторная работа №7. Работа с процессами

Цель работы – получение навыков управления системой Linux на пользовательском уровне и осуществления контроля за использованием ресурсов системы.

Краткие сведения из теории

Процесс – это системный объект, посредством которого можно контролировать обращения программы к памяти, процессору и ресурсам ввода-вывода

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

Каждому новому процессу присваивается уникальный идентификатор, или идентификационный номер процесса – PID.

Новый процесс порождается по системному вызову fork, после выполнения которого запускается новая программа системным вызовом exec.

Системный вызов fork возвращает два значения: в порожденном процессе – 0, а в родительском – идентификатор потомка.

Процесс может находиться в одном из 4-х состояний: выполнение, ожидание, зомби, останов. Каждый процесс имеет приоритет выполнения. С помощью команды «ps» можно получить информацию об идентификаторе, приоритете, управляющем терминале, объеме памяти, используемой процессом и т.п.

Процессы могут выполняться как на переднем плане, так и в фоновом режиме. Чтобы запустить процесс в фоновом режиме, после команды запуска ставится знак «&». Для перевода задачи из состояния приостановки или фонового режима в режим переднего плана используется команда fg%<N> с номером процесса или его PID. Перевод в фоновый режим осуществляется командой bg%<N>.

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

Порядок выполнения работы

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

  2. Узнать имя текущей учетной записи, воспользовавшись командой whoami.

  3. Узнать, какие пользователи работают в системе, набрав в командной строке команду users.

  4. Повторить п.3, используя команду last.

  5. Узнать версию операционной системы, используя команду uname.

  6. Открыть вторую терминальную сессию.

  7. Создать файл с любым именем, вызвав командой vi текстовый редактор.

  8. Командой tail с параметром начать следить за изменениями в текстовом файле.

  9. Работая в первой терминальной сессии, перенаправить вывод команды ls в созданный файл и проследить за его изменениями.

  10. Командой du узнать сколько места на диске занимает какой-либо каталог в домашней директории.

  11. Командой df получить информацию о распределении дискового пространства.

  12. Командой sort отсортировать вывод команды ls по убыванию.

  13. Командой head вывести на экран первые три строки созданного ранее файла.

  14. Создать скрипт, выводящий на экран имя самого большого файла в заданной преподавателем директории.

  15. Изучить команду ps, прочитав документацию (используя man).

  16. Провести анализ процессов, запущенных конкретным пользователем, затем всеми пользователями командой ps с различными параметрами.

  17. Изменить состояния процессов:

    1. Запустив процесс как фоновый, перевести его в режим переднего плана.

    2. Осуществить перевод процесса в фоновый режим.

    3. Приостановить процесс и запустить его вновь.

    4. Прервать выполнение процесса, используя команду kill.

  18. Завершить работу, выйти из системы, оформить отчет по проделанной работе.

Контрольные вопросы:

  1. Что такое процесс? В каких состояниях он может находиться?

  2. Какие информационные структуры служат для определения процесса?

  3. Как определить, какие процессы активны в данный момент времени?

  4. Как перевести процесс из режима переднего плана в фоновый и обратно?

  5. Как узнать, какие пользователи эксплуатируют работающие в системе процесса?

  6. Как изменить приоритет процесса?

  7. Что представляет собой образ процесса?

  8. Какая информация содержится в дескрипторе процесса?

  9. Где хранится контекст процесса?

  10. Какими средствами реализуется синхронизация процесса?

Лабораторная работа № 8 Установка программного обеспечения

Цель работы: получить навыки установки программного обеспечения и установить самостоятельно Web-сервер.

Краткие сведения из теории

Программное обеспечение для Linux является свободным и распространяется в виде открытых исходных кодов. При установке программ исходных кодов необходимо выполнить следующие действия; т.е. выполнить команду bash:

- configure – конфигурирование установки или выбор параметров установки.

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

- make – компиляция программы.

- make install – непосредственно инсталляция, т.е. распределение файлов программы по директориям файловой системы.

Существует еще один способ установки программного обеспечения – из портов. Порты – это набор директорий, в которых содержатся установочные скрипты. Достаточно перейти в директорию, соответствующую требуемой программе и выполнить команду make. Дистрибутивы программ сопровождаются, как правило, текстовыми файлами README и INSSTALL,содержащими информацию по установке и использованию программы.

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

Порядок выполнения работы

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

  2. Определить версию ядра Linux с помощью команды unamea.

  3. Записать в файл полученную в п.2 информацию.

  4. С помощью команды wget скачать архив с исходным кодом Web-сервера. Исходный код найти по адресу: http://www.mathopd.org/dist/mathopd-1.4p4.tar.gz

  5. Разархивировать архив командой tarzxvf mathopd-1.4p4.tar.gz

  6. Перейти в разархивированный каталог.

  7. Произвести компиляцию командой make.

  8. Выполнить команду make install.

  9. Настроить mathopd. Для этого надо изменить файл /usr/local/etc/mathopd.cfg. Эти изменения внести в раздел Server. Они должны содержать псевдоним директории, из которой произойдет загрузка web-страницы и конкретное место файловой системы, где будет хранится файл index.htm.

  10. Вызвать командой vi текстовый редактор.

  11. Создать файл /home/labX/index.htm.

  12. Записать в созданный файл ip-адрес и MAC-адрес своего компьютера.

  13. Запустить Web-сервер mathopd.

  14. Любым браузером просмотреть полученную web-страницу (например в строке адреса браузера ввести http:/192.168.3.1/labX).

  15. Проанализировать содержание web-страницы.

  16. Выйти из системы.

  17. Составить отчет о проделанной работе.

Контрольные вопросы

  1. Что такое псевдоним директории или файла?

  2. Какие методы существуют для обновления версии системы?

  3. Какая информация может быть получена при выполнении команды uname?

  4. Что такое файл инициализации? Где они находятся?

  5. Как происходит архивация (разархивация) файлов? Какие команды используются для архиваирования?