русс | укр

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

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

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

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


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

Теоретические сведения


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


 

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

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

Второй уровень безопасности связан с доступом пользователя к данным (объектам Linux – файлам и каталогам) операционной системы. Вообще, все файлы в системе можно условно разделить на две категории: файлы, которые использует сама система (бинарные исполняемые файлы, статические и динамические библиотеки и т.д.) и файлы, которые в своей работе используют пользователи. Напомним, что краткую или расширенную информацию о наличии файла или директории можно получить по команде ls (см. лаб. раб. №1). Выведем расширенную информацию о файле chanal1.plx .По этой команде отображается следующая информация.

Рассмотрим полную информацию о файле по расширенному выводу команды ls с опцией –l слева направо. Самой левой информацией является набор прав доступа на объект, далее через пробел указывается сколько раз встречаются в системе ссылки на этот объект, затем указывается владелец данного объекта, потом через пробел отображается группа пользователей, которые могут пользоваться этим объектом, далее идет размер файла, затем дата создания или последней модификации объекта, и, наконец, в конце указывается название объекта. При сокращенном выводе данных по команде ls указывается имя объекта. Остановимся на перечисленных полях данных более подробно, уже справа налево.



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

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

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

Следующие два поля слева направо указывают владельца файла или каталога и группу пользователей, которые могут пользоваться этим объектом. На этих полях мы далее поподробнее остановимся.

Следующее поле показывает суммарное количество ссылок в системе на этот объект. В Linux имеется возможность создавать, так называемые мягкие и твердые ссылки. Ссылки не являются предметом рассмотрения этой лабораторной работы, и что это такое мы покажем в других работах. Если объект присутствует один и не него не ссылаются в системе, то в этом поле указывается цифра 1.

Наконец, последнее поле, которое мы рассматриваем, и оно же первое при чтении информации слева направо – права доступа на объект. На данном поле мы остановимся подробнее.

Права доступа на объект. Чтобы уберечь свои собственные файлы и каталоги операционная система использует ограничения на них. Такое же ограничение используется между данными разных пользователей, чтобы один из пользователей не смог специально или случайно повредить данные другого пользователя. При этом ограничение доступа к данным разделяется на ограничение на чтение (reed, символ “r”), ограничение на запись (write, символ “w”) и ограничение на выполнение файла (execution, символ “x”), если он исполняющий. Комбинация прав доступа на объект указывается в следующей последовательности: r w x . Если хотя бы одно из прав у пользователя отсутствует, то на месте этого символа ставится прочерк: - .Таким образом, операционная система не позволяет пользователю, не имеющему на это полномочий, читать, модифицировать объекты и запускать программы. Например, если пользователю разрешено только читать, а остальное запрещено, то последовательность будет такой: r-- , а если разрешено читать и запускать файл, но нельзя модифицировать, то такой: r-x и так далее. Т.е. каждый пользователь обладает своими правами на каждый объект.

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

Кроме указанных ограничений на чтение, запись и выполнение файлов, при доступе к данным Linux имеется и другое ограничение. Все пользователи в системе по уровню доступа к данным в Linux разделяются на три категории: владелец объекта (user), пользователи, входящий в группу, которой разрешен доступ к файлу (group) и другой сторонний пользователь (other), которые не имеют отношения к объекту Linux. В связи с этим полный набор прав доступа представляет собой последовательную комбинацию прав доступа всех трех категорий: владелец (user), группа пользователей (group) и другие пользователи (other). При этом каждая из категорий представлена набором трех ограничений на объект: чтение (r), запись (w) и выполнение (x).

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

Если пользователь сам создает файлы или каталоги – он ими владеет, т.е. может ими распоряжаться. Например, повысить уровень доступа к ним (rwx) или передать его другим пользователям, или пользоваться объектом совместно с другими пользователями. Таким образом, при доступе к этим объектам система безопасности Linux назначает ему и использует для него категорию – создатель или по-английски owner. По умолчанию, пользователь, создавший файл, может его читать (просматривать) и модифицировать (изменять, редактировать). Он может сам также его сделать исполнительным. Создатель объекта имеет доступ к этому объекту по первой категории прав (чтение, запись, выполнение). При работе с общими проектами (файлами или каталогами) в Linux имеется возможность пользователям объединяться в группы (group). Это очень удобно, когда многим пользователям приходится работать (читать, изменять и выполнять) одни и те же файлы. При этом разрешить пользоваться созданным объектом группе пользователей (group) может как сам создать этого объекта (user), так и суперпользователь системы root. Пользователи, находящиеся в одной группе, имеют одинаковые права на доступ к объекту Linux (файлу или каталогу), которые уже в свою очередь разделяются на доступ на чтение, доступ на запись, доступ на выполнение. Пользователи группы имеют доступ к объекту по второй категории прав доступа (чтение, запись, выполнение). И, наконец, существует также и третья категория, связанная с ограничениями доступа к объекту Linux – другой пользователь (other). Этот пользователь не является создателем объекта (user), он также не входит в группу пользователей (group), которые используют этот объект в своих целях при работе. Пользователь other имеет доступ к объекту Linux по третьей категории (чтение, изменение, выполнение). При попытке доступа пользователя к объекту Linux, система проверяет этого пользователя на принадлежность одной из трех категорий. Сначала на принадлежность к создателю (user). Если файл действительно создан этим пользователем, то система разрешает пользователю получить доступ к объекту в соответствие с первой категорией прав доступа (наложенными атрибутами на файл – чтение, изменение, выполнение). Если пользователь не является создателем объекта, но находится в группе пользователей, которые могут пользоваться этим объектом, то система разрешает пользователю пользоваться этим объектом по второй категории прав доступа на объект (чтение, модификация, выполнение). И, наконец, если пользователь не является создателем (user) и не входит в группу пользователей (group), которым открыт доступ к объекту, т.е. является “другим пользователем” (other) для данного объекта, то система разрешает ему использовать объект по третьей категории прав доступа (чтение, изменение, выполнение). Один и тот же пользователь для разных данных Linux может принадлежать всем трем категориям.

