Реферат: Исследование уровня безопасности операционной системы Linux

Содержание

 TOC o «1-3» … PAGEREF _Toc74760928 h

1. Основные понятия компьютерной безопасностиPAGEREF _Toc74760929 h

2. Локальная и сетевая безопасность Linux… PAGEREF _Toc74760930 h

2.1. Пользователи и пароли… PAGEREF _Toc74760931 h

2.2. Особенности файловой системы Linux… PAGEREF _Toc74760932 h

2.2.1. Права доступа… PAGEREF _Toc74760933 h

2.2.2. Атрибуты файлов… PAGEREF _Toc74760934 h

2.2.3. Механизм квот… PAGEREF _Toc74760935 h

2.3. Библиотека PAM… PAGEREF _Toc74760936 h

2.4. Брандмауэр… PAGEREF _Toc74760937 h

2.5. Удаленное управление… PAGEREF _Toc74760938 h

3. Средства усиления безопасности в Linux… PAGEREF _Toc74760939 h

3.1. Linux ACLs… PAGEREF _Toc74760940 h

3.2. LIDS… PAGEREF _Toc74760941 h

3.3. AIDE… PAGEREF _Toc74760942 h

4. Техника безопасности… PAGEREF _Toc74760943 h

Заключение… PAGEREF _Toc74760944 h

Список литературы… PAGEREF _Toc74760945 h

Приложение… PAGEREF _Toc74760946 h


Введение

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

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

Работа поделена на четыре части: первая часть являетсятеоретическим обзором основных терминов компьютерной безопасности; во второйчасти рассматриваются аспекты локальной и сетевой безопасности системы; третьячасть является обзором дополнительных средств, предоставляемых разработчикамимира UNIX для контроля,регистрации и предотвращения угроз безопасности ОС Linux и четвертая часть представляетсобой дополнительный раздел, в котором рассматривается техника безопаснойработы с персональным компьютером и монитором.

<span Courier New"; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; text-transform:uppercase;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
1. Основные понятия компьютерной безопасности

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

Термин «информационная безопасность» появился сравнительнонедавно, с развитием вычислительной техники и ЭВМ. Информационная безопасностьвключает в себя кроме  безопасностииспользуемого программного обеспечения, также безопасность аппаратных средств,безопасность каналов связи и многое другое.

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

Если есть запрет, появится и человек, который попытается егонарушить! С развитием информационных технологий и внедрением компьютерапрактически во все сферы деятельности появились люди, так называемые «кракеры»(от англ. cracker –«взломщик компьютерных сетей и программ»), которые различными ухищрениями инестандартными методами пытаются с целью собственной выгоды получить несанкционированныйдоступ к информации, которая для них не предназначена. Порой это приводит кплачевным  последствиям для владельцаэтой информации. Тогда и возникла потребность в борьбе с «информационнымивредителями». Были разработаны целые комплексы программ для усиленияинформационной безопасности и борьбы с кракерами. А поскольку любымэлектронно-вычислительным комплексом управляет определенная ОС, то,соответственно, для обеспечения безопасности системы в целом необходимопозаботиться о безопасности самой ОС.

Каждый производитель по-своему взглянул на безопасностьсвоей ОС. В итоге одни системы оказались достаточно защищенными, защиту другихобойти было не просто, а третьи оказались практически беззащитными передвзломщиками. Степень защищенности ОС Linux – еще одной UNIX-подобнойОС реального времени, рассматривается в этой работе.

Изучая безопасность ОС, нельзя не коснуться теориикомпьютерной безопасности. Теория компьютерной безопасности оперирует тремяосновными понятиями: угроза, уязвимость и атака.

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

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

К уязвимостям можно отнести следующие состоянияинформационных систем:

1. Несовершенствоиспользуемого программного обеспечения

