Введение в ос linux
Вид материала | Документы |
СодержаниеТерминальный доступ |
- Единый графический интерфейс. Введение в операционную систему Linux, 429.5kb.
- В Linux. 2 Приобретение и инсталляция Linux. 3 Учебник по Linux 4 Администрирование, 3589.91kb.
- Документация Calculate Linux, 12378.73kb.
- Gnu/Linux, 51.18kb.
- Лекция 17. Операционная система Linux, 126.24kb.
- Концепция развития спо в РФ 2 История Linux, 105.81kb.
- Windows против Linux, 88.72kb.
- RH253 Сетевые службы Red Hat Linux и администрирование безопасности, 45.9kb.
- Установка ос linux: основные моменты, 83.79kb.
- Исследование возможностей ос linux для приложений реального времени с обработкой разнородной, 98.25kb.
FTPВ Linux существует несколько вариантов службы, предоставляющей доступ к файлам по протоколу FTP (File Transfer Protocol). Как правило, они отличаются друг от друга сложностью настроек, ориентированных на разные категории абонентов, подключающихся к серверу. Если выбор предоставляемых в открытый доступ данных велик, будет велик и наплыв желающих эти данные получить ("скачать"), так что возникает естественное желание этот наплыв ограничить. При этом, допустим, компьютеры из локальной сети могут неограниченно пользоваться файловыми ресурсами сервера, соединений из того же города или в пределах страны должно быть не более двух десятков одновременно, а соединений из-за границы -- не более пяти. Такие ухищрения бывают нужны нечасто, но и они поддерживаются большинством FTP-демонов, вроде vsftpd, proftpd, pure-ftpd или wu-ftpd. FTP -- по-своему очень удобный протокол: он разделяет поток команд и поток собственно данных. Дело в том, что команды FTP обычно очень короткие, и серверу выгоднее обрабатывать их как можно быстрее, чтобы подолгу не держать ради них (часто -- ради одной команды) открытое TCP-соединение. А вот файлы, передаваемые с помощью FTP обычно большие, поэтому задержка при передаче в несколько долей секунды, и даже в пару секунд, не так существенна, зато играет роль пропускная способность канала. Было бы удобно, если бы для передачи команд использовался "быстрый, но тонкий" канал (т. е. среда передачи данных с малым временем отклика и небольшой пропускной способностью, например, наземное оптоволокно), а для передачи данных -- "медленный, но толстый" (например, спутниковая магистраль). Для того, чтобы эти каналы было проще различить, данные в FTP пересылаются по инициативе сервера, что означает, что именно сервер подключается к клиенту, а не наоборот. Делается это так: клиент подключается к 20-му порту сервера (управляющий порт FTP) и передаёт ему команду: "Хочу такой-то файл. Буду ждать твоего ответа на таком-то (временно выделенном) порту". Сервер подключается со своего 21-го порта (порт данных FTP) к порту на клиенте, указанном в команде, и пересылает содержимое запрошенного файла, после чего связь по данным разрывается и клиент перестаёт обрабатывать подключения к порту. Трудности начинаются, когда FTP-клиент находится за межсетевым экраном. Далеко не каждый администратор согласится открывать доступ из любого места Internet к любому абоненту внутренней сети по любому порту (пускай даже и с порта 21)! Да это и не всегда просто, учитывая подмену адресов. Для того, чтобы FTP работал через межсетевой экран, придумали протокол Passive FTP. В нём оба сеанса связи -- и по командам, и по данным -- устанавливает клиент. При этом происходит такой диалог. Клиент: "Хочу такой-то файл. Но пассивно". Сервер: "А. Тогда забирай его у меня с такого-то порта". Клиент подключается к порту сервера и получает оттуда содержимое файла. Если со стороны сервера тоже находится бдительный администратор, он может не разрешить подключаться любому абоненту Internet к любому порту сервера. Тогда не будет работать как раз Passive FTP. Если и со стороны клиента, и со стороны сервера есть по бдительному системному администратору, никакой вариант FTP не поможет. Ещё один недостаток протокола FTP: в силу двухканальной природы его трудно "затолкать" в SSL-соединение. Поэтому идентификация пользователя, если таковой имеется, в большинстве случаев идёт открытым текстом. Мефодий тут же вспомнил про своего приятеля, который сначала завёл себе где-то в Сети бесплатную WWW-страницу, файлы на которую надо было передавать по FTP, а потом отказался от этой затеи: с утомительным постоянством кто-то под завязку набивал эту страничку сомнительного вида архивами и программами. Несмотря на то, что для FTP подходит другой механизм шифрования, называемый TLS, далеко не все FTP-клиенты его поддерживают, и он оказывается не востребован на серверах. Поэтому рекомендуется использовать службу FTP только для организации архивов публичного доступа. Терминальный доступТекстовый интерфейс позволяет пользователю Linux работать на компьютере удалённо с помощью терминального клиента. Весьма удобно, находясь далеко от компьютера, управлять им самым естественным способом, с помощью командной строки. Препятствий этому немного: объём передаваемых по сети данных крайне невелик, ко времени отклика в полсекунды вполне можно привыкнуть, а если оно меньше десятой доли секунды, то задержка и вовсе не мешает. Что необходимо соблюдать строго, так это шифрование учётных записей при подключении к удалённому компьютеру, а на самом деле, и самого сеанса терминальной связи, так как в ним вполне может "засветиться" пароль: например, пользователь заходит на удалённый компьютер и выполняет команду passwd. Как уже говорилось в этих лекциях, сначала для терминального доступа использовался протокол TELNET и соответствующая пара клиент-сервер telnet-telnetd. От них пришлось отказаться в силу их вопиющей небезопасности. На смену TELNET пришла служба Secure Shell ("Надёжная Оболочка"), также состоящая из пары клиент-сервер -- ssh и sshd. Шифрование данных в Secure Shell организовано по принципу "асимметричных ключей", который позволяет более гибко Основная особенность программного обеспечения Linux -- многообразие продуктов, решающих сходные задачи, особенно если дело касается области, в которой существует несколько подходов к их решению. Открытая модель разработки программ, описанная в лекции ссылка скрыта, позволяет любому выбрать самый подходящий для него инструмент и развивать именно его. Поэтому список проектов, так или иначе связанных с Linux, насчитывает десятки (или даже сотни) тысяч наименований. Конечно же, работа с самой операционной системой не может быть самоцелью. Все усилия Мефодия по изучению операционной системы Linux и основных утилит, нужны были для того, чтобы он впоследствии мог наилучшим образом решать в этой операционной системе любые из своих прикладных задач, разрешимых при помощи компьютера. Как уже уяснил Мефодий, для очень многих задач достаточно стандартных инструментов Linux и текстового редактора, однако есть случаи, в которых всё-таки необходима специальная прикладная программа, именно для этого предназначенная, или в которых специальная программа удобнее комбинации стандартных утилит. Эта лекция посвящена краткому обзору прикладных программ для Linux, специально предназначенных для решения самых разных пользовательских задач. Материал, вошедший в эту лекцию нужно воспринимать только как пример, демонстрацию того, что и как можно делать в Linux, но вовсе не исчерпывающий список. В отличие от основных принципов устройства системы или стандартных утилит, обсуждавшихся в предыдущих лекциях, которые не изменяются (почти) в течение десятилетий, прикладное программное обеспечение -- это область, где всё меняется очень быстро. Технологии, сегодня считающиеся самыми передовыми, уже через несколько месяцев могут устареть. Вместе с ними могут устареть использующие их программы, а другие программы могут, наоборот, перейти в разряд наиболее современных и развитых. Поэтому перечисленные в этой лекции прикладные программы -- это не безусловная рекомендация, а довольно случайная выборка, отражающая текущее состояние дел в разработке приложений для Linux. Самый лучший способ найти и выбрать самые подходящие прикладные программы для своих задач -- посоветоваться с людьми, которые решают подобные задачи в Linux в настоящее время -- и попробовать. Нужно отдавать себе отчёт в том, что прикладные программы для Linux не являются частью самой Linux, поэтому любой из названных ниже программ может не оказаться в каком-то из конкретных дистрибутивов Linux. Но почти наверняка в любом дистрибутиве найдётся не меньше одной или нескольких программ для решения каждой из перечисленных ниже прикладных задач. Чтобы не загромождать изложение, мы остановимся лишь на самых распространённых программных продуктах, входящих во многие дистрибутивы Linux. |