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

[СОС] Лабораторная работа №1

.pdf
Скачиваний:
27
Добавлен:
14.04.2015
Размер:
100.72 Кб
Скачать

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ

Кафедра Безопасные информационные технологии

Методические указания по проведению лабораторной работы

“ Базовые примитивы работы в операционной системе семейства Unix ”

Санкт-Петербург 2009

Цель работы: Знакомство с основными принципами работы с операционной системой Linux.

Теоретическая информация

Linux - это операционная система, являющаяся одним из вариантов (клонов) операционной системы типа Unix. В своем первоначальном виде она была создана Линусом Торвальдсом (Linus Torvalds) как версия ОС UNIX для IBM-совместимых персональных ЭВМ. При этом Торвальдс опубликовал исходные коды своей системы и к развитию системы подключилось большое число независимых разработчиков. На всем протяжении своего развития разработка ведется в соответствии с требованиями международного стандарта на UNIX-совместимые системы IEEE POSIX. В настоящее время Linux используется как в качестве серверной ОС, так и на сетевых рабочих станциях или персональных компьютерах. Под операционную систему Linux существует множество приложений, предназначенных как для домашнего использования, так и для полностью функциональных рабочих станций UNIX и серверов Internet.

Некоторые особенности Linux

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

Основную часть ОС Linux принято называть ядром. В ядро входит самый нижний уровень функций операционной системы, как то: контроль аппаратных средств, запуск драйверов устройств, управление файловыми системами, создание процессов, управление памятью и другие базовые функции. Ядро Linux во многом походит на ядро UNIX. Ядро Linux имеет некоторые особенности, которые являются совершенно уникальными:

ядро построено по модульному принципу

на одном компьютере может быть установлено сразу несколько ядер

разработка ядра Linux управляется централизовано

Способ хранения данных в Linux кардинально отличается от способа, принятого в Windows. Файловая структура в Linux представлена одним деревом, при этом различные типы разделов, в том числе разделы на удаленных устройствах, выглядят однотипно. Здесь нет букв, приписанных к дискам. Такой подход позволяет, например, придерживаться одной и той же логической структуры каталогов на всех клиентских машинах. Существенным отличием в обращении с файлами является существование ссылок в большинстве файловых систем, с которыми работает Linux. По сути ссылки являются указателями на файлы или на целые каталоги. Существуют два вида ссылок: жесткие ссылки и символьные ссылки. Жесткая ссылка является просто еще одним именем, связанным с файлом, а символьная ссылка — это отдельно стоящий указатель. В том случае, если удален файл, символьная ссылка на него не удаляется, но начинает указывать в пустоту. Если число жестких ссылок на файл больше одной, то удаление одного имени не повлечет удаление файла. Реально он будет удален только после удаления последней жесткой ссылки.

Основные сведения. Командный интерпретатор

В операционной системе Linux каждому пользователю предоставляется способ взаимодействия с системой: передача ей команд и получение от нее ответов. Для этой цели служит специальная программа - командная оболочка (или интерпретатор командной

строки). Она должна быть запущена для каждого пользователя, который зарегистрировался в системе. Поскольку в Linux доступно несколько разных интерпретаторов командной строки, в учетной записи указано, какой из них нужно запустить для данного пользователя. Если специально не указывать командную оболочку при создании учетной записи, она будет назначена по умолчанию, вероятнее всего это будет bash. Знания и умения работы в командном интерпретаторе позволяют эффективно выполнять действия по управлению операционной системой.

Команда man

Доступ к интерактивной системе информации о системах, модулях, командах и утилитах осуществляется с помощью команды man

Команды для работы с файловой системой

ls — вывод на экран списка файлов и каталогов в текущем каталоге pwd -вывод имени текущего каталога

cd - изменение текущего каталога cp -копирование файлов и каталогов

mv -перемещение и переименовать файлов и каталогов

ln - создание ссылки (псевдонима) для файла или каталога rm -удалиние файлов и каталогов

mkdir -создание нового каталога rmdir -удаление пустого каталога

tar — утилита архивирования без сжатия

find — поиск файлов и каталогов по заданным критериям gzip — утилита сжатия файлов

Работа с процессами

ps – отображает информацию о процессах kill - посылка сигнала процессу

killall — посылка сигнала всем процессы по имени программы pstree — построения дерева процессов

Средства работы с сетевым окружением

ping — проверка работоспособности при помощи пакетов ICMP и UDP ifconfig — конфигурирование сетевых интерфейсов

arp – работа с таблицей ARP

tcpdump — программа сетевой анализатор

traceroute — трассировка пути следования до заданного хоста netstat – информация о портах и соединениях

route – работа с таблицей маршрутизации

Работа с текстовыми данными

cat - вывод содержимого файла на стандартный вывод

more -просмотр содержимого текстового файла постранично

less -просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам

head/tail — отображение первые/последние несколько строк файла vi – текстовый редактор

wc - подсчет количество строк, слов и символов в текстовом файле file - вывод типа данных файла

diff - сравнение двух текстовых файла

Работа с регулярными выражениями

sed — потоковый текстовый редактор, применяющий различные предопределённые текстовые преобразования к последовательному потоку текстовых данных

awk - обработка входного потока по заданным шаблонам.

grep – поиск строк согласно заданным регулярным выражениям

Работа с командным интерпретатором

export – определение переменных окружения set – вывод переменных окружения

alias – установка псевдонима для команды

<> - перенаправления ввода или вывода программы | - организация конвейера, когда вывод одной команды подается на вход следующей & - запуск программы в фоновом режиме

Системные утилиты

uname – вывод информации о хосте uptime – время работы системы

init # - переход на заданный уровень выполнения who – список активных пользователей системы reboot – перезагрузка системы

shutdown- выключение системы passwd – установка/изменение пароля groupadd – добавление группы useradd - добавление пользователя

id – вывод идентификатора пользователя mount – монтирование файловых систем dmesg – сообщения о ядра ОС

Команды диагностики системы

vmstat — статистика использования системной памяти free — информация об используемой и свободной памяти mpstat — статистика использования процессора

sar — статистика использования системных ресурсов

iostat — статистика использования подсистемы ввода-вывода

Работа с правами доступа

chmod — изменение прав доступа к файлам и каталогам chgrp — изменения группы-владельца для файлов и каталогов chown — изменение владельца для файлов и каталогов

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

В соответствии с вариантом выполнить перечисленные задания. Сохранить выполненные команды и их вывод. В отчете описать команды, использованные в ходе работе и дать их исчерпывающие объяснения.

Вариант 1

1.Вывести на экран таблицу маршрутизации хоста

2.Выяснить имя компьютера и его архитектуру

3.Создать текстовый файл. Написать в нем три цифры 1, каждая в новой строке. Затем используя команду sed заменить цифры 1 на 3.

4.Определить шлюз по умолчанию для хоста

5.Вывести на экран информацию о запущенных процессах в структурированном виде.

Вариант 2

1.Вывести статистическую информацию о системном вводе-выводе за последние 25 секунд

2.Выполнить перехват сетевых пакетов имеющих тип ICMP

3.Добавить к переменной окружения PATH путь /usr/local/bin

4.Вывести на экран список файлов и каталогов в каталоге /var/log упорядоченных по последней дате изменения

5.Вывести на экран все имена пользователей из файла /etc/passwd, имена которых начинаются с ad

Вариант 3

1.Вывести рекурсивно на экран список файлов и каталогов в директории /var/log

2.Вывести дерево процесса init

3.Посчитать количество слов какого-либо файла

4.Вывести на экран информацию о сетевых соединениях в режим established

5.Вывести информацию о версии ядра ОС

Вариант 4

1.Выяснить идентификатор пользователя mail

2.Узнать список смонтированных файловых систем

3.вывести на экран информацию о сетевом интерфейсе eth0 и узнать на какой скорости работает сетевой адаптер

4.Установить права доступа для файла так, чтобы только владелец мог его читать

5.Найти в сообщениях от ядра ОС упоминание о сетевом интерфейсе

Вариант 5

1.Перенаправить вывод команды, получающей список переменных окружения в файл. После этого используя команду awk вывести на экран только названия переменных.

2.Выяснить содержимое таблицы ARP

3.Определить количество, запущенных процессов bash

4.Найти все файлы в директории /var/log, имеющие расширение log

5.Вывести на экран последние 32 строки файла.

Список использованной литературы

1.Руководство по iptables (Iptales Tutorial 1.1.19) http://www.opennet.ru/docs/RUS/iptables/

2.Руководство администратор Linux Эви Немеет, Гарт Снайдер, Трент Р. Хейн

3.Операционная система Linux Курс лекций. Учебное пособие. Г.В.Курячий К.А. Маслинский

4.Встроенные руководства (man)