1.214 -> 1.215	config/chapter.sgml
	1.63 -> 1.64	desktop/chapter.sgml
	1.241 -> 1.247	disks/chapter.sgml

Whitespace cleanups.

Obtained from:	The FreeBSD Russian Documentation Project
This commit is contained in:
Dmitry Morozovsky 2006-02-13 11:17:56 +00:00
parent 5459838f71
commit d3bf51fc7b
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=27106
3 changed files with 418 additions and 93 deletions

View file

@ -2,9 +2,9 @@
The FreeBSD Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/config/chapter.sgml,v 1.41 2006/01/07 14:09:14 gad Exp $
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/config/chapter.sgml,v 1.43 2006/02/13 11:15:57 marck Exp $
Original revision: 1.214
Original revision: 1.215
-->
<chapter id="config-tuning">
@ -357,7 +357,7 @@
однако важнее всего учитывать, что их начальную конфигурацию
можно задать с помощью простых стартовых скриптов.</para>
<para>До появления rcNG приложения должны были помещать
<para>До появления <filename>rc.d</filename> приложения должны были помещать
простой стартовый скрипт в
каталог <filename class="directory">/usr/local/etc/rc.d</filename>,
который затем читался скриптами инициализации системы. Эти скрипты
@ -367,7 +367,7 @@
старый стиль конфигурирования в новую систему, остаётся фактом,
что для некоторых утилит сторонних производителей по-прежнему
необходим скрипт, помещённый в указанный выше каталог. Незначительные
различия в скриптах зависят от того, используется ли rcNG. До
различия в скриптах зависят от того, используется ли <filename>rc.d</filename>. До
версии &os;&nbsp;5.1 использовались скрипты в старом стиле,
и почти во всех случаях скрипты в новом стиле должны подойти так же
хорошо.</para>
@ -417,16 +417,16 @@ exit 0</programlisting>
подобную конфигурацию. Поищите в результатах, выдаваемых после
установки более детальную информацию по конкретному приложению.
Некоторые программы сторонних производителей будут включать стартовые
скрипты, позволяющие использовать приложение с rcNG; но это мы еще
скрипты, позволяющие использовать приложение с <filename>rc.d</filename>; но это мы еще
обсудим в следующем разделе.</para>
<sect2>
<title>Расширенное конфигурирование приложения</title>
<para>Теперь, когда &os; включает rcNG, конфигурирование запуска
<para>Теперь, когда &os; включает <filename>rc.d</filename>, конфигурирование запуска
приложений стало более оптимальным; фактически, оно стало более
тщательным. С помощью ключевых слов, рассмотренных в разделе
<link linkend="configtuning-rcNG">rcNG</link>, приложения теперь
<link linkend="configtuning-rcd">rc.d</link>, приложения теперь
можно настроить для запуска после других заданных сервисов,
например, <acronym>DNS</acronym>; можно разрешить передачу
дополнительных флагов через <filename>rc.conf</filename> вместо
@ -437,8 +437,7 @@ exit 0</programlisting>
#
# PROVIDE: utility
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: FreeBSD shutdown
# KEYWORD: shutdown
#
# НЕ МЕНЯЙТЕ ЗДЕСЬ ЭТИ СТАНДАРТНЫЕ ЗНАЧЕНИЯ
@ -465,8 +464,7 @@ start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_fla
run_rc_command "$1"</programlisting>
<para>Этот скрипт будет гарантировать, что указанное приложение
<application>utility</application> будет запущено перед сервисом
<literal>login</literal>, но после сервиса
<application>utility</application> будет запущено после сервиса
<literal>daemon</literal>. Он также предоставляет метод
для создания и отслеживания файла идентификатора процесса,
<acronym>PID</acronym>.</para>
@ -480,11 +478,7 @@ run_rc_command "$1"</programlisting>
командной строки, включать стандартные функции из файла
<filename>/etc/rc.subr</filename>, обеспечивает совместимость
с утилитой &man.rcorder.8; и упрощает конфигурирование с помощью
файла <filename>rc.conf</filename>. По сути, этот сценарий
можно даже поместить в каталог
<filename class="directory">/etc/rc.d</filename>. Это, однако,
потенциально может сбить с толку утилиту &man.mergemaster.8;
при обновлениях программного обеспечения.</para>
файла <filename>rc.conf</filename>.</para>
</sect2>
<sect2>
@ -694,7 +688,7 @@ HOME=/var/log
</sect2>
</sect1>
<sect1 id="configtuning-rcNG">
<sect1 id="configtuning-rcd">
<sect1info>
<authorgroup>
<author>
@ -720,7 +714,7 @@ HOME=/var/log
<screen>&prompt.root; <userinput>/etc/rc.d/sshd restart</userinput></screen>
<para>Эта процедура похожа для других сервисов. Конечно, сервисы
обычно запускаются автоматически, как указано в &man.rc.conf.5;.
обычно запускаются автоматически при загрузке системы, как указано в &man.rc.conf.5;.
Например, включение даемона Network Address Translation
при запуске выполняется простым добавлением следующей строки
в <filename>/etc/rc.conf</filename>:</para>
@ -774,11 +768,12 @@ $sshd_enable=YES</screen>
<screen>&prompt.root; <userinput>/etc/rc.d/sshd status</userinput>
sshd is running as pid 433.</screen>
<para>Возможна также перегрузка (<option>reload</option>) сервиса.
<para>В некоторых случаях возможна также перегрузка (<option>reload</option>) сервиса.
Скрипт, запущенный с этим параметром, попытается отправить сервису
сигнал, вызывающий перезагрузку файлов настройки. В большинстве
случаев это означает отправку сервису сигнала
<literal>SIGHUP</literal>.</para>
<literal>SIGHUP</literal>. Следует помнить, что эту функцию
поддерживают не все сервисы.</para>
<para>Система <filename>rc.d</filename> используется не только для
сетевых серверов, она отвечает также за большую часть инициализации
@ -820,11 +815,6 @@ sshd is running as pid 433.</screen>
файл будет запущен <emphasis>до</emphasis> указанных
сервисов.</para>
</listitem>
<listitem>
<para>KEYWORD: &os; или NetBSD. Используется для функций,
зависящих от версии *BSD.</para>
</listitem>
</itemizedlist>
<para>Используя этот метод, администратор может легко контролировать
@ -2100,7 +2090,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
<quote>автоматически клонирующим</quote>; вы просто используйте
<literal>device pty</literal> в вашем конфигурационном файле.</para>
</note>
</sect3>
<sect3>