Программное обеспечение написано человеком, а человексклонен допускать ошибки. При создании программного продукта проследить всесвязи и возможные ошибки практически невозможно, даже когда над проектомработает большое количество людей. Создатели программных продуктов стараютсякак можно лучше оптимизировать код программы и избавить его от ошибок, но, темне менее, предусмотреть все возможные ситуации не представляется возможным.Иногда такие недоработки не несут никаких критических последствий для самойпрограммы или данных, которыми она оперирует, но бывает, что они позволяютиспользовать программу в целях, отличных от тех, для которых она создавалась первоначально,иногда с очень серьезными последствиями (порча данных, например). Такиенедоработки в программе обычно называют «дырами».

Еще существует такое понятие, как «люк». Люком называютспециальные комбинации действий над программой, которые позволяют обойтинекоторые этапы выполнения. Обычно люки используются программистами приразработке и тестировании программ с целью обхода уже проверенных блоков и вконце должны «закрываться», то есть программный код, отвечающий за люк, долженбыть удален из готовой программы. Но то, что должно, делается не всегда.Программист попросту может забыть про люк, в результате люк остается в готовойпрограмме и может представлять угрозу для правильного выполнения.

2. Неправильнаянастройка программного обеспечения

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

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

Существуют три основных вида угроз:

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

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

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

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

Вывод.

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

<span Courier New"; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Times New Roman»; text-transform:uppercase;mso-ansi-language:RU-MO;mso-fareast-language:RU; mso-bidi-language:AR-SA">
2. Локальнаяи сетевая безопасность Linux

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

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

Локальнаябезопасность – это правила, меры и усилия, направленные на защиту системыизнутри, от локальных пользователей.

ОС Linuxявляется полноценной многопользовательской системой с простой и распределеннойархитектурой. Архитектура ОС Linuxприведена на рисунке 2.1.

<img src="/cache/referats/17668/image002.jpg" v:shapes="_x0000_s1038">
Рис. 2.1. Структура операционной системы Linux

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

Зачем же необходимо обезопасить систему от локальныхпользователей?

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

  — После входа всистему пользователю выделяется определенная часть машинных ресурсов (дисковогопространства, оперативной памяти, процессорного времени и так далее). Хорошо,если ОС изначально настроена на правильное разделение ресурсов. А если нет?Достаточно одному пользователю запустить пару-тройку «тяжелых» программ, каквремя ожидания для других программ даже на мощной машине может выйти за граньдопустимого.

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

  — «Гуляя» по деревукаталогов на жестком диске, пользователь может попасть в ту часть, в которойему быть не положено (например, в каталог, где хранятся файлы другихпользователей). Личные файлы каждого пользователя должны быть доступны ему итолько ему, если, конечно, он сам не решит иначе.

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

Теперь рассмотрим, какие же средства предоставляет система Linux для обеспечениялокальной безопасности.

2.1. Пользователии пароли

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

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

Все имена пользователей Linux и соответствующие им идентификаторы хранятся в специальномфайле passwd. Этот файлрасполагается в каталоге etc,который, в свою очередь, находится в корневом каталоге системы /. Файл имеетобычную текстовую форму.

Пример файла пользовательских имен passwd.

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">root:x:0:0:root:/root:/bin/bash

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">bin:x:1:1:bin:/bin:/sbin/nologin

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">daemon:x:2:2:daemon:/sbin:/sbin/nologin

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">sync:x:5:0:sync:/sbin:/bin/sync

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

Каждая запись в этом файле разделена двоеточиями на 7частей:

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

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

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

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

5. Поле комментария. В этом поле может храниться любаядополнительная информация о пользователе, например, его полное имя.

6. Полный путь к домашнему каталогу пользователя. В ОС Linux для каждого пользователясоздается его домашний каталог, в котором он может хранить свои документы.Обычно эти каталоги располагаются в директории /home корневого каталога и по умолчаниюимеют имена владельцев.

