Хакер - Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.

Здесь есть возможность читать онлайн «Хакер - Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2004, Издательство: Издательский дом ООО «Гейм Лэнд», Жанр: Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Электронная версия известного компьютерного журнала

Спецвыпуск журнала «Хакер» #47, октябрь 2004 г. — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

У демонов минимально необходимые привилегии

В первоначальных редакциях UNIX этого не было, но с приходом сетей и хакеров разработчики задумались и доработали концепцию системы. На практике это выглядит так: у каждого крупного сервиса есть «свой» специальный пользователь, от его учетной записи запускаются все процессы данного сервера. Так, например, для web-сервера Apache практически всегда создается специальный пользователь nobody, на все рабочие каталоги ставится владельцем этот юзер и раздаются соответствующие права, после чего в init-скрипте прописывается логин «nobody». В результате – резкое повышение безопасности всего хоста: даже если будет найдена уязвимость в демоне, то взломщик получит права непривилегированного пользователя apache.

Наличие средств для выполнения простых действий

*nix-системы отличаются от множества других ОС тем, что любое самое сложное действие можно легко разбить на несколько более простых, реализуемых с помощью встроенных средств. То есть если пользователь хорошо знает возможности UNIX-архитектуры и четко представляет себе результат своих трудов, то добиться его будет очень легко. Примерами средств, заметно упрощающих реализацию любой задачи, могут служить такие общеизвестные приложения, как cron (периодический запуск задач), перенаправления выводов и вводов с терминала, syslog (логирование всех действий в системе), различные комбинации действий на ФС и многое другое.

Свопинг позволяет работать эффективней

Механизм виртуальной памяти поддерживается всеми клонами UNIX на уровне ядра. Есть два основных способа организации swap-пространства: раздел на жестком диске (или отдельный винчестер, только под swap) или файл на существующем разделе. Использование раздела или отдельного винчестера предпочтительно из соображений скорости обмена данных.

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

Главное – загрузиться!

«Loading UNIX» – фраза, говорящая о многом. Рассмотрим два основных способа загрузки ядра системы. Почему ядра, а не всей ОС? Потому что будет отличаться только загрузка ядра, после того как оно будет в памяти, все остальное загружается стандартной и отлаженной процедурой. Самый простой вариант – это Boot-дискета. Ход загрузки системы при таком способе выглядит очень просто: после начального теста BIOS передает управление загрузочной области дискеты, где содержится код, распаковывающий ядро UNIX в оперативную память. После распаковки начинается стандартное монтирование корневого раздела. Но такой простой вариант применяется только для дискет без файловых систем. Для винчестеров используют несколько усложненный вариант загрузки. Причина этого достаточно простая: ядро не может быть записано в первые сектора, так как там находится таблица разметки жесткого диска и описания всех ФС, при порче этих данных использовать хард просто невозможно. Поэтому разработчики применили усложненный алгоритм инициализации ядра. После POST-теста управление, как обычно, передается загрузочной области жесткого диска, где хранится миниатюрная программа, вся работа которой сводится к запуску главного загрузчика ОС, обладающего достаточной функциональностью и гибкостью для запуска ядра. Таким «большим» загрузчиком может быть LILO, GRUB или стандартный BSD-loader. А уже этот загрузчик копирует ядро в память, передав ему необходимые параметры. Как видишь, при загрузке с винчестера используются двухуровневые программы.

Я хочу продолжить рассказ о схеме загрузки UNIX-систем, так как загрузка является еще одним архитектурным решением сообщества разработчиков ОС. Существует две основные схемы загрузки UNIX и его клонов: BSD и System V. BSD-тип применяется во многих BSD-системах и в некоторых дистрибутивах Linux (Gentoo, Slackware). Схема BSD проще System V, но и возможностей у нее меньше. Рассмотрим более прогрессивную System V. Сначала загружается ядро ОС, будь то UNIX, BSD-клон или Linux-клон, после этого ядро монтирует корневую файловую систему, ссылка на которую ему передана параметром загрузчика. При удачном завершении операции начинается поиск служебного каталога /sbin; если он не обнаруживается, то система выдает «Kernel panic». Затем происходит запуск главного процесса Init: отдается команда /sbin/init. После чего уже Init обращается к каталогу /etc и ищет там файл inittab, где указан необходимый уровень запуска. Осталось не так уж много: init читает и анализирует содержимое своего конфигурационного файла, а затем запускает необходимые сервисы, монтирует локальные файловые системы, поднимает сетевые интерфейсы, монтирует уваленные файловые системы и запускает оставшиеся сервисы. На завершение процесса загрузки укажет (если система загрузится не в multiuser mode) появившееся приглашение ввести логин и пароль пользователя.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.»

Представляем Вашему вниманию похожие книги на «Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.»

Обсуждение, отзывы о книге «Спецвыпуск журнала «Хакер» #47, октябрь 2004 г.» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x