русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Терминальный режим и консольные атаки


Дата добавления: 2014-11-28; просмотров: 1073; Нарушение авторских прав


 

UNIX-системы появились за десятилетие до создания корпорацией IBM первых массовых персональных компьютеров (модель IBM 5150 1981 года). ЭВМ 70-х годов, как правило, представляли собой громоздкое оборудование, размещенное в машинном зале, и много терминалов, расположенных на рабочих местах пользователей.

Изначально терминалы предназначались для передачи и отображения только текстовой информации, т. е. нажатие клавиши на клавиатуре приводило к формированию и передаче из терминала в ЭВМ кода символа, соответствующего нажатой клавише, а получение терминалом такого кода от ЭВМ приводило к отображению на экране монитора символа, соответствовавшего этому коду. В качестве такой информации выступали символы английского алфавита (строчные и прописные), знаки пунктуации и арабские цифры. По этой причине текстовые терминалы ещё называли алфавитно-цифровыми. Здесь необходимо добавить, что, помимо вышеперечисленных алфавитно-цифровых символов, необходимо было передавать и некоторые служебные символы, которые выполняли функции управления связью и форматирования текста. Всё это было использовано в терминалах в соответствии со стандартом ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией).

Терминал, который подключался непосредственно к процессорной стойке или плате, назывался консолью, и с него производилось управление ЭВМ. Консоль представляла собой автономное устройство, состоящее из устройства отображения, устройства ввода и процессорного блока. Первые терминалы были телетайпами — дистанционно управляемыми пишущими машинками, поэтому текстовая консоль до настоящего времени обозначается tty (teletype – печать на расстоянии).

Терминалы обозначаются:

· ttyS – последовательные com-порты;

· tty0-tty63– 64 виртуальных терминала, с которыми работают программы–оболочки;



· ttya0-ttyef – 256 псевдотерминалов (с псевдотерминалами работают сетевые службы sshd, telnetd и т. п.);

· vcN – виртуальные консоли.

Классической реализацией текстового интерфейса, восходящей к первой половине XX века, является алфавитно-цифровое устройство ввода-вывода, например комплект из клавиатуры и АЦПУ (телетайпа). Впоследствии вместо АЦПУ стали применять мониторы, снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши) называются консолью компьютера.

Настоящие текстовые терминалы сейчас очень редки, и производить подобные устройства экономически невыгодно. Подключить такие устройства к ЭВМ можно с помощью последовательных аппаратных интерфейсов. Но нередко консоли эмулируются персональными компьютерами с использованием аппаратуры, каналов и протоколов вычислительных сетей. Так, сетевой узел, с которого получен доступ к серверу, управляемому ОС Linux, по протоколу telnet или ssh, представляется серверной командной оболочке удалённым терминалом.

Видеопамять современных персональных компьютеров позволяет вместить в себя много текстовых экранов. Благодаря этому персональный компьютер с ОС Linux, имеющий один монитор и одну клавиатуру, может иметь множество консолей. Переключение между ними производится комбинацией клавиш <Alt>-<Fn>, где номер функциональной клавиши соответствует номеру активного терминала. Переключаясь между виртуальными терминалами, один человек может зарегистрироваться и работать в системе от имени нескольких пользователей и эксплуатировать в одиночку операционную систему в многопользовательском режиме.

В ПК, управляемом ОС UNIX, роль терминала, а точнее – консоли, выполняют клавиатура, контроллер клавиатуры, терминальный драйвер, видеоадаптер и монитор. Таким образом, за ввод информации отвечают первые три, а за вывод — последние три перечисленные компоненты. Таким образом, в персональном компьютере два различных физических устройства, подключенные своими интерфейсами одно к видеконтроллеру, а второе – к контроллеру клавиатуры, объединяются в одно логическое устройство, и обращение к нему производится через один специальный файл и общий драйвер.

Для переключения в текстовый режим из графического X–Window, не завершая при этом его работу, требуется нажать <Ctrl>-<Alt>-<Fn>. Впрочем, в X–Window пользователь может запустить приложение, которое эмулирует работу в режиме терминала (например,xterm). Ввиду наличия полос прокрутки они более удобны для отображения строк, не вмещающихся в стандартный текстовый терминал.

Удобство переключения между терминалами состоит в возможности практически одновременно работать в системе от имени разных субъектов. Например, администратор может использовать одну консоль для системных команд, требующих полномочий root, в другой консоли работать с документами от имени обычного пользователя, а в третьей – от имени третьего пользователя запустить длящийся вычислительный процесс. Не имея возможности справиться с «зависшим» или некорректно работающим процессом, пользователь переходит в другую консоль, регистрируется в ней, выводит с помощью команды ps -ef список процессов, определяет по номеру терминала и имени неуправляемого процесса его идентификатор PID и посылает планировщику задач команду kill -9 PID на завершение процесса.

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

Для того чтобы предоставить пользователям возможность регистрироваться в системе, первичный процесс init при загрузке системы на многопользовательском уровне 3 запускает несколько (по умолчанию – шесть) процессов getty, управляющих виртуальными консолями. Программа getty открывает последовательное устройство (текстовый терминал, виртуальный терминал или модем) и ожидает подключения. Программа выводит приглашение, а затем, после ввода имени пользователя, передает управление программе login. Существует много разновидностей getty:mgetty, mingetty, ugetty, agetty, gettyps, fbgetty и т. д. Процессы, обслуживающие виртуальные терминалы, можно увидеть в выводных данных команды ps –ef .

Если пользователь не смог успешно зарегистрироваться, программа регистрации через определенный промежуток времени завершается, закрывая открытую терминальную линию, а процесс init порождает для этой линии следующий getty-процесс, открывающий терминал вместо прекратившего существование процесса. То есть всем определенным в /etc/inittab виртуальным консолям суждена «вечная» (до останова или перезагрузки системы) жизнь.

Для уменьшения числа виртуальных консолей достаточно удалить или закомментировать в файле /etc/inittab соответствующее число строк. А для увеличения – создать должное количество новых по образу и подобию существующих строк, изменяя только идентификатор и имя файла устройств:

 



<== предыдущая лекция | следующая лекция ==>
Файловая система /proc как «зеркало» процессов | C63:1235:respawn:/sbin/agetty 38400 tty63 linux


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.24 сек.