Сохранность и защита программных систем
Для выполнения печати можно воспользоваться командой Ipr. Флажок - Р указывает очередь печати. Например, по команде:
# Ipr-Praw /etc/printcap , –
файл printcap распечатывается из очереди неформатированных текстов, а по команде:
# Ipr -Pip /etc/printcap , –
он же распечатывается через автоматический фильтр.
Между ключом -Р и именем принтера в приведенной команде Ipr пробел не нужен.
Конфигурирование принтера с помощью утилиты Printconf (рис.8). Эта утилита запускается выбором в главном меню GNOME команды Programs/System/Printer Configuration. Выполнить конфигурирование принтера может только корневой пользователь.
Рис. Окно утилиты конфигурирования принтеров.
Утилита Printconf представляет собой удобное средство настройки конфигурационного файла /etc/printcap.
Процедура установки нового принтера состоит из четырех шагов:
· вначале задается имя. Оно может включать алиасы (псевдонимы) для упрощения запоминания имени нового принтера;
· далее устанавливается очередь. Она может быть локальной или удаленной (в сети). Созданная очередь ассоциируется с принтером4
· третий шаг посвящен установке драйвера, который обеспечит обмен системы Linux с принтером.
· в завершение необходимо сохранить внесенные настройки и перезапустить Демон Line Printer Daemon, вызываемый как lpd.
Добавление принтера.
Процедура установки начинается нажатием кнопки New (Новый) в панели инструментов Printconf. В результате откроется окно диалога Edit Queue (Редактирование очереди).
Рис. Задание имен и псевдонимов
В текстовом поле Queue Name (Имя очереди) вводится имя вашего принтера. Если необходимо несколько имен, можете задать один или несколько псевдонимов (алиасов). Псевдоним вводится нажатием на кнопке Add (Добавить) ( рис. 9 в качестве имени принтера задано test, а в качестве псевдонима указан hpIj4).
Установка очереди
В диалоговом окне Edit Queue (Редактирование очереди) нужно выбрать пункт Queue Type (Тип очереди) (рис. 10). При этом делается доступным конфигурирование двух параметров: дислокации принтера и связанное с принтером устройство.
Существует пять разновидностей очередей. Простейшая – Local Printer (Локальный принтер), когда принтер непосредственно подключен к компьютеру через параллельный или USB-порт. После щелчка на Local Printer (Локальный принтер), утилита Printconf показывает все пять доступных опций Queue Type (Тип очереди).
Рис. Выбор очереди и устройства
Остальные четыре опции предполагают, что принтер подключен через сеть одним из следующих способов:
UNIX Printer (Ipd Queue) (UNIX-принтер).Если устанавливаемый принтер подключен в сети к компьютеру, управляемому системой Unix или Linux, и компьютер использует протокол Network File System (NFS) для связи с ним, то используется именно эта опция.
Windows Printer (SMB Share) (Windows-принтер).Если устанавливаемый принтер подключен в сети к компьютеру, управляемому системой Microsoft Windows, или системой Linux и/или Unix с использованием Samba, то вам используется эта опция для установки принтера.
Novell Printer (NCP Queue) (Novell -принтер).Если в сети для связи используется какая-либо разновидность протокола Novell Network, то используется опция NCP queue. Для принтера, подключенного этим способом, необходимо задать имя принт-серверного компьютера, имя очереди на нем, а также имя пользователя и пароль.
JetDirect Printer (JetDirect-принтер).
Опция JetDirect Printer предназначена для HP и HP-совместимых принтеров, подключенных непосредственно к сети, без прямого подключения к одному из компьютеров сети. Здесь также необходимо знать IP-адрес принтера и номер порта, если он отличается от используемого по умолчанию номера 9100.
На следующем шаге установки осуществляется выбор принтерного устройства. В Linux для принтеров, подключенных к параллельным и USB-портам доступен ряд устройств, включая /dev/lp0, /dev/lpl и /dev/lp2 для стандартных LPT-принтеров, и от /dev/usb/lp0 до /dev/usb/lpl5 для USB-принтеров.
Конфигурирование драйвера принтера
Следующий шаг ставит себе целью конфигурирование драйвера, обеспечивающего обмен системы Linux с принтером. В диалоговом окне Edit Queue (Редактирование очереди) нужно выбрать опцию Printer Driver (Драйвер принтера) и затем выбрать одну из четырех разновидностей принтеров (рис. 11):
Postscript Printer (Postscript-принтер).В большинстве случаев для работы с различными Postscript-принтерами вполне подходит стандартный Postscript-драйвер;
Text Only Printer (Text Only-принтер).Если необходима только распечатка текстовой информации из стандартных текстовых файлов, или если ваш принтер может обрабатывать только стандартные текстовые ASCII-коды, следует выбрать эту опцию;
Raw Print Queue (Raw Print Queue-принтер).Этой опции не соответствует никакой реальный драйвер. Она используется если программа сама конвертирует подлежащие печати данные в формат.
Brand Specific (Brand Specific-принтер).Утилита Printconf включает множество принтерных драйверов, ориентированных на обслуживание соответствующих моделей принтеров. Если используется не Postscript-принтер, то следует выбрать в списке фирму и модель подключенного к компьютеру – принтера.
Рис. Выбор драйвера принтера
Выбрав принтерный драйвер, следует настроить его, задав необходимые параметры (например, рис. иллюстрирует доступные для настройки параметры принтера HP Laser Jet 4L).
Рис. Параметры драйвера принтера
При настройке доступно множество параметров. Наиболее часто используются следующие опции конфигурирования принтерного драйвера:
Send EOT.EOT — это сокращение для "End of Transmission" (Конец передачи). Если принтер некорректно отрабатывает запуск или завершение задания в очереди заданий, следует установить эту опцию.
Rerender Postscript.Этот параметр обеспечивает передачу вашего файла на печать в виде Postscript. Некоторые принтеры требуют формата Postscript для обработки графики. Но иногда эта опция не работает, так как ряд моделей принтеров не воспринимает данные в postscript' формате.
Page Size (Размер страницы).Для этой опции следует задать размер бумажного листа принтера.
Нажатие кнопки ОК завершает конфигурирование принтера.
Тестирование конфигурации
Перед тем, как приступать к тестированию конфигурации, ее следует сохранить в конфигурационном файле /etc/printcap – запустить команду File/Save Changes (Файл/Сохранить изменения) из основного окга утилиты Printconf . Затем следуцет перезапустить демон Line Printer Daemon командой File/Restart/Lpd (Файл/Перезапустить/Lpd) для того, чтобы последний прочитал этот конфигурационный файл.
В меню Test (Тест) содержатся три опции:
Print Postscript Test Page (Печатать тестовую страницу Postscript).Стандартная тестовая Postscript-страница включает текст, цветной фрагмент и рамки на расстоянии 0,5 и 1,0 дюйма от края страницы размером 8,5 х 11 дюймов.
Print А4 Postscript Test Page (Печатать тестовую страницу А4 Postscript).Это стандартная тестовая Postscript-страница Red Hat, ориентированная на бумагу формата А4.
Print ASCII Test Page (Печатать тестовую страницу ASCII).Это стандартная тестовая страница, которая содержит только текст без графики.
Внесение изменений в настройки принтера осуществляется аналогичным образом.
Конфигурирование плат Sound Blaster
Чтобы конфигурировать плату, необходимо знать установку параметров связанных с ней элементов оборудования: портов ввода/вывода, IRQ и DMA. Их значения можно найти в документации платы.
Программа sndconfig
Для конфигурирования модуля Sound Blaster в существует программа sndconfig, запускаемая командой:
# /sbin/sndconfig
из командной строки консоли или окна xterm.
Исходное окно сообщает, что программа sndconfig готова протестировать систему на предмет наличия в ней Plug-and-Play (PnP) звуковых плат. Если звуковая плата будет при этом корректно распознана, то ее IRQ-порты, I/О-адреса и DMA-каналы автоматически регистрируются. В противном случае появляется сообщение о том, что звуковая плата не найдена. После щелчка на ОК на экране появляется просьба указать тип вашей звуковой платы.
Рис. Окно конфигурирования sndconfig
Рис. Выбор платы Sound Blaster
Тип звуковой платы выбирается из списка стандартных, поддерживаемых системой.
Вид следующего окна зависит от выбранного типа платы. Здесь требуется указать параметры оборудования - порт ввода/вывода, IRQ и DMA. На рис. показано окно для обычной 16-битовой платы Sound Blaster.
Рис. Установка параметров оборудования для 16-битовой платы Sound Blaster
Программа sndconfig записывает введенные параметры, в файл /etc/modules.conf (сохранив его прежний вариант в резервной копии modules. conf. bak). Затем, после нажатия ОК, sndconfig устанавливает тестовый звуковой файл. После следующего нажатия OK sndconfig пытается его проиграть. Следующий экран предлагает подтвердить, что тестовый звуковой файл воспроизведен верно.
Далее sndconfig формирует MIDI-звук (струнный инструмент), как показано на рис.
Рис. Проверка звучания MIDI
Если в ответ – тишина, то наиболее вероятными причинами неисправности могут быть:
· неправильный выбор типа платы или неверные установки параметров оборудования;
· этот тип платы не поддерживается модулем Sound Blaster системы Red Hat.
Конфигурирование ядра Linux.
Проверка пакетов исходных текстов
Для рекомпиляции ядра необходимы его исходные тексты. В Red Hat исходные тексты ядра размещаются в одном rpm-пакете, но по умолчанию не устанавливаются. Имя этого пакета:
kernel-source-2.4.2-2.1386.rpm
Кроме исходных текстов, для рекомпиляции ядра нужен компилятор, состоящий из двух компонентов:
утилита make;
собственно компилятор языка С - gсс или egcs.
Разные системы могут содержать разные версии этих утилит. Лучше иметь последнюю версию компилятора.
Создание резервной копии текущего ядра проводится в три этапа:
1. Создание резервной копии исходных текстов ядра, что позволяет восстановить его при повреждении конфигурации.
2. Создание резервной копии самого ядра как заведомо работающего средства запуска системы.
3. Создание новой записи для загрузчика операционной системы, по которой можно будет загрузиться с резервной копии ядра.
Создание резервной копии исходных текстов производится путем копирования каталога с исходными кодами ядра на диск. Восстановление производится копированием в обратном направлении.
При рекомпиляции ядра прежнее ядро записывается в файл с расширением .old. Однако эту копию ядра пока нельзя использовать для загрузки системы. Этим объясняется необходимость выполнения перечисленных выше операций.
Загрузчик операционной системы типа LILO, обычно применяемый для загрузки Linux, конфигурируется установкой ссылки на файл ядра в корневой файловой системе.
После создания резервной копии ядра в файл /etc/lilo.conf нужно добавить еще одну запись, позволяющую запустить Linux с прежним ядром:
открыть файл /etc/lilo. conf в текстовом редакторе;
найти в файле /etc/lilo. conf раздел со ссылкой на образ ядра системы;
создать копию всего раздела;
поменять в копии две позиции:
имя файла ядра заменить на имя его резервной копии (вместе с расширением);
заменить метку раздела чем-либо, наподобие linux. original (исходный Linux) или linux-previous (прежний Linux).
строки, начинающиеся с initrd, заменить на соответствующие резервные, например, initrd-2 .4.2-2. orig. Img;
записать изменения в файл /etc/lilo. conf.
ввести команду /sbin/lilo, чтобы ввести новую запись в загрузчик. При выполнении команды lilo на экран выводятся метки образов, вводимых в загрузчик операционной системы.
При следующей перезагрузке системы на экране появится идентификатор нового ядра в графической подсказке загрузчика LILO.
Конфигурирование нового ядра
При конфигурировании решается, какие функции включать в ядро, какие не включать и т.д. Можно выбирать между конфигурированием старого ядра и установкой/конфигурирование нового. Например, используя Red Hat Linux 7.1, можно изменить конфигурацию существующего ядра 2.4.2, задав новые параметры. Можно также загрузить и установить новое ядро версии 2.4.4. Несмотря на то, что детали конфигурирования в этих двух случаях различны, используемые утилиты и сама методика конфигурирования совпадают.
В Linux есть три отдельные конфигурационные утилиты, каждая из которых имеет свои особенности.
Утилита с интерфейсом командной строки. Пользователь последовательно отвечает на вопросы о функциях, которые необходимо включить в ядро. Эта утилита удобна для специалистов, умеющих работать с ядром, и для тех, у кого есть сценарии конфигурирования для этой утилиты.
Утилита с меню текстового режима. Многоуровневое меню этой утилиты позволяет устанавливать и переустанавливать параметры ядра в любом порядке.
Утилита с графическим интерфейсом. Интерфейс этой утилиты практически аналогичен интерфейсу утилиты с текстовым меню, но имеет все преимущества графического режима. Это наиболее привлекательная утилита, но она запускается только в графической системе X Windows.
Перечисленные утилиты создают один и тот же конфигурационный файл, используемый утилитой make при полной или частичной компиляции ядра.
Параметры ядра
Просматривая параметры в любой конфигурационной программе (командной строки, с текстовым или графическим интерфейсом), необходимо четко представлять влияние этих параметров на работу ядра.
Идентификация параметров в каждой программе своя, но во всех трех представлен один и тот же их набор. Параметры подразделяются на две основные группы:
модульные;
немодульные.
Если программный блок, соответствующий данному параметру, не загружается как модуль ядра, он может быть одним из двух:
[*] составной частью ядра;
[ ] несоставной частью ядра.
Символы в квадратных скобках (вместе со скобками) соответствуют отметкам параметров в меню конфигурационных программ (кроме утилиты командной строки).
Для модульных параметров возможны три варианта установки (в соответствии с их представлением в меню конфигурационных утилит):
<> не включается в ядро и не создается в виде модуля, который можно загрузить позже:
<*> включается в ядро, так что нет надобности загружать его позже в виде модуля:
<М> Включается как модуль, но не как составная часть ядра. Блок можно устанавливать или удалять из ядра в любой момент.
Иногда значение какого-либо параметра не удается поменять до установки другого параметра. Например, установить поддержку определенного устройства SCSI можно только после общего разрешения поддержки этих устройств.
Когда в системе будут установлены необходимые средства (утилита make и компилятор gсс) и исходные тексты, можно запустить одну из конфигурационных утилит и приступить к конфигурированию ядра.
Конфигуратор с графическим интерфейсом
Запуск конфигурационной утилиты с графическим интерфейсом выполняется в следующей последовательности.
Запустите систему X Windows (с любыми графической средой и рабочим столом).
Откройте окно эмулятора терминала (окно командной строки).
Введите команду su для получения прав корневого пользователя.
Перейдите в каталог, в котором записаны исходные тексты.
# cd /usr/src/linux-2.4.2
Если номер версии вашего ядра или используемый каталог другие, измените команду соответствующим образом.
Выполните следующую команду.
#make xconfig
Графической конфигурационной утилите требуется несколько инструментальных пакетов системы X Windows. Если после ввода команды make xconfig появляются сообщения об ошибках, проверьте, установлены ли в системе нужные инструментальные пакеты.
Как и при запуске предыдущей утилиты, на экране промелькнет несколько сообщений о компиляции утилиты, и через несколько минут откроется ее главное окно.
Рис. . Утилита конфигурирования ядра с графическим интерфейсом: меню и кнопки установки значений параметров
Графическая утилита не слишком отличается от утилиты menuconf ig. Здесь параметры также разбиты на категории; после щелчка на определенной категории открывается диалоговое окно со списком параметров, каждому из которых можно установить значение, определяющее, что соответствующее средство должно задействоваться как составляющая часть ядра, как загружаемый модуль или не задействоваться вообще. Такое диалоговое окно показано на рис.
Рис. . В диалоговых окнах, подобных этому, устанавливаются конфигурационные параметры ядра
Ядро 2.4.2 в Red Hat Linux по умолчанию поддерживает симметричную мультипроцессорную архитектуру. Установите для соответствующей опции значение n, если в вашем компьютере всего один процессор.
Справа от каждого параметра находится кнопка Help (Справка).
Большое преимущество графической конфигурационной утилиты (особенно его оценят те, кто впервые конфигурирует ядро) – отражение в меню зависимости между различными параметрами. Например, в разделе Block Devices (Блочные устройства) нельзя установить поддержку систем RAID, встроенную в ядро, пока не будет включен параметр Multiple Device Driver Support (Поддержка драйверов для нескольких устройств).
Если в утилите menuconfig зависимость параметров друг от друга показана отступами имен параметров в меню, то в графической утилите установка неразрешенных сочетаний параметров просто невозможна. Работа с графической утилитой помогает понять зависимости между различными модулями.
В конце главного меню графической утилиты находятся команды, аналогичные соответствующим командам утилиты с меню текстового режима.
Save and Exit (Выход с сохранением). Создание файла конфигурации ядра и завершение работы утилиты.
Quit Without Saving (Выход без сохранения). Завершение работы утилиты без создания файла конфигурации ядра.
Без создания файла конфигурации ядра при помощи одной из перечисленных утилит рекомпиляция ядра невозможна.
Load Configuration From File (Загрузка конфигурации). Загрузка конфигурационного файла, созданного ранее.
Store Configuration To File (Запись конфигурации). Запись конфигурационных данных в файл с указанным именем (для дальнейшего использования или передачи коллеге). Это не влияет на необходимость выполнения команды Save and Exit, создающей конфигурационный файл для рекомпиляции ядра.
Компиляция и запуск нового ядра
После завершения конфигурирования проверьте наличие нового конфигурационного файла (.config), расположенного в каталоге /usr/src/linux-2 .4.2 (учитывайте номер вашей версии). Помните, что для отображения скрытых файлов необходимо использовать команду Is -а. Если конфигурационный файл .config на месте, можно использовать команду make для рекомпиляции ядра.
Завершив конфигурирование, вернитесь в режим командной строки и постарайтесь не сидеть у компьютера все время, пока идет компиляция.
Обычно рекомпиляция ядра длится от 15 минут до нескольких часов. Это зависит от скорости процессора, объема оперативной памяти и ряда других факторов, поэтому все команды, вводимые при компиляции, удобно объединить в одну, через точку с запятой, чтобы они выполнялись последовательно. Организовав процесс таким образом, можно заняться другими делами и вернуться к компьютеру после завершения компиляции.
Запуск процесса рекомпиляции
Приведенные ниже команды предназначены для создания нового ядра с рекомпиляций всех его модулей и их записью в соответствующие системные каталоги. (Там они будут доступны для команд ядра.)
Для рекомпиляции системы введите следующие команды.
# make dep; make clean; make bzlmage; make modules; make modules__install
Каждую команду make можно вводить отдельно, после завершения предыдущей. Если вы не планируете использовать модули, можете отбросить две последних команды. Более подробные рекомендации приведены в файле README, расположенном в каталоге /usr/src/linux-2.4.2.
После ввода этих команд на экране начнут мелькать строки с описанием каталогов, к которым обращается программа make, запуска компилятора gcс. для компиляции различных файлов исходного текста и компоновки различных блоков. Каждой из этих команд потребуется для выполнения несколько минут.
Если у вас в файле /etc/lilo. conf указан файл initrd, то следует создать новый файл initrd. Для начала, создайте резервную копию текущего файла initrd (в Red Hat Linux 7.1 это initrd-2 .4.2-2. img). Для этого выполните следующие команды:
# ср /boot/initrd-2.4.2-2.img /boot/initrd-2.4.2-2.orig.img
# /sbin/mkinitrd /boot/2.4.2-2.img 2.4.2-2
Теперь можно создать загрузочный диск для нового ядра с помощью команды
# make bzdisk
Перед выполнением этой команды следует вставить отформатированную дискету в накопитель. Готовый загрузочный диск необходимо испытать. Перезагрузите компьютер, не вынимая дискету из накопителя.
После выполнения команд компиляции ядра и возврата к командной строке создается новое ядро. Чтобы загрузить систему с новым ядром, его необходимо переместить в стандартный каталог, из которого оно будет запускаться. Это делается вводом команды
# ср /usr/src/linux-2.4.2/arch/i386/boot/bzlmage /boot/vmlinuz-2.4.2-2
В завершение, для обновления карты загрузки выполните команду lilo:
# /sbin/lilo
В имени копируемого образа ядра можно указать номер версии. Важно, чтобы имя этого файла совпадало с именем, указанным в файле /etc/liio.conf.
Тестирование нового ядра
После перемещения файла нового ядра в стандартный каталог (указанный в файле lilo. conf) систему можно перезагрузить с этим ядром.
Сразу после перезагрузки проверьте работу новых средств, ради которых и затевалась рекомпиляция. Можно выполнить следующие действия.
Сравнение объемов старого и нового ядер. Следует проверить объем памяти, занимаемый операционной системой, введя команду free.
Установка файловой системы или попытка доступа к устройству без загрузки модуля ядра для его поддержки (если поддержка данного устройства встроена в ядро).
Использование сетевых ресурсов (например, алиасов IP), отсутствовавших в прежнем ядре.
Может понадобиться проверка временной метки файла текущего ядра. Для этого введите команду uname. Это позволяет убедиться в том, что в данный момент система работает с рекомпилированным ядром. Метка времени и даты ядра должна совпадать со временем его рекомпиляции.
#uname -v
#1 Tue Mar 9 13:27:39 EST 2001
Если ответ команды uname свидетельствует о том, что система загружена не с новым ядром, разберитесь с системным загрузчиком LILO. Проверьте, правильно ли указано имя загружаемого ядра в файле /etc/lilo.conf.
Сохранность и защита программных систем
Идеальная система безопасности должна обеспечивать полностью прозрачный санкционированный доступ к данным и непреодолимые трудности при попытках доступа несанкционированного. Кроме того, она должна предоставлять легкую и гибкую систему управления санкциями; во многих случаях бывает также полезно отслеживать все попытки несанкционированного доступа.
Понимаемая таким образом идеальная система безопасности, по-видимому, физически не реализуема. В лучшем случае удается исключить отдельные способы, но для идеального решения задачи это нужно сделать по отношению ко всем способам получения несанкционированного доступа. На практике обычно исходят из требований "разумной достаточности" или экономической целесообразности: с одной стороны, стоимость установки и эксплуатации систем безопасности не должна превосходить ценности защищаемых данных. С другой, "экономически идеальная" система безопасности должна быть достаточно сложной, для того чтобы выгоды потенциального взломщика от получения доступа были ниже затрат на преодоление защиты.
Несмотря на все методологические и практические сложности, с которыми сопряжено применение экономической оценки к системам безопасности, по крайней мере, некоторые практически важные рекомендации этот подход нам может дать.
Во-первых, мы можем утверждать, что хорошая система безопасности должна быть сбалансированной, причем прежде всего с точки зрения взломщика: стоимости всех мыслимых путей получения доступа к системе должны быть сопоставимы. И, наоборот, должны быть сопоставимы стоимости мероприятий по обеспечению защиты от проникновения разными способами. Бессмысленно ставить бронированные ворота в сочетании с деревянным забором.
Вторая полезная рекомендация – если это оправданно по стоимостным показаниям, делать системы безопасности многослойными или, используя военную терминологию, эшелонированными. Пройдя внешний слой защиты (например, преодолев брандмауэр и установив прямое соединение с одним из серверов приватной сети компании), взломщик должен получать доступ не непосредственно к данным, а лишь к следующему слою защиты (например, средствам аутентификации ОС или серверного приложения).
Третья рекомендация в известной мере противоречит двум предыдущим и гласит, что учитывая компоненты стоимости эксплуатации системы безопасности, нельзя забывать о тех действиях, которые эта система требует от сотрудников организации. Если требования безопасности чрезмерно обременительны для них, то они могут попытаться осуществить операцию, которую в неоклассической экономике называют экстернализацией издержек (например, выдвинуть ультимативное требование – либо вы снимаете наиболее раздражающие из требований, либо повышаете зарплату, либо мы все уволимся).
Дата добавления: 2015-04-01; просмотров: 943;