7. Путь к командной оболочке. Последнее поле содержит полныйпуть к рабочей оболочке пользователя (по умолчанию такой оболочкой является bash). Эта оболочказапускается, когда пользователь проходит процедуру аутентификации. В целяхбезопасности для системных пользователей в этом поле очень часто ставится /sbin/nologin. В приведенном примерепользователь bin имееткак раз такое значение в поле командного интерпретатора. Сама по себе программаnologin не являетсяоболочкой, единственное ее назначение – не допустить вход в систему. Поэтомупри попытке входа под именем пользователя, у которого в качестве рабочейоболочки установлена /sbin/nologin, ничего непроисходит. Обычно такой подход используется при создании пользователей,которые являются системными, то есть от имени которых выполняются какие-тодействия внутри системы. А поскольку таким пользователям не нужна рабочаяоболочка, хорошим решением, с точки зрения безопасности, будет установка поляоболочки в /sbin/nologin. Еще однимраспространенным решением в таких ситуациях является установка этого поля взначение /bin/false. Как известно, в Linux, да и в большинстведругих операционных систем, успешное завершение программы определяется типомвозвращаемого значения. Если возвращается нулевое значение, выполнениепрограммы прошло успешно, если ненулевое – в процессе выполнения программывозникли ошибки. На основе возвращаемого значения система аутентификации делаетвывод о том, пройдена ли аутентификация успешно или она «провалилась». false – программа, котораянезависимо от внешних факторов всегда возвращает значение, отличное от нуля,что в данном случае означает возникновение ошибок при запуске оболочки, иуправление снова возвращается системе аутентификации.

При входе в систему программа, предоставляющая доступ,производит чтение информации о пользователях как раз из файла passwd. Право на запись в этот файлимеет только привилегированный пользователь root, читать же его могут все пользователи системы (права доступаописываются в разделе «Особенности файловой системы Linux»).

Этот файл никогда не редактируется вручную, хотя, впринципе, это вполне допустимо. Обычно для редактирования файла пользователейиспользуют специальные программы: useradd, usermodи userdel.

Программа добавления useradd позволяет добавить нового пользователя в систему. Дляуправления процессом создания пользователя эта программа может приниматьразличные параметры в командной строке. Например, параметр –s задает используемый пользователем shell, а параметр –g – группу, к которойпринадлежит создаваемый пользователь. Помимо добавления записи о пользователе вфайл /etc/passwd,программа useraddсоздает домашний каталог пользователя, который по умолчанию должен размещатьсяв директории /home.Путь к пользовательскому каталогу может быть определен с помощью параметра –d, за которым следует полныйпуть от корневого каталога до каталога пользователя.

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

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

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

Аутентификация –это установление подлинности пользователя, то есть установление факта того, чтопользователь с таким именем является именно тем, за кого себя выдает.

Для аутентификации в ОС Linux используется уже давно проверенное и доказавшее своюнадежность средство – пароль.

Пароль – этонабор символов (секретное слово), известный только его владельцу и используемыйдля удостоверения его подлинности.

Каждый пользователь в системе имеет свой собственный пароль.Наличие пароля – необходимая составляющая политики безопасности пользователей Linux. Пароль является как быпропуском пользователя в систему. Без пароля, зная только имя пользователя,проникнуть в систему невозможно.

Пароли хранятся в отдельном файле /etc/shadow. В ранних версиях Linux имена и пароли пользователей хранились в одном файле /etc/passwd. Но практика показала, что дляобеспечения более надежной защиты паролей необходимо создание отдельного файладля их хранения. Таким образом, технология выделения отдельного файла shadow для хранения паролейполучила название технологии «теневых паролей».

Пример файла и его структура приведены ниже.

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">root:$1$pOy8fNrf$uOh/dQlI03BMIdEAhWrE.0:12369:0:99999:7:::

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">bin:*:12245:0:99999:7:::

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">daemon

<span Courier New";mso-bidi-font-family:«Times New Roman»">:*:12245:0:99999:7:::

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">sync

<span Courier New";mso-bidi-font-family:«Times New Roman»">:*:12245:0:99999:7:::

Файл shadow,как и файл passwd,разделен на несколько частей двоеточиями:

1. Имя пользователя. Это поле просто дублируется из файла passwd.

2. Хэш пароля. Пароль в Linux никогда не хранится в открытом виде, в отличие от именипользователя. При установке пароля до сохранения его в файле он шифруется поспециальному алгоритму. По умолчанию таким алгоритмом является алгоритмодностороннего шифрования DES(DataEncryptionStandard). Использованиеодностороннего алгоритма шифрования исключает возможность расшифровки пароля.

