Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Операционная система Linux

Покупка
Артикул: 068669.03.99
Доступ онлайн
1 000 ₽
В корзину
В курсе даются основные понятия операционной системы Linux и важнейшие навыки работы в ней. Изложение сопровождается большим количеством практических примеров. Данный курс может рассматриваться как учебник для студентов, начинающих обучение по специальностям в области информатики и ещё не знакомых с ОС Linux. В первой части курса вводятся основные понятия и навыки, необходимые пользователю для того, чтобы начать грамотно работать в Linux. Здесь рассмотрены: пользователи с точки зрения системы, понятие терминал и работа с командной строкой, устройство файловой системы и работа с ней, права доступа в Linux, возможности командной оболочки, текстовые редакторы. Вторая часть посвящена тем понятиям и навыкам, которые требуются для администрирования ОС Linux. Сюда входит обсуждение этапов загрузки системы, технологий работы с внешними устройствами, файловыми системами и сетью в Linux, администрирование системы посредством конфигурационных файлов, управление пакетами. В завершающей лекции курса даётся обзор истории возникновения и развития Linux. Здесь же приведён обзор социального контекста, существенного для понимания ОС Linux и работы в ней: сообщество пользователей, лицензирование свободного программного обеспечения, место свободного ПО на современном рынке, дистрибутивы Linux и решения на базе Linux.
Курячий, Г. В. Операционная система Linux : краткий курс / Г. В. Курячий, К. А. Маслинский. - Москва : ИНТУИТ, 2016. - 321 с. - ISBN 5-9556-0029-9. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2147048 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов

                                    
Операционная система Linux

2-е издание, исправленное

Курячий Г.В.
Маслинский К.А.

Национальный Открытый Университет “ИНТУИТ”
2016

2

УДК 004.451.9Linux(075.8)
ББК 20
К93
Операционная система Linux / Курячий Г.В., Маслинский К.А. - M.: Национальный Открытый
Университет “ИНТУИТ”, 2016 (Основы информационных технологий)
ISBN 5-9556-0029-9

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

(c) ООО “ИНТУИТ.РУ”, 2005-2016
(c) Курячий Г.В., Маслинский К.А., 2005-2016

3

Сеанс работы в Linux

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

Пользователи системы

Прежде, чем система будет готова к работе с пользователем, происходит процедура
загрузки системы. В процессе загрузки будет запущена основная управляющая
программа ( ядро ), определено и инициализировано имеющееся оборудование,
активизированы сетевые соединения, запущены системные службы. В Linux во время
загрузки на экран выводятся диагностические сообщения о происходящих событиях, и
если все в порядке и не возникло никаких ошибок, загрузка завершится выводом на
экран приглашения ” login:”. Оно может выглядеть по-разному, в зависимости от
настройки системы: может отображаться в красиво оформленном окне или в виде
простой текстовой строки вверху экрана. Это приглашение к регистрации в системе:
система ожидает, что в ответ на это приглашение будет введено входное имя
пользователя, который начинает работу. Естественно, имеет смысл вводить такое имя,
которое уже известно системе, чтобы она могла “узнать”, с кем предстоит работать выполнять команды неизвестного пользователя Linux откажется.

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

Процедура регистрации в системе для Linux обязательна: работать в системе, не
зарегистрировавшись под тем или иным именем пользователя, просто невозможно 1).
Для каждого пользователя определена сфера его полномочий в системе: программы,
которые он может запускать, файлы, которые он имеет право просматривать, изменять,
удалять. При попытке сделать что-то, выходящее за рамки полномочий, пользователь
получит сообщение об ошибке. Такая строгость может показаться излишней, если
пользователи компьютера доверяют друг другу, и особенно если у компьютера только
один пользователь. Эта ситуация очень распространена в настоящее время, когда слово
“компьютер” означает в первую очередь ” персональный компьютер “.

Однако персональный компьютер - довольно-таки позднее явление в мире
вычислительной техники, получившее широкое распространение только в последние
два десятилетия. Раньше слово “компьютер” ассоциировалось с огромным и
дорогостоящим (занимавшим целые залы) вычислительным центром,
предназначенным в первую очередь для решения разного рода научных задач.
Машинное время такого центра стоит очень недешево, и при этом его возможности
необходимы одновременно многим сотрудникам, которые могут ничего не знать о
работе друг друга. Требуется следить за тем, чтобы не произошло случайного
вмешательства пользователей в чужую работу и повреждения данных (файлов),
выделять каждому машинное время (по возможности избежав простаивания) и