View file

@ -2,9 +2,9 @@
The FreeBSD Russian Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/desktop/chapter.sgml,v 1.18 2006/01/30 18:28:28 gad Exp $
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/desktop/chapter.sgml,v 1.19 2006/02/13 11:02:41 marck Exp $
Original revision: 1.63
Original revision: 1.64
-->
<chapter id="desktop">
@ -188,9 +188,8 @@
<primary><application>Mozilla</application></primary>
</indexterm>
<para><application>Mozilla</application> это возможно наиболее
подходящий браузер для десктопа FreeBSD. Он современный,
стабильный и полностью портирован на FreeBSD. Его достоинство
<para><application>Mozilla</application> это наиболее современный и
стабильный браузер; он полностью портирован на FreeBSD. Его достоинство
в высокой совместимости со стандартами HTML. В нем есть
почтовая и новостная программы. В нем даже найдется редактор HTML,
если вам потребуется самостоятельно написать несколько веб-страничек.
@ -331,9 +330,12 @@
</indexterm>
<para><application>Opera</application> это очень быстрый,
полноценный и совместимый со стандартами браузер. Он поставляется
в двух вариантах: <quote>родная</quote> для FreeBSD версия и версия,
запускаемая в режиме эмуляции Linux.</para>
полноценный и совместимый со стандартами браузер. Он также идет в
комплекте с почтовой и новостной программами, клиентом IRC, модулем
чтения RSS/Atom и другими. Несмотря на все это, браузер
<application>Opera</application> относительно легок и быстр. Он
поставляется в двух вариантах: <quote>родная</quote> для FreeBSD версия
и версия, запускаемая в режиме эмуляции Linux.</para>
<para>Для работы в сети с помощью FreeBSD версии
<application>Opera</application> установите