Остальные поля содержат различную служебную информацию.

Файл паролей имеет права только на чтение и только длясуперпользователя (права доступа описываются в разделе «Особенности файловойсистемы Linux»). Егосодержимое является недоступным для рядовых пользователей, таким образом,исключается возможность раскрытия зашифрованного пароля.

Для изменения пароля в Linux изначально включена специальная программа passwd. В качестве параметра в команднойстроке она получает имя пользователя и при запуске требует ввода пароля дляэтого пользователя. При вводе в целях безопасности пароль не отображается наэкране монитора, существует очень высокая вероятность допустить ошибку,особенно когда пароль состоит из цифр и символов различного регистра. Поэтомуввод пароля осуществляется 2 раза для проверки правильности ввода. Послеподтверждения пароль шифруется и сохраняется в файле /etc/shadow.

При входе в систему процедурой получения имени и пароляпользователя управляет программа mingetty. mingetty– это программа, выдающая приглашение для ввода имени пользователя и пароля навиртуальную консоль. После ее запуска на экране монитора появляетсястрока-приглашение ко вводу имени и пароля пользователя. После ввода имени ипароля программа передает управление программе login. login – это программа-посредник, котораяосуществляет проверку существования, корректности и соответствия имени пользователяи его пароля в системе. Пароль с помощью механизмов аутентификации шифруется исравнивается с хэшем из файла. После успешного завершения процедурыаутентификации программа loginзапускает системную оболочку для взаимодействия пользователя с операционнойсистемой, так называемый shell(от англ. shell –«оболочка»). Путь к исполняемому файлу shell указывается в последнем седьмом поле записи файла passwd. Обычно по умолчаниюиспользуется bash (BourneShell). Выдается приглашениеко вводу команд с символом # или $ в конце (по умолчанию символ # используетсяв приглашении суперпользователя, а символ $ — в приглашении обычногопользователя). С этого момента система готова принимать от пользователя командына выполнение.

Для более удобного управления доступом к ресурсам в Linux все пользователиобъединяются в группы. В данном случае группа– это множество пользователей, объединенных по каким-либо критериям.

К какой группе принадлежит пользователь, говорит 4 полерегистрационной записи в файле passwd.Наличие групп позволяет создать гибкую политику безопасности, основанную наразделении доступа к ресурсам. Значение групп для разделения доступа болееподробно описывается в разделе «Особенности файловой системы Linux».

Практическое применение рассмотренной информации приводитсяв приложении в примере 1.

2.2. Особенностифайловой системы Linux

Для организации и постоянного хранения информации наразличных ее носителях ОС использует так называемую файловую систему.

Файловая система – это методы и структуры данных, которыеиспользуются  ОС  для хранения файлов на диске или в его разделе.

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

В настоящее время во всех дистрибутивах ОС Linux для хранения информации активноиспользуется файловая система ext2(TheSecondExtendedFileSystem). Ext2 являетсяфайловой системой с богатыми функциональными возможностями, а тот факт, чтоext2 была разработана специально для Linux, уже говорит о необходимостиприсутствия в ней средств контроля и безопасности.

Основные характеристики файловой системы ext2: максимальный объем файловой системы – 4 Тбайт; максимальная длинафайла – 2 Гбайт; максимальная длина имени файла – 255 символов; присутствуетподдержка трех ячеек времени изменения файла; также имеется возможностьрасширения файловой системы; присутствуют механизмы защиты информации ивозможность изменять размер блока.

2.2.1. Права доступа

Рассмотрим ситуацию, когда пользователь А для хранения оченьважных документов использует свой домашний каталог. Информация, хранящаяся вдокументах, является строго конфиденциальной, а по сему никто, кроме еевладельца, не должен получить к ней доступ. Пользователь В просто излюбопытства, а может и со злобными намерениями, сделал попытку получитьсодержимое этих документов. Результатом попытки явилась ошибка с описанием ‘permissiondenied’ (‘доступ запрещен’).Появлением ошибки послужило отсутствие у пользователя B прав на чтение документов,принадлежащих пользователю А. Из приведенного примера можно сделать вывод, чтоправа доступа позволяют ограничить доступ к определенной информации, или, прощеговоря, оградить некоторую информацию от определенных пользователей.

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

Права доступа к файлу или каталогу описываются тремявосьмеричными цифрами, самая левая из которых – права доступа владельца,средняя – права группы, правая – права доступа для всех остальных. Каждая изэтих восьмеричных цифр представляет собой битовую маску из 3-х бит. Эти битыотвечают за право на чтение, запись и исполнение файла или каталога. Если битустановлен в 1 – операция разрешена, если в 0 – запрещена.

Для различных типов файлов значения прав доступа немногоотличаются.

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

Право на запись файлапозволяет пользователю изменять его содержимое. Для каталога — создавать файлывнутри каталога.

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

Какие права доступа определены для каждого файла, можноузнать, набрав в терминале команду ls с ключом –l:

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">[root@app tmpdir]# ls –l

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">lrwxrwxrwx    1   rootusers86 

<span Courier New";mso-bidi-font-family:«Times New Roman»">Фев<span Courier New"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US"> 7 19:49linkfile -> myfile

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">drwxr-xr-x    1   rootusers4096

<span Courier New"; mso-bidi-font-family:«Times New Roman»">Фев<span Courier New";mso-bidi-font-family: «Times New Roman»;mso-ansi-language:EN-US"> 7 19:49 lnk

<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">-rwxr-----    1   anotheruser users 97

<span Courier New";mso-bidi-font-family: «Times New Roman»">Фев<span Courier New";mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US"> 7 19:48 myfile1

-rw-rw-r--    1  rootusers 84  Фев 7 19:45 myfile2

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

Как видно из примера, linkfile является символической ссылкой на файл myfile. Об этом говорит буква l в самой левой части колонкиправ доступа. Для символических ссылок задание прав доступа возможно, но врядли имеет смысл. Дело в том, что символическая ссылка указывает на файл, которыйимеет свои права доступа, поэтому при доступе по символической ссылке проверяютсяправа конечного файла. Файл lnkявляется каталогом, о чем говорит буква d в поле прав доступа. Поле владельца говорит о том, чтовладельцем каталога является пользователь root, а группа-владелец – users. Владелец  имеетправо на чтение файлов в каталоге, запись файлов и чтение содержимого каталога.Буква r (от слова Read) говорит о возможностидля данного пользователя выполнять операции чтения файлов каталога, буква w (от слова Write) – о возможности записи файлов вкаталог, последняя буква x(от слова eXecute) даетправо на просмотр содержимого каталога. Пользователи, входящие в группу users, имеют право только начтение файлов этого каталога и на получение его содержимого (буквы r и x), право на запись файлов в этоткаталог у них отсутствует. Все остальные пользователи имеют те же правадоступа, что и группа-владелец. Последние два файла myfile1 и myfile2 являются обычными файлами. Файл myfile2 имеет права чтения изаписи для владельца (пользователя root) и группы users,все остальные имеют право только читать файл. Файл myfile1 имеет права на чтение, запись ивыполнение для владельца, коим в данном случае является пользователь anotheruser. Группа users имеет право только начтение этого файла, а все остальные пользователи вообще не могут выполнятькакие-либо действия с этим файлом.

Изменение прав доступа к файлу осуществляется при помощистандартной системной команды chmod.Права доступа при вызове команды могут задаваться как битовой маской вдесятичном представлении, так и при помощи символов. Подробно использованиеэтой команды описано на соответствующей man-странице.

Помимо прав доступа существуют так называемые модификаторыдоступа. К модификаторам доступа относятся Stickybit, SUIDи SGID.

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

SUID(s).Если файлу установлен модификатор доступа SUIDи файл испол­няемый, тофайл при запуске на выполнение получает не права пользова­теля, запустившего его, а права владельца файла.Такие приемы использу­ются для того, чтобы пользователь мог работать снекоторыми системными файлами,владельцем которых являетс

еще рефераты
Еще работы по программному обеспечению