4

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

Такая модель была реализована в многопользовательской операционной системе
UNIX. Именно от нее Linux - также многопользовательская операционная система унаследовала принципы работы с пользователями. Но это не просто дань традиции или
стремление к универсальности: многопользовательская модель позволяет решить ряд
задач, весьма актуальных и для современных персональных компьютеров, и для
серверов, работающих в локальных и глобальных сетях, и вообще в любых системах,
одновременно выполняющих разные задачи, за которые отвечают разные люди.

Компьютер - это всего лишь инструмент для решения разного рода прикладных задач:
от набора и распечатывания текста до вычислений. Сложность состоит в том, что для
настройки этого инструмента и для работы с его помощью используются одни и те же
операции: изменение файлов и выполнение программ. Получается, что, если не
соблюдать осторожность, побочным результатом работы может стать выход системы
из строя. Поэтому первоочередная задача для систем любого масштаба - разделять
повседневную работу и изменение самой системы. В многопользовательской модели
эта задача решается очень просто: разделяются “обычные” пользователи и
администратор(ы). В полномочия обычного пользователя входит все необходимое
для выполнения прикладных задач, попросту говоря, для работы, однако ему
запрещено выполнять действия, изменяющие саму систему. Таким образом можно
избежать повреждения cистемы в результате ошибки пользователя (нажал не ту
кнопку) или ошибки в программе, или даже по злому умыслу (например,
вредительской программой-вирусом). Полномочия администратора обычно не
ограничены.

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

Если компьютер подключен к глобальной или локальной сети, то вполне вероятно, что
какую-то часть хранящихся на нем ресурсов имеет смысл сделать публичной и
доступной по сети. И напротив, часть данных, скорее всего, делать публичными не
следует (например, личную переписку). Ограничив доступ пользователей к
персональным данным друг друга, мы решим и эту задачу.

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

5

компьютерах. В самом простом варианте - для персонального компьютера, на котором
работает только один человек - эта модель сводится к двум пользователям: обычному
пользователю для повседневной работы и администратору - для настройки,
обновления, дополнения системы и исправления неполадок. Но даже в таком
сокращенном варианте это дает целый ряд преимуществ.

Учетные записи

Конечно, система может быть “знакома” с человеком только в переносном смысле: в
ней должна храниться запись о пользователе с таким именем и о связанной с ним
системной информации - учетная запись. Английский эквивалент термина учетная
запись - account, “счет”. Именно с учетными записями, а не с самими пользователями,
и работает система. В действительности, соотношение учетных записей и
пользователей в Linux обычно не является однозначным: несколько человек могут
использовать одну учетную запись - система не может их различить. И в то же время в
Linux имеются учетные записи для системных пользователей, от имени которых
работают некоторые программы, но не люди.

Учетная запись ( account ) - объект системы, при помощи которого Linux ведет учет
работы пользователя в системе. Учетная запись содержит данные о пользователе,
необходимые для регистрации в системе и дальнейшей работы с ней.

Учетные записи могут быть созданы во время установки системы или после установки.
Подробно процедура создания учетных записей (добавления пользователей) описана в
лекции 12.

Главное для человека в учетной записи - ее название, входное имя пользователя.
Именно о нем спрашивает система, когда выводит приглашение ” login:”. Помимо
входного имени в учетной записи содержатся некоторые сведения о пользователе,
необходимые системе для работы с ним. Ниже приведен список этих сведений.

Входное имя (login name) - название учетной записи пользователя, которое нужно
вводить при регистрации в системе .

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

Linux связывает входное имя c идентификатором пользователя в системе - UID (User
ID). UID - это положительное целое число, по которому система и отслеживает
пользователей2). Обычно это число выбирается автоматически при регистрации
учетной записи, однако оно не может быть произвольным. В Linux есть некоторые
соглашения относительно того, какому типу пользователей могут быть выданы
идентификаторы из того или иного диапазона. В частности, UID от ” 0 ” до ” 100 ”
зарезервированы для псевдопользователей3).

Идентификатор пользователя, UID - уникальное число, однозначно
идентифицирующее учетную запись пользователя в Linux. Таким числом снабжены все

6

процессы Linux и все объекты файловой системы. Используется для персонального
учета действий пользователя и определения прав доступа к другим объектам системы.

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