Назначение прав доступа на объект. При создании файла и директории по умолчанию командный интерпретатор назначает права доступа: rw-rw-r-- для файла и rwxrwxr-x для директории. Если пользователь user23, который входит в группу пользователей group14 создает новый файл rrr67, то расширенная информация по команде ls будет следующей (для упрощения размер и дату создания файла мы опустим).

-rw-rw-r-- 1 user23 group14 rrr67

Информация по правам доступа гласит о следующем. Пользователю user23 разрешено читать и модифицировать файл; группе, в которой он состоит – тоже читать и модифицировать файл, а остальным только читать.

Однако такие права по умолчанию можно изменить. Например, это нужно, что бы пользователи, входящие в группу больше не имели доступа к вашим файлам. Изменение прав доступа осуществляется с помощью команды chmod , в командной строке после которой может быть указана опция, например, опция –R для рекурсивного (применимого ко всем объектам вложения) изменения прав для директории, далее через пробел новые права и опять через пробел название файла или директории. Назначать новые права на объект можно как с нуля, т.е. не зависимо от предыдущих прав, так и модифицируя имеющиеся.

Назначение прав доступа “с нуля” (восьмеричного вида). Назначать права доступа “с нуля” можно с помощью восьмеричного вида путем последовательного указания трех цифр: 0 или 7, которые соответствуют каждой из категорий. Полная таблица соответствий прав доступа показана ниже.

Восьмеричный вид Двоичный вид Символьный вид Права доступа, разрешено
--- Нет никаких прав
--x Только выполнение
-w- Только запись
-wx Только запись и выполнение
r-- Только чтение
r-x Только чтение и выполнение
rw- Только чтение и запись
rwx Полные права

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

!!! Оговоримся, назначать права на объект Linux с помощью восьмеричного вида для всех трех категорий может только владелец объекта и root. Пользователь в группе и остальной пользователь этого сделать не могут.

Выведем сведения о файле laba2.cmd, который находится в текущей директории.

Как видно, данный объект доступен владельцу для чтения и записи, группе и остальным – только для чтения. Назначим новые права доступа владельцу – полные права, группе – чтение и запись, остальным – никаких прав. В соответствие с таблицей, в восьмеричном виде установим 760 с помощью команды chmod.

Теперь файл laba2.cmd имеет новые права. С помощью команды chmod можно также рекурсивно назначать права на все объекты в папке. Выйдем из папки, т.е. перейдем на уровень выше с помощью команды ls .. . И назначим теперь новые права на всю папку laba2 . Войдем опять в папку и убедимся, что на все файлы установлены новые права 760.

Модификация имеющихся прав доступа (символьный вид). Когда требуется изменять уже имеющиеся права на объект, то также используют команду chmod, однако пользуются символьным способом. Например, если объект для владельца доступен для чтения, записи и выполнения, а Вы – владелец и Вам требуется убрать доступ на выполнение, то в символьном виде можно просто отнять права на выполнение. Т.е. написать следующую команду, например, для файла laba2.log: сhmod u-x laba2.log , что означает убрать право для владельца (user, u) на выполнение (execution, x). Выполним сразу команду ls –l , затем поменяем права на файл laba2.log и опять выполним ls –l .

Из примера видно, что атрибуты файла laba2.log с rwxrw---- изменились на rw-rw---- .

Иногда также требуется поменять владельца файла или каталога, т.е. отдать его другому пользователю. Это можно сделать при двух условиях. Во-первых, должна быть создана регистрационная запись пользователя в системе, которому предназначается передача файла или каталога. Во-вторых, передать файл или каталог может только суперпользователь системы root. В следующем примере root передает файл laba2.cmd пользователю kras .

Суперпользователь root также может изменить группу пользователей для объекта c помощью команды chgrp. В следующем примере суперпользователь меняет для вышеуказанного файла текущую группу на группу kras с помощью команды chgrp.



<== предыдущая лекция | следующая лекция ==>
Порядок выполнения работы | ОТРАБАТЫВАЕМОЕ ИНДИВИДУАЛЬНОЕ ПРАКТИЧЕСКОЕ ЗАДАНИЕ


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


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

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

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


 


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

 
 

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

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