Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

except_4

.pdf
Скачиваний:
65
Добавлен:
24.06.2017
Размер:
11.13 Mб
Скачать

18. Управление пользователями в ОС Linux.

Подгружаемые аутентификационные модули. Стек модулей. Управляющие группы. Сервис. Формат файла /etc/pam.conf.

Подгружаемые аутентификационные модули (Pluggable Authentication Modules) - набор API для аутентификации пользователей.

Файл /etc/pam.conf состоит из строк следующего формата:

Имя_службы Тип_модуля Управляющий_флаг Модуль_PAM Аргументы

Имя службы (сервиса) – программа, к которой относится данная строчка. То есть при вызове этой программы открывается файл /etc/pam.conf и выполняются все строчки, связанные с этой программой. Все строчки, связанные с этой программой, образуют стек модулей.

Важно! Стек модулей выполняется последовательно. Результат работы зависит от порядка команд (модулей).

Программы, использующие PAM (службы):

login, su, sudo, passwd, screen и многие другие.

Тип модуля (тип действия) – один из четырех вариантов (управляющие группы):

1.auth - подтверждение личности пользователя. Обычно это имя пользователя и пароль.

2.account - действия, определяющие, можно ли пользователю зайти в систему. Например, ограничение входа пользователя в систему в зависимости от времени суток.

3.session - действия по выделению ресурсов, которые могут потребоваться пользователю во время сессии, например установка лимитов на использование ресурсов системы, вывод ежедневного сообщения и т. д.

4.password - действия по обновлению "секрета" пользователя (обычно пароля).

Управляющий флаг – как система реагирует на результат модуля. Варианты:

requisite - если модуль завершается с ошибкой, PAM немедленно возвращает приложению ошибку, другие модули стека не вызываются.

required - если модуль завершается с ошибкой, PAM возвращает ошибку приложению, но продолжает вызывать остальные модули стека.

sufficient - если модуль завершается успешно, PAM возвращает приложению результат «выполнен», и остальные модули стека не вызываются.

optional - результат работы модуля (выполнен/ошибка) игнорируется.

include - включает все строки из конфигурационного файла, переданного в качестве аргумента (фактически вызов функции).

Основные модули PAM.

 

Модуль

 

Действие

 

Описание

 

 

 

 

 

 

 

 

 

 

pam_unix

 

auth, session,

 

Выполняет аутентификацию в традиционном стиле Unix, используя

 

 

 

 

 

password

 

хэши паролей, которые хранятся в /etc/shadow.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Устанавливает ограничения на системные ресурсы, отпускаемые на

 

pam_limits

 

session

 

время пользовательского сеанса. Можно задать «жесткие» и «мягкие»

 

 

 

границы для таких параметров, как максимальное число процессов,

 

 

 

 

 

 

 

 

 

 

максимальный размер файла, процессорное время и т. д.)

 

 

 

 

 

 

 

pam_rootok

 

auth

 

Завершается успешно, если вы — администратор системы, и

 

 

 

 

 

 

возвращает ошибку в противном случае.

 

 

 

 

 

 

 

 

 

 

 

 

pam_cracklib

 

password

 

Проверяет качество пароля, затем еще раз проверяет пароль по

 

 

 

 

 

 

системному словарю и ряду правил «плохого подбора пароля».

 

 

 

 

 

 

 

 

 

 

pam_passwdqc

 

password

 

Альтернативный модуль для проверки качества пароля.

 

 

 

 

 

 

 

 

 

auth, account,

 

 

 

pam_permit

 

session,

 

Всегда говорит «да» и возвращает успешный результат выполнения.

 

 

 

password

 

 

 

 

 

 

 

 

 

 

 

auth, account,

 

 

 

pam_deny

 

session,

 

Всегда говорит «нет» и возвращает ошибку.

 

 

 

password

 

 

 

 

 

 

 

 

 

 

 

auth, account,

 

Просто отправляет сообщение (включая имя сервиса, терминал, имя

 

pam_warn

 

session,

 

 

 

 

пользователя и удаленный хост) службе журнала syslogd.

 

 

 

password

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используется программами типа su. Этот модуль разрешает

 

pam_wheel

 

auth, account

 

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

 

 

 

 

 

группу wheel.

 

 

 

 

 

 

Вообще-то /etc/pam.conf устарел и вместо него используют папку /etc/pam.d/, в которой хранятся файлы с именами служб (login, su, passwd и

т. д.).

Сами же модули PAM хранятся в папке /lib64/security/