Кроме идентификационного номера пользователя, с учетной записью связан
идентификатор группы. Группы пользователей применяются для организации доступа
нескольких пользователей к некоторым ресурсам. У группы, так же, как и у
пользователя, есть имя и идентификационный номер - GID (Group ID). В Linux
пользователь должен принадлежать как минимум к одной группе - группе по
умолчанию. При создании учетной записи пользователя обычно создается и группа,
имя которой совпадает с входным именем4), именно эта группа будет использоваться
как группа по умолчанию для данного пользователя. Пользователь может входить более
чем в одну группу, но в учетной записи указывается только номер группы по
умолчанию.

Полное имя

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

Домашний каталог

Файлы всех пользователей в Linux хранятся раздельно, у каждого пользователя есть
собственный домашний каталог, в котором он может хранить свои данные. Доступ
других пользователей к домашнему каталогу пользователя может быть ограничен.
Информация о домашнем каталоге обязательно должна присутствовать в учетной
записи, потому что именно с него начинает работу пользователь,
зарегистрировавшийся в системе.

Командная оболочка

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

7

Интерпретатор командной строки ( командный интерпретатор, командная оболочка,
оболочка ) - это программа, используемая в Linux для организации “диалога” человека
и системы. Командный интерпретатор имеет три основных ипостаси: (1) редактор и
анализатор команд в командной строке, (2) высокоуровневый системноориентированный язык программирования, (3) средство организации взаимодействия
команд друг с другом и с системой.

Понятие “администратор”

В Linux есть только один пользователь, полномочия которого в системе
принципиально отличаются от полномочий остальных пользователей - это
пользователь с идентификатором ” 0 “. Обычно учетная запись пользователя с UID=0
называется root (англ., “корень”). Пользователь root - это “администратор” системы
Linux, учетная запись для root обязательно присутствует в любой системе Linux, даже
если в ней нет никаких других учетных записей. Пользователю с таким UID разрешено
выполнять любые действия в системе, а значит, любая ошибка или неправильное
действие может повредить систему, уничтожить данные и привести к другим
печальным последствиям. Поэтому категорически не рекомендуется регистрироваться
в системе под именем root для повседневной работы. Работать в root следует только
тогда, когда это действительно необходимо: при настройке и обновлении системы или
восстановлении после сбоев.

Именно root обладает достаточными полномочиями для создания новых учетных
записей.

Регистрация в системе

Вернемся теперь к нашей загруженной операционной системе Linux, которая попрежнему ожидает ответа на свое приглашение ” login:”. Если система настроена
таким образом, что это приглашение оформлено в виде графического окна в центре
экрана, следует нажать комбинацию клавиш Ctrl+Alt+F1 - произойдет переключение
видеорежима и на экране на черном фоне появится примерно следующий текст:

Welcome to Some Linux / tty1 
localhost login:

Пример 1.1. Начальное приглашение к регистрации

Мы переключились в так называемый текстовый режим, в котором нам недоступны
возможности графических интерфейсов: рисование окон произвольной формы и
размера, поддержка миллионов цветов, отрисовка изображений. Все возможности
текстового режима ограничены набором текстовых и псевдографических символов и
несколькими десятками базовых цветов. Однако в Linux в текстовом режиме можно
выполнять практически любые действия в системе (кроме тех, которые требуют
непосредственного просмотра изображений). Текстовый режим в Linux - это
полнофункциональный способ управления системой. В различных реализациях Linux

8

работа в графическом режиме может выглядеть по-разному5), более того, графический
режим может быть даже недоступен после установки системы без специальной
настройки. Текстовый же режим доступен в любой реализации Linux и всегда выглядит
практически одинаково. Именно поэтому все дальнейшие примеры и упражнения мы
будем рассматривать и выполнять в текстовом режиме, возможностей которого будет
достаточно для освоения излагаемого в курсе материала.

Первая строка в примере - это просто приглашение, она носит информационный
характер. Существует очень много различных реализаций Linux (называемых
дистрибутивами, они будут обсуждаться в лекции 18), и в каждом из них принят свой
формат первой строки приглашения, хотя почти наверняка там будет указано, с какой
именно версией Linux пользователь имеет дело, и, возможно, будут присутствовать
еще некоторые параметры. В наших примерах мы будем использовать условную
реализацию Linux - “Some Linux”.