View file

@ -2,9 +2,9 @@
The FreeBSD Russian Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml,v 1.76 2005/08/16 10:55:09 marck Exp $
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml,v 1.78 2006/02/13 11:15:58 marck Exp $
Original revision: 1.241
Original revision: 1.247
-->
<chapter id="disks">
@ -286,8 +286,8 @@
<title>Использование <application>Sysinstall</application></title>
<para>Вы можете использовать простые меню утилиты
<command>sysinstall</command> (<command>/stand/sysinstall</command>
во &os; версий, более старых, чем 5.2) для разбиения на разделы и
<command>sysinstall</command> (<command>/stand/sysinstall</command>
во &os; версий, более старых, чем 5.2) для разбиения на разделы и
разметки нового диска. Войдите как пользователь
<username>root</username> или воспользуйтесь командой
<command>su</command>. Запустите команду
@ -309,8 +309,8 @@
команды <userinput>W</userinput>. А теперь выйдите из редактора
FDISK, нажав <userinput>q</userinput>. В этот момент вам будет
задан вопрос о <quote>Master Boot Record</quote> (главной
загрузочной записи). Так как вы добавляете диск к уже работающей
системе, выберите <literal>None</literal>.</para>
загрузочной записи). Так как вы добавляете диск к уже работающей
системе, выберите <literal>None</literal>.</para>
</step>
<step>
@ -807,10 +807,11 @@ ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED</screen>
<procedure>
<step>
<para>Сначала вам нужно отключить диск от массива, чтобы его можно
было без последствий извлечь:</para>
<para>Сначала вам нужно отключить канал контроллера ATA, содержащий
отказавший диск, чтобы его можно было без последствий
извлечь:</para>
<screen>&prompt.root; <userinput>atacontrol detach 3</userinput></screen>
<screen>&prompt.root; <userinput>atacontrol detach ata3</userinput></screen>
</step>
<step>
@ -818,13 +819,19 @@ ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED</screen>
</step>
<step>
<para>Повторно подключите диск в качестве резервного:</para>
<para>Повторно подключите канал дискового контроллера:</para>
<screen>&prompt.root; <userinput>atacontrol attach 3</userinput>
<screen>&prompt.root; <userinput>atacontrol attach ata3</userinput>
Master: ad6 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
Slave: no device present</screen>
</step>
<step>
<para>Добавьте новый диск к массиву в качестве резервного:</para>
<screen>&prompt.root; <userinput>atacontrol addspare ar0 ad6</userinput></screen>
</step>
<step>
<para>Перестройте массив:</para>
@ -832,11 +839,7 @@ Slave: no device present</screen>
</step>
<step>
<para>Команда перестроения будет работать, пока не закончит. Однако
имеется возможность открыть другой терминал (комбинацией клавиш
<keycombo action="simul"><keycap>Alt</keycap>
<keycap>F<replaceable>n</replaceable></keycap></keycombo>) и
проверить состояние дел при помощи следующей команды:</para>
<para>Проверить состояние дел можно при помощи следующей команды:</para>
<screen>&prompt.root; <userinput>dmesg | tail -10</userinput>
[выдача удалена]
@ -1323,17 +1326,19 @@ scsibus1:
<filename>/dev/acd0t03</filename> и так далее.</para>
<para>Удостоверьтесь, что соответствующий файл имеется в каталоге
<filename>/dev</filename>.</para>
<filename>/dev</filename>. При его отсутствии следует
принудительно перечитать оглавление диска:</para>
<screen>&prompt.root; <userinput>dd if=/dev/acd0 of=/dev/null count=1</userinput></screen>
<note><para>В версиях &os; 4.X номера треков не предваряются нулем.
В случае отсутствия нужных файлов устройств, создайте их при
помощи команды <command>MAKEDEV</command>:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV acd0t99</userinput></screen>
<note>
<para>Во FreeBSD 5.0 &man.devfs.5; будет автоматически создавать
объекты в каталоге <filename>/dev</filename> и управлять ими, так
что использовать <command>MAKEDEV</command> не
обязательно.</para>
</note>
</step>
<step>
@ -1973,7 +1978,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<para>Иногда записи в каталоге <filename>/dev</filename> необходимо
создавать повторно. Для этого выполните следующее:</para>
<screen>&prompt.root; <userinput>cd /dev && ./MAKEDEV "fd*"</userinput></screen>
<screen>&prompt.root; <userinput>cd /dev &amp;&amp; ./MAKEDEV "fd*"</userinput></screen>
</sect4>
<sect4>
@ -2440,6 +2445,102 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
</sect2>
</sect1>
<sect1 id="backup-strategies">
<sect1info>
<authorgroup>
<author>
<firstname>Lowell</firstname>
<surname>Gilbert</surname>
<contrib>Первоначально написано</contrib>
</author>
</authorgroup>
<!-- 3 Dec 2005 -->
</sect1info>
<title>Стратегии резервного копирования</title>
<para>При разработке плана резервного копирования первым делом надо
продумать методы защиты от следующих проблем:</para>
<itemizedlist>
<listitem>
<para>Отказ жесткого диска</para>
</listitem>
<listitem>
<para>Случайное удаление файлов</para>
</listitem>
<listitem>
<para>Повреждение содержимого файлов</para>
</listitem>
<listitem>
<para>Полное уничтожение компьютера (например, при пожаре), при
котором погибнут также резервные копии, физически находящиеся
рядом.</para>
</listitem>
</itemizedlist>
<para>Вполне возможно, что для ваших нужд нет единой стратегии, наилучшим
образом покрывающей все описанные проблемы; более того, скорее всего,
ее и не может быть (разве что для персональных систем, где ценность
данных очень низка).</para>
<para>Вот несколько наиболее распространенных технологий, применяемых
для резервного копирования:</para>
<itemizedlist>
<listitem>
<para>Архивация системы целиком с копированием на какой-либо надежный
внешний носитель и размещение его вдалеке от основной системы.
При этом вы защищены от всех перечисленных проблемы, однако этот
метод требует много времени и неудобен в процессе восстановления.
Вы можете хранить резервные копии рядом или даже смонтированными,
однако все равно столкнетесь с неудобствами при восстановлении,
в особенности для непривилегированных пользователей.</para>
</listitem>
<listitem>
<para>Снэпшоты файловых систем. Помогают только от случайного
удаления файлов, но как раз в этом случае
<emphasis>очень</emphasis> полезны и эффективны.</para>
</listitem>
<listitem>
<para>Полные копии файловых систем или дисков (например, периодический
запуск программы rsync для машины целиком).
<!-- XXX А что здесь хотел сказать автор???
This is generally most useful in networks with
unique requirements. -->
Для защиты от отказа жестких дисков этот способ обычно несколько
уступает <acronym>RAID</acronym>; для восстановления случайно
удаленных файлов может быть сравним по удобству со снэпшотами
<acronym>UFS</acronym>, в зависимости от вашей ситуации.</para>
</listitem>
<listitem>
<para><acronym>RAID</acronym>. Минимизирует или исключает вовсе
простои при отказе жестких дисков. При этом средняя частота
таких отказов увеличивается (поскольку количество дисков больше),
но разбираться с ними становится много спокойнее.</para>
</listitem>
<listitem>
<para>Проверка отпечатков файлов (fingerprints). Для этого весьма
полезна утилита &man.mtree.8;. Не являясь собственно технологией
резервного копирования, этот метод помогает выяснять, когда вам
пока обращаться к резервным копиям. В особенности это важно для
"оффлайновых" резервных копий.</para>
</listitem>
</itemizedlist>
<para>Довольно легко придумать и другие стратегии резервного копирования;
многие из них будут композициями уже упомянутых. Наличие специальных
требований, как правило, приводит к специализированным же технологиям
(например, резервное копирование базы данных, как правило, требует
использования методов, специфичных для соответствующей СУБД).
Главным остается знание опасностей потери данных, от которых вы хотите
себя оградить, и методов защиты от них.</para>
</sect1>
<sect1 id="backup-basics">
<title>Основы технологии резервного копирования</title>
@ -2598,9 +2699,9 @@ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput
накопитель.</para>
<screen>&prompt.root; <userinput>for f in <replaceable>directory_list; do</replaceable></userinput>
<userinput>find $f >> backup.list</userinput>
<userinput>find $f &gt;&gt; backup.list</userinput>
<userinput>done</userinput>
&prompt.root; <userinput>cpio -v -o --format=newc < backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat > <replaceable>backup_device</replaceable>"</userinput></screen>
&prompt.root; <userinput>cpio -v -o --format=newc &lt; backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat &gt; <replaceable>backup_device</replaceable>"</userinput></screen>
<para>Где directory_list это список директорий, c которых Вы хотите
создать резервные копии,
@ -2794,7 +2895,7 @@ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput
<example>
<title>Скрипт для создания загрузочной дискеты</title>
<programlisting><![ CDATA [#!/bin/sh
<programlisting><![ CDATA [#!/bin/sh
#
# create a restore floppy
#
@ -2840,7 +2941,7 @@ mkdir /mnt/var
#
if [ ! -x /sys/compile/MINI/kernel ]
then
cat << EOM
cat &lt;&lt; EOM
The MINI kernel does not exist, please create one.
Here is an example config file:
#
@ -2888,14 +2989,14 @@ fi
cp -f /sys/compile/MINI/kernel /mnt
gzip -c -best /sbin/init > /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /sbin/init &gt; /mnt/sbin/init
gzip -c -best /sbin/fsck &gt; /mnt/sbin/fsck
gzip -c -best /sbin/mount &gt; /mnt/sbin/mount
gzip -c -best /sbin/halt &gt; /mnt/sbin/halt
gzip -c -best /sbin/restore &gt; /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
gzip -c -best /bin/sh &gt; /mnt/bin/sh
gzip -c -best /bin/sync &gt; /mnt/bin/sync
cp /root/.profile /mnt/root
@ -2922,18 +3023,18 @@ cd /
#
# create minimum filesystem table
#
cat > /mnt/etc/fstab <<EOM
cat &gt; /mnt/etc/fstab <<EOM
/dev/fd0a / ufs rw 1 1
EOM
#
# create minimum passwd file
#
cat > /mnt/etc/passwd <<EOM
cat &gt; /mnt/etc/passwd &lt;&lt;EOM
root:*:0:0:Charlie &:/root:/bin/sh
EOM
cat > /mnt/etc/master.passwd <<EOM
cat &gt; /mnt/etc/master.passwd &lt;&lt;EOM
root::0:0::0:0:Charlie &:/root:/bin/sh
EOM
@ -2973,9 +3074,9 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
floppy</literal>. После вывода приглашения вставьте
<filename>fixit.flp</filename>. <command>restore</command> и другие
нужные вам программы находятся в каталоге <filename
class="directory">/mnt2/rescue</filename> (<filename
class="directory">/mnt2/stand</filename> во &os; версий, предшествующих
5.2).</para>
class="directory">/mnt2/rescue</filename> (<filename
class="directory">/mnt2/stand</filename> во &os; версий, предшествующих
5.2).</para>
<para>Восстановите по отдельности каждую файловую систему.</para>
@ -3764,17 +3865,18 @@ rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
другую машину для копирования и дальнейшего анализа важных данных.</para>
<para>Вне зависимости от того, как атакующий завладел жёстким диском или
выключенным компьютером, технология <application>gbde</application> (GEOM
Based Disk Encryption - шифрование диска на уровне GEOM) может защитить
выключенным компьютером, технологии <application>gbde</application> (GEOM
Based Disk Encryption - шифрование диска на уровне GEOM) и
криптографическая подсистема <command>geli</command> &os; могут защитить
данные файловой системы компьютера даже против очень заинтересованной
атакующей стороны с достаточными ресурсами. В отличие от громоздких
систем шифрования, которые шифруют отдельные файлы,
<application>gbde</application> шифрует в прозрачном режиме файловую
<command>gbde</command> и <command>geli</command> шифруют в прозрачном режиме файловую
систему в целом, при этом данные в открытом виде на диск никогда не
записываются.</para>
<sect2>
<title>Включение gbde в ядре</title>
<title>Шифрование диска при помощи gbde</title>
<procedure>
<step>
@ -3800,21 +3902,20 @@ rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
<title>Включите поддержку &man.gbde.4; в конфигурационный
файл ядра</title>
<para>При помощи вашего любимого текстового редактора добавьте
<para>Добавьте
следующую строку в файл конфигурации вашего ядра:</para>
<para><literal>options GEOM_BDE</literal></para>
<para>Выполните конфигурацию, компиляцию и установку нового ядра
<para>Перестройте ядро
FreeBSD. Этот процесс описан в <xref
linkend="kernelconfig">.</para>
<para>Перезагрузитесь, запустив новое ядро.</para>
</step>
</procedure>
</sect2>
<sect2>
<sect3>
<title>Подготовка зашифрованного жёсткого диска</title>
<para>В следующем примере предполагается, что в вашу систему вы
@ -3983,9 +4084,9 @@ for-->FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
/dev/ad4s1c.bde 150G 4.1K 138G 0% /private</screen>
</step>
</procedure>
</sect2>
</sect3>
<sect2>
<sect3>
<title>Монтирование имеющихся зашифрованных файловых систем</title>
<para>После каждой загрузки для каждой защищённой файловой системы перед
@ -4000,7 +4101,7 @@ for-->FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
<screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen>
<para>Будет выдан запрос на ввод ключевой фразы, выбранной на этапе
инициализации зашифрованного раздела gbde.</para>
инициализации зашифрованного раздела <application>gbde</application>.</para>
</step>
<step>
@ -4023,18 +4124,31 @@ for-->FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
</step>
</procedure>
<sect3>
<sect4>
<title>Автоматическое монтирование зашифрованных разделов</title>
<para>Для автоматического подключения, проверки и монтирования
зашифрованного раздела можно создать скрипт, но во соображениям
зашифрованного раздела можно создать скрипт, но по соображениям
безопасности в этом скрипте пароля для &man.gbde.8; быть не должно.
Поэтому рекомендуется запускать такие скрипты вручную, а пароль
задавать с консоли или сеанса &man.ssh.1;.</para>
</sect3>
</sect2>
<sect2>
<para>Начиная с версии &os; 5.2-RELEASE, базовая система содержит
скрипт <filename>rc.d</filename> для автоматического монтирования шифрованных разделов.
Его аргументы могут быть указаны в файле &man.rc.conf.5;:</para>
<screen>gbde_autoattach_all="YES"
gbde_devices="ad4s1c"</screen>
<para>При этом ключевая фраза для <application>gbde</application>
должна быть введена на этапе загрузки. После введения ключевой
фразы зашифрованный раздел будет смонтирован автоматически.
Такой подход может быть очень удобным для использования
<application>gbde</application> на ноутбуках.</para>
</sect4>
</sect3>
<sect3>
<title>Криптографическая защита, применяемая в gbde</title>
<para>&man.gbde.8; шифрует содержимое секторов при помощи 128-битного
@ -4043,9 +4157,9 @@ for-->FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
<application>gbde</application>, включая алгоритм генерации ключей
для секторов из ключевой фразы, вводимой пользователем, можно найти
на страницах справочной системы о &man.gbde.4;.</para>
</sect2>
</sect3>
<sect2>
<sect3>
<title>Вопросы совместимости</title>
<para>&man.sysinstall.8; несовместим с устройствами, зашифрованными
@ -4062,6 +4176,225 @@ for-->FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
подсистему &man.geom.4;, то вы не можете использовать тома
<application>vinum</application> с
<application>gbde</application>.</para>
</sect3>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Daniel</firstname>
<surname>Gerzo</surname>
<contrib>Предоставлено </contrib>
</author>
</authorgroup>
<!-- Date of writing: 28 November 2005 -->
</sect2info>
<title>Шифрование дисков при помощи <command>geli</command></title>
<para>Начиная с версии 6.0 &os; поддерживается новый класс GEOM &mdash;
<command>geli</command>. В настоящий момент он поддерживается
&a.pjd;. Класс <command>Geli</command> отличается от
<command>gbde</command>; он предоставляет другой комплекс
возможностей и использует иную схему криптования.</para>
<para>Наиболее значимыми особенностями &man.geli.8; являются:</para>
<itemizedlist>
<listitem>
<para>Использование инфраструктуры &man.crypto.9;: при наличии
аппаратной криптографической поддержки, <command>geli</command>
автоматически использует ее.</para>
</listitem>
<listitem>
<para>Поддержка разнообразных криптоалгоритмов (в настоящее время
AES, Blowfish и 3DES).</para>
</listitem>
<listitem>
<para>Поддержка шифрованного корневого раздела. Для загрузки
в такой ситуации потребуется ввести ключевую фразу.</para>
</listitem>
<listitem>
<para>Поддержка двух независимых ключей шифрования (например,
<quote>основного ключа</quote> и <quote>ключа
компании</quote>).</para>
</listitem>
<listitem>
<para>Высокая скорость работы <command>geli</command> за счет
простого криптования сектор-сектор.</para>
</listitem>
<listitem>
<para>Поддержка архивирования основных ключей. При необходимости
текущие ключи могут быть уничтожены, а в дальнейшем доступ к
данным восстановлен при помощи архивированных ключей.</para>
</listitem>
<listitem>
<para>Поддержка криптования файловых систем случайным одноразовым
ключом &mdash; например, для разделов подкачки или временных
файловых систем.</para>
</listitem>
</itemizedlist>
<para>Другие возможности класса <command>geli</command> описаны в его
странице справочника: &man.geli.8;.</para>
<para>Несколько следующих страниц будут посвящены описанию процесса
конфигурации <command>geli</command> в ядре &os; и создания
нового криптографического провайдера <command>geli</command>.
В завершение, мы продемонстрируем, как создать шифрованный раздел
подкачки при помощи <command>geli</command>.</para>
<para>Для того чтобы использовать <command>geli</command>, вам
потребуется &os; версии 6.0-RELEASE или более поздней. Поскольку
необходимо внести изменения в конфигурацию ядра, потребуются также
привилегии суперпользователя.</para>
<procedure>
<step>
<title>Изменение конфигурацию ядра: включение
<command>geli</command></title>
<para>Добавьте в конфигурационный файл ядра следующие строки:</para>
<screen>options GEOM_ELI
device crypto</screen>
<para>Перестройте ядро, как описано в разделе <xref
linkend="kernelconfig">.</para>
<para>Помимо этого, поддержка <command>geli</command> может быть
активирована модулем ядра на этапе загрузки. Для этого добавьте
в файл <filename>/boot/loader.conf</filename> строку:</para>
<para><literal>geom_eli_load="YES"</literal></para>
<para>Теперь ядро должно поддерживать &man.geli.8;.</para>
</step>
<step>
<title>Генерация главного ключа</title>
<para>Предлагаемый пример описывает процесс генерации ключевого
файла, который послужит частью главного ключа для шифрованного
провайдера, монтируемого в каталог <filename
role="directory">/private</filename>. При помощи содержимого
ключевого файла создается набор случайных данных, которым
зашифровывается главный ключ. Кроме того, он будет защищен
кодовой фразой. Размер сектора провайдера будет составлять
4kB. Наконец, мы обсудим, как присоединиться к провайдеру
<command>geli</command>, создать на базе его файловую систему,
как ее смонтировать и работать с ней, и, в заключение, как
корректно завершить работу.</para>
<para>Больший чем обычно размер сектора (как в нашем примере, 4 кБ)
рекомендуется для увеличения производительности.</para>
<para>Главный ключ будет защищен кодовой фразой; данные для
ключевого файла берутся из <filename>/dev/random</filename>.
Размер сектора создаваемого нами шифрованного провайдера
<filename>/dev/da2.eli</filename> &mdash; 4кБ.</para>
<screen>&prompt.root; <userinput>dd if=/dev/random of=/root/da2.key bs=64 count=1</userinput>
&prompt.root; <userinput>geli init -s 4096 -K /root/da2.key /dev/da2</userinput>
Enter new passphrase:
Reenter new passphrase:</screen>
<para>Использование одновременно кодовой фразы и ключевого файла
не обязательно: любой из этих методов защиты главного ключа может
применяться независимо.</para>
<para>Если в качестве имени ключевого файла указан <quote>-</quote>,
используется стандартный ввод. Это позволяет использовать более
одного ключевого файла:</para>
<screen>&prompt.root; <userinput>cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2</userinput></screen>
</step>
<step>
<title>Свяжите сгенерированный ключ с провайдером</title>
<screen>&prompt.root; <userinput>geli attach -k /root/da2.key /dev/da2</userinput>
Enter passphrase:</screen>
<para>Созданный при этом файл дискового устройства будет называться
<filename>/dev/<replaceable>da2</replaceable>.eli</filename>.</para>
<screen>&prompt.root; <userinput>ls /dev/da2*</userinput>
/dev/da2 /dev/da2.eli</screen>
</step>
<step>
<title>Создайте новую файловую систему</title>
<screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/da2.eli bs=1m</userinput>
&prompt.root; <userinput>newfs /dev/da2.eli</userinput>
&prompt.root; <userinput>mount /dev/da2.eli /private</userinput></screen>
<para>Зашифрованная файловая система будет видна в выводе утилиты
&man.df.1; и готова к использованию:</para>
<screen>&prompt.root; <userinput>df -H</userinput>
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 89M 139M 38% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr
/dev/ad0s1d 989M 1.5M 909M 0% /tmp
/dev/ad0s1e 3.9G 1.3G 2.3G 35% /var
/dev/da2.eli 150G 4.1K 138G 0% /private</screen>
</step>
<step>
<title>Размонтирование и деактивация провайдера</title>
<para>После завершения работы с шифрованным разделом, когда
содержимое каталога <filename role="directory">/private</filename>
больше не нужно, будет разумным отключить раздел от
системы.</para>
<screen>&prompt.root; <userinput>umount /private</userinput>
&prompt.root; <userinput>geli detach da2.eli</userinput></screen>
</step>
</procedure>
<para>Дополнительную информацию о &man.geli.8; можно найти на
соответствующей странице справочника.</para>
<sect3>
<title>Шифрование раздела подкачки</title>
<para>Данный пример описывает создание шифрованного при помощи
<command>geli</command> раздела подкачки.</para>
<screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/ad0s1b bs=1m</userinput>
&prompt.root; <userinput>geli onetime -d -a 3des ad0s1b</userinput>
&prompt.root; <userinput>swapon /dev/ad0s1b.eli</userinput></screen>
</sect3>
<sect3>
<title>Использование стартового скрипта <filename>rc.d</filename>
<filename>geli</filename></title>
<para>Для удобства использования подсистемы <command>geli</command>
в комплект базовой системы &os; входит стартовый скрипт, работой
которого можно управлять из &man.rc.conf.5;:</para>
<screen>geli_devices="da2"
geli_da2_flags="-p -k /root/da2.key"</screen>
<para>При этом дисковый раздел <filename>/dev/da2</filename> будет
сконфигурирован как провайдер <command>geli</command>, связан с
ключевым файлом <filename>/root/da2.key</filename>, а кодовая
фраза не будет использоваться (отметим, что это возможно только
в том случае, если при инициализации <command>geli</command> был
указан ключ -P). Шифрованный провайдер <command>geli</command>
будет отсоединен перед выключением системы.</para>
<para>Дополнительную информацию о конфигурации скриптов <filename>rc.d</filename> можно
найти в соответствующей
<link linkend="configtuning-rcd">главе</link> Руководства.</para>
</sect3>
</sect2>
</sect1>
</chapter>