и называются pam_rootok.so, pam_wheel.so и по аналогии.

19. Управление дисковыми разделами, файловыми системами и пространством свопинга.

Виды файловых систем. Виртуальная файловая система (VFS). Разбиение диска на разделы. Свойства разделов.

Файловая система (file system) – организованная структура файлов и директорий, располагающихся на накопителе (коротко – способ хранения данных).

Виды файловых систем:

дисковые

сетевые

виртуальные

Виртуальная файловая система (virtual file system) обеспечивает единый интерфейс системных вызовов (API) для различных типов файловых систем.

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

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

(с учётом расширенного), расширенный, если есть, то всегда один, а логических может быть сколько угодно. То есть вы можете разрезать винчестер максимум на 4 части, но одну из них вы можете спокойно поделить на сколько угодно кусков.

В Linux винчестеры называются sda, sdb, sdc и т.д. (sda - первый винчестер, sdb - второй и так далее). Разделы на винчестерах называются так: sda1, sda2, sda3 и т.д. Первые четыре цифры зарезервированы для основных разделов, внутри расширенного раздела нумерация логических начинается всегда с пяти.

Основные разделы Linux:

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

swap - Раздел подкачки.

/boot - Содержит ядро OC и файлы для загрузки.

/usr - Все важные программы и библиотеки пользователя.

/tmp - Раздел содержит временные файлы.

/var - Хранит log, ceсh-файлы, а также почту, иногда web.

/opt - Туда устанавливаются дополнительные - сторонние программы.

/home - Сюда помещаются все домашние каталоги пользователей.

Еще есть такие разделы, как /etc, /bin, /llib, /mnt и другие.

Впрочем, не обязательно делить диск так подробно. Обязателен лишь корневой раздел.

Для работы с разделами можно использовать утилиту fdisk (от имени root).

Вывод на экран всех разделов:

fdisk –l

Чтобы просмотреть разделы на определенном устройстве, необходимо добавить имя устройства. Например:

fdisk -l /dev/sda

Укаждого раздела есть:

Вид (основной, расширенный, логический).

Начало, конец, размер.

Поле Id, определяющее предполагаемое назначение раздела. Тип 82

означает раздел подкачки Linux, а тип 83 – раздел для хранения данных. Существует приблизительно 100 различных типов.

Файловая система.

Точка монтирования.

Еще раздел может быть помечен как загрузочный (активный). Это позволяет загружать компьютер с указанного раздела при помощи стандартной MBRзаписи DOS.

20.Управление дисковыми разделами, файловыми системами и пространством свопинга. Дисковые файловые системы. Типы файловых систем. Формат файловой системы UNIX. Создание файловых систем. Монтирование файловых систем.

Файловая система - это организованная структура файлов и директорий, располагающихся на накопителе.

Cоздание файловой системы type на устройстве

/dev/block_device

mkfs -t type /dev/block_device

Файловая система UNIX

Организация файловой системы UNIX имеет древовидную структуру, вершина которой называется корнем, а сама структура называется файловым деревом. Каждая вершина в файловом дереве, за исключением листьев, является каталогом, листья же в свою очередь являются либо обычными файлами, либо файлами устройств

Типы файловых систем

ext2 (second extended filesystem – вторая расширенная ФС)

Она не является журналируемой, то есть не ведёт постоянный учёт всех операций записи на диск)

ext3

Дополняет ext2 возможностями журналирования. Она обладает достаточной производительностью в большинстве ситуаций. Это сформировавшаяся и стабильная файловая система, и используется по умолчанию в ряде дистрибутивов Linux.

ReiserFS

ReiserFS – это файловая система на основе B-дерева, обладающая очень хорошей общей производительностью, в особенности при использовании большого числа маленьких файлов. Она хорошо масштабируется и является журналируемой. Она не поддерживает возможности SELinux.

XFS

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

Файловая система раздела подкачки

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

vfat (также известная как FAT32)

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

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

чтение, запись, изменение данных и произвольный доступ.

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

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

Монтирование файлового устройства device в каталог dir: mount device dir

Параметры:

-a - монтирование всех файловых систем, указанных в /etc/fstab -t fstype - указание типа файловой системы (ntfs, nfs, ext3 и т.п.) -ro - монтирование в режиме только чтения

Размонтирует файловые системы: umount dir/mount_point

21. Управление дисковыми разделами, файловыми системами и пространством свопинга. Создание и форматирование раздела свопинга. Подключение и отключение раздела свопинга.

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

ВLinux swap-пространство бывает двух видов:

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

файл подкачки (swap file) - это файл особого типа внутри файловой системы, среди прочих файлов всех других типов.

Перед началом настройки нового раздела подкачки стоит проверить систему на наличие других подключённых разделов подкачки. Это можно сделать с помощью следующих команд:

1)Определение имеющегося в системе swap-пространства (если строка вывода пуста, то в системе swap еще не настроен):

sudo swapon –s

2)Определение состояния памяти и swap (в мегабайтах): free –m

3)Определение доступного пространства на жестком диске: df -h

Размер swap-пространства зависит от потребностей. Как правило, размер swap должен быть равен или вдвое больше объема оперативной памяти системы.

Настройка раздела подкачки

Допустим, есть раздел /dev/sda2.

1)Форматирование раздела swap: sudo mkswap /dev/sda2

2)Подключение раздела swap: sudo swapon /dev/sda2

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

sudo swapon –s

4)Автоматическая активация после перезагрузки:

echo ‘/dev/sda2 none swap sw 0 0’ | sudo tee –a /etc/fstab

5)Отключение раздела swap: sudo swapoff /dev/sda2

22.Управление программным обеспечением, входящим в состав операционной системы. Безопасность при установке, обновлении и удалении ПО. Основные возможности системы управления пакетами RPM.

Задачи по управлению ПО включают в себя:

1)Проверку целостности

2)Проверку достоверности

3)Установку

4)Обновление версии

5)Удаление

Всистемах GNU/Linux в отличие от Windows используется принципиально иной подход к устанавливаемому ПО. Программное обеспечение в Linux распространяется в виде пакетов - архивов файлов, содержащие все компоненты приложений (сами приложения, разделяемые библиотеки, пакеты для разработки приложений и т.д.) и инструкции по их запуску и настройке.

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

Таким образом задача управления ПО сводится к задаче управления пакетами. Все операции, связанные с изменением состава системы производятся над пакетами. Этим достигается упрощение работы администрирования системы, автоматизация выполнения задач по управлению ПО.

Типы пакетов:

1)Бинарные (скомпилированные исполняемые и прочие файлы программы)

2)Исходные (исходные коды, инструкции по сборке)

Метаданные пакета:

1)Название (имя программы, закрепленной за пакетом)

2)Версия

3)Авторы, описание

4)Зависимости (список пакетов с версиями, необходимых для установки и работы)

5)Содержимое (бинарный (скомпилированный) или исходный файл)

6)Установочные скрипты.

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

Например, пакет А может требовать наличия установленных пакетов Б, В, Г для корректной работы (аналогичные с точки зрения зависимостей примеры можно привести для удаления или обновления).

Пакетные зависимости транзитивны, то есть в случае зависимости А от Б и Б от В для установки А потребуются и Б, и В.

Типичны библиотечные зависимости. Практически каждое отдельное приложение требует нескольких библиотек. Обычно названия пакетов, содержащих библиотеки, начинаются с "lib".

Для выполнения задач по управлению ПО, их автоматизации используются системы управления пакетами.

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

RPM (RPM package manager) – менеджер пакетов формата «.rpm»,

разработанный изначально фирмой Red Hat, применяется в Fedora, RHEL, openSUSE и пр. дистрибутивах.

База данных RPM ведётся в каталоге /var/lib/rpm. Она состоит из одиночной базы данных, в которой хранится вся информация о пакетах, и множества маленьких, которые служат для индексации и содержат в себе сведения о том, какие файлы менялись и создавались при установке и удалении пакетов.

RPM – без автоматического разрешения зависимостей (при отсутствии нужного пакета он только сообщит об ошибке). С автоматическим разрешением – YUM.

Основные команды RPM (требуются права root): утилита rpm

Основные ключи:

-i

--install

 

установка

 

-U

--upgrade

 

Обновление/установка

 

-e

--erase

 

удаление

 

-q

--query

 

запрос

 

-V

--verify

 

Верификация (проверка)

 

 

Примеры команды

Что делает

# rpm -i имя_пакета

 

Установка пакета

# rpm -U имя_пакета

 

Обновление версии

# rpm -e имя_пакета

 

Удаление пакета

# rpm -qa

 

Список всех установленных пакетов

# rpm -qf имя_файла

 

Поиск пакета, содержащего файл

# rpm -qi имя_пакета

 

Информация о пакете

# rpm -ql имя_пакета

 

Список файлов в пакете

# rpm -qR имя_пакета

 

Зависимости пакета

Соседние файлы в предмете Безопасность операционных систем