Вторая строка начинается с имени хоста - собственного имени системы,
установленной на данном компьютере. Это имя существенно в том случае, если
компьютер подключен к локальной или глобальной сети, если же он ни с кем более не
связан, оно может быть любым. Обычно имя хоста определяется уже при установке
системы, однако в нашем случае используется вариант по умолчанию - ” localhost “.
Заканчивается эта строка собственно приглашением к регистрации в системе - словом
” login:”.

Теперь понятно, что в ответ на данное приглашение мы должны ввести входное имя,
для которого есть соответствующая учетная запись в системе. В правильно
установленной операционной системе Linux должна существовать как минимум одна
учетная запись для обычного пользователя. Во всех дальнейших примерах у нас будет
участвовать Мефодий Кашин, владелец учетной записи ” methody ” в системе “Some
Linux”. Вы можете пользоваться для выполнения примеров любой учетной записью,
которая создана в Вашей системе (естественно, кроме root ).

Итак, Мефодий вводит свое входное имя в ответ на приглашение системы:

Welcome to Some Linux / tty1
localhost login: Methody
Password:
Login incorrect
login:

Пример 1.2. Регистрация в системе

В ответ на это система запрашивает пароль. Пароль Мефодия нам неизвестен,
поскольку он его никому не говорит. Когда Мефодий вводил свой пароль, на экране
монитора он не отображался (это сделано, чтобы пароль нельзя было подсмотреть),
однако Мефодий точно знает, что не сделал опечатки. Тем не менее, система отказала
ему в регистрации, выдав сообщение об ошибке (” Login incorrect “). Если же
внимательно посмотреть на введенное имя пользователя, можно заметить, что оно
начинается с заглавной буквы, в то время как учетная запись называется ” methody “.

9

Linux всегда делает различие между заглавными и строчными буквами, поэтому ”

Methody ” для него - уже другое имя. Теперь Мефодий повторит попытку:

login: methody
Password:
[methody@localhost methody]$

Пример 1.3. Успешная регистрация в системе

На этот раз регистрация прошла успешно, о чем свидетельствует последняя строка
примера - приглашение командной строки. Приглашение - это подсказка, выводимая
командной оболочкой и свидетельствующая о том, что система готова принимать
команды пользователя. Приглашение может быть оформлено по-разному, более того,
пользователь может сам управлять видом приглашения (подробнее это будет
рассмотрено в лекции 7), но почти наверняка в приглашении содержатся входное имя и
имя хоста - в нашем примере это ” methody ” и ” localhost ” соответственно.
Заканчивается приглашение чаще всего символом ” $ “. Это командная строка, в
которой будут отображаться все введенные пользователем с клавиатуры команды, а
при нажатии на клавишу Enter содержимое командной строки будет пеpедано для
исполнения системе.

Идентификация (authentication)

Когда система выводит на экран приглашение командной строки после правильного
введения имени пользователя и пароля, это означает, что произошла идентификация
пользователя. Пароль может показаться излишне сложным, но у системы нет другого
способа удостовериться, что за монитором находится именно тот человек, который
имеет право на использование данной учетной записи. Конечно, процедура
идентификации имеет очевидное значение для систем, к которым имеют
непосредственный или сетевой доступ многие не связанные друг с другом
пользователи. Процедура идентификации гарантирует, что к такой системе не получит
доступ случайный человек, не имеющий права использовать ее ресурсы и хранящуюся
в ней информацию. Одновременно она дает определенную гарантию защиты от
злонамеренного вмешательства: даже если навредить попытается пользователь,
имеющий учетную запись, его действия будут зарегистрированы в системе (поскольку
системе всегда известно, от имени какой учетной записи выполняются те или иные
действия), и злоумышленника можно будет найти. Для тех пользователей, которым
процедура идентификации кажется утомительной и необязательной (например,
единственным пользователям персональных компьютеров ), существует возможность
получить доступ к системе, минуя процедуру идентификации. Для этого применяется
программа autologin. Она предоставляет доступ к работе с графическим интерфейсом
сразу после загрузки системы, не запрашивая имя пользователя и пароль. В
действительности, autologin запускает все программы от имени одного пользователя,
зарегистрированного в системе. Например, Мефодий мог бы использовать свою
учетную запись methody для автоматического входа в систему. Однако у этого подхода
есть свои минусы:

10

Доступ онлайн
1 000 ₽
В корзину