
- •Основные концепции unix. Архитектура unix. Классификация операционных систем.
- •Файловая система unix. Стандарт на файловую систему. Монтирование файловых систем. Файловая система unix
- •Монтирование файловых систем
- •Стандарт на файловую систему
- •Контекст процесса. Планирование процессов. Межпроцессное взаимодействие.
- •Планирование процессов
- •Межпроцессное взаимодействие
- •Терминал и командная строка. Формат командной строки.
- •Формат командной строки
- •Исполнение команды. Способы Объединения команд.
- •Возможности командной оболочки. Программное окружение. Справочная подсистема. Страницы руководства.
- •Информационная безопастность. Концепция безопасности в unix.
- •Политика безопасности. Управление доступом.
- •Аутентификация и авторизация.
- •Правда доступа. Последовательность проверки. Подмена идентификатора субъекта.
- •Вход пользователя в систему. Суперпользователь. База данных пользователей. Ограничение сеанса пользователей
- •Введение в сети. Взаимодействие открытых систем.
- •Сетевой интерфейс unix. Сетевой адрес. Маршрутизация. Протокол icmp Сетевой интерфейс unix
- •Сетевые соединения. Служба доменных имен. Удаленный терминал.
- •Межсетевой экран iptables
- •Этапы загрузки системы. Процесс init
- •Уровни выполнения системы
Сетевые соединения. Служба доменных имен. Удаленный терминал.
Транспортных протоколов в TCP/IP два – это TCP и UDP устроен просто. Пользовательские данные помещаются в единственный транспортный пакет-датаграмму, которой приписываются обычные для транспортного уровня данные: адреса и порты отправителя и получателя, после чего пакет уходит в сеть искать адресата. Проверять, был ли адресат способен этот пакет принять, дошел ли пакет до него и не испортился ли по дороге, предоставляется следующему – прикладному – уровню.
В UNIX существует прозрачный механизм именования сетевых протоколов. Согласно стандартам Internet для большинства приложений существуют стандартные порты, на которых соответствующие приложения должны принимать соединения. В файле /etc/services можно увидеть список соответствия имён протоколов номерам портов. Благодаря этому файлу, в UNIX можно во всех утилитах вместо номера порта писать имя соответвтвующего протокола.
Другое дело – TCP. Этот протокол очень заботится о том, чтобы передаваемые данные дошли до адресата в целости и сохранности. Для этого предпринимаются следующие действия:
установление соеднинения;
обработка подтверждения корректной доставки;
отслеживание состояния абонентов.
Для просмотра всех существующих в настоящий момент сетевых соединений можно воспользоваться командой netstat.
Служба доменных имен.
доменные имена – несколько слов (часто осмысленных), запоминать гораздо удобнее, чем адреса (четыре числа).
Когда-то имена всех компьютеров в сети, соответствующие IP-адресам, хранились в файле /etc/hosts. Пока абоненты Internet были наперечет, поддерживать правильность его содержимого не составляло труда. Как только сеть начала расширяться, неувязок стало больше. Трудность была не только в том, что содержимое hosts быстро менялось, но и в том, что за соответствие имен адресам в различных сетях отвечали разные люди и разные организации. Появилась необходимость структурировать глобальную сеть не только топологически (с помощью IP и сетевых масок), но и административно, с указанием, за какие группы адресов кто отвечает.
Проще всего было структурировать сами имена компьютеров. Вся сеть была поделена на домены – зоны ответственности отдельных государств («us», «uk», «ru», «it» и т. п.) или независимые зоны ответственности («com», «org», «net», «edu» и т. п.). Для каждого из таких доменов первого уровня должно присутствовать подразделение, выдающее всем абонентам имена, заканчивающиеся на «.домен» Подразделение обязано организовать и поддерживать службу, заменяющую файл hosts: любой желающий имеет право узнать, какой IP-адрес соответствует имени компьютера в этом домене или какому доменному имени соответствует определенный IP-адрес.
Такая служба называется DNS (Domain Name Service, служба доменных имен). Она имеет иерархическую структуру. Если за какую-то группу абонентов домена отвечают не хозяева домена, а кто-то другой, ему выделяется поддомен (или домен второго уровня), и он сам распоряжается именами вида «имя_компьютера.поддомен.домен». Таким образом, получается нечто вроде распределенной сетевой базы данных, хранящей короткие записи о соответствии доменных имен IP-адресам.
В самом простом случае для того, чтобы сказать системе, какой сервер доменных имён использовать, необходимо изменить файл /etc/resolv.conf. В более сложных системах можно установить и настроить собственный сервер доменных имён.
Для проверки работы системы DNS используются утилиты dig и host.
Удаленный терминал.
Концепция терминала может быть расширена на сеть. Действительно, было бы удобно получить доступ к удалённой машине и работать с ней как за обычными монитором и клавиатурой. Отпадает необходимость иметь аппаратный терминал к каждому хосту, можно зайти терминалом на один хост, затем удаленным терминалом по сети на любой другой хост. В современных условиях повсеместности сети Internet, удалённые терминалы становятся основным рабочим инструментом администратора системы.
В сетях TCP/IP существует несколько приложений, позволяющих осуществить терминальный заход. Рассмотрим два из них: telnet и ssh. Оба построены по единому клиент-серверному принципу.
Telnet – стандартное приложение, которое присутствует практически в каждой реализации TCP/IP. Оно может быть использовано для связи между хостами, работающими пол управлением различных операционных систем. Telnet использует согласование опций клиента и сервера, чтобы определить, какие характеристики присутствуют с той и с другой стороны.
Клиент telnet взаимодействует и с пользователем, находящимся за терминалом, и с протоколами TCP/IP. Обычно, все что пользователь вводит с клавиатуры отправляется по TCP соединению, а все что приходит по соединению попадает на терминал.
Сервер telnet обычно взаимодействует с так называемыми псевдотерминальными устройствами в UNIX системах. Это делает его похожим на командный интерпритатор (shell), который запускается на сервере, или на любую программу, которая запускается из командной оболочки, так как именно они общаются с терминальными устройствами. Некоторые приложения, например, полноэкранные редакторы, считают, что они общаются с терминальным устройством.
Клиент telnet имеет еще одно полезное преминение. С его помощью можно тестировать стандартные сетевые протоколы – если в качестве порта назначения назначить порт соответствующего приложения. Telnet отправляет текстовые строки, разделённые знаками переноса строки, что делает его совместимым со многими протоколами Internel (SMTP, HTTP и т.п.).
Программа telnet обладает значительным недостатком – вся информация в ней (в том числе аутентификация пользователей) производится открытым текстом. В современных условиях глобальной сети это уже небезопасно. Решением этой проблемы является программа ssh, которая, будучи аналогичной по функциональности программе telnet, устанавливает защищённое соединение и предоставляет удалённый терминал с шифрацией всего промежуточного трафика.
В настоящее время для удалённого администрирования серверами в Internet применяется исключительно команда ssh.