This commit is contained in:
Taras Korenko 2011-08-24 07:17:48 +00:00
parent c3f9db5c1f
commit a20a7551ec
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=37589
4 changed files with 246 additions and 48 deletions

View file

@ -3,7 +3,7 @@
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/releng/article.sgml,v 1.15 2006/03/22 16:48:41 marck Exp $
Original revision: 1.86
Original revision: 1.87
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@ -563,10 +563,9 @@
(Это должен быть любой, так как мы предоставляем анонимный доступ к CVS!
Обратитесь к Руководству для прояснения деталей.)
<emphasis>Единственным</emphasis> особым требованием является наличие
устройства &man.vn.4;. (В -CURRENT это устройство было заменено на
новый драйвер дисков в памяти &man.md.4;.) Если устройство в вашем ядре
устройства &man.md.4;. Если устройство в вашем ядре
не подгружено, то модуль ядра должен быть подгружен автоматически при
выполнении команды &man.vnconfig.8; на этапе создания носителя для
выполнении команды &man.mdconfig.8; на этапе создания носителя для
загрузки. Все инструменты, необходимые для построения релиза, доступны
из хранилища CVS в каталоге <filename>src/release</filename>. Эти
инструменты предоставляют единый метод построения релизов &os;.

View file

@ -4,7 +4,7 @@
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml,v 1.41 2007/06/25 10:41:18 den Exp $
Original revision: 1.147
Original revision: 1.158
-->
<chapter id="basics">
@ -312,6 +312,39 @@ console none unknown off secure</programlisting>
загрузки FreeBSD и вызова программ.</para>
</note>
</sect2>
<sect2 id="consoles-vidcontrol">
<title>Изменение видеорежимов консоли</title>
<para>Установленный по умолчанию размер изображения для консоли FreeBSD
может быть изменен до значения 1024x768, 1280x1024, или любого
другого, который поддерживается вашим монитором и видеокартой.
Для того, чтобы задействовать иной видеорежим, вам прежде всего
необходимо будет пересобрать ядро вашей системы, добавив в файл
конфигурации две дополнительные опции:</para>
<programlisting>options VESA
options SC_PIXEL_MODE</programlisting>
<para>После пересборки и установки ядра воспользуйтесь утилитой
&man.vidcontrol.1; для определения видеорежимов, поддерживаемых
вашим оборудованием. Чтобы получить перечень видеорежимов,
выполните следующую команду:</para>
<screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen>
<para>Команда отобразит список поддерживаемых видеорежимов. Теперь
вы можете выбрать один из них и установить его на консоли при помощи
&man.vidcontrol.1;:</para>
<screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen>
<para>Если новый видеорежим вас устраивает, то его можно определить
устанавливаемым автоматически во время старта системы, для чего
добавьте в <filename>/etc/rc.conf</filename> следующую строку:</para>
<programlisting>allscreens_flags="MODE_279"</programlisting>
</sect2>
</sect1>
<sect1 id="permissions">
@ -628,7 +661,7 @@ total 530
<para>Чтобы просмотреть флаги этого файла, воспользуйтесь командой
&man.ls.1; с параметрами <option>-lo</option>:</para>
<screen>&prompt.root; <userinput>ls -lo <filename>file1</filename> </userinput></screen>
<screen>&prompt.root; <userinput>ls -lo <filename>file1</filename></userinput></screen>
<para>Результат выполнения команды должен выглядеть примерно так:</para>
@ -640,6 +673,151 @@ total 530
информации мы рекомендуем изучить содержимое справки по командам
&man.chflags.1; и &man.chflags.2;.</para>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Текст предоставил </contrib>
</author>
</authorgroup>
</sect2info>
<title>setuid, setgid и sticky-биты в правах доступа</title>
<para>В дополнение к рассмотренным выше правам доступа и флагам файлов
необходимо также упомянуть еще три бита прав доступа, о которых должны
знать все системные администраторы. Это такие биты, как
<literal>setuid</literal>, <literal>setgid</literal> и
<literal>sticky</literal>.</para>
<para>Эти биты играют важную роль в определённых моментах работы
&unix;, так как они предоставляют функциональность, расширяющую
права обычного пользователя. Чтобы понять как они работают, необходимо
определить различие между реальным идентификатором пользователя
(<acronym>UID</acronym>) и действующим идентификатором пользователя
(effective UID, <acronym>EUID</acronym>).</para>
<para>Реальный <acronym>UID</acronym> &mdash; это идентификатор
пользователя, запустившего процесс на выполнение. Действующий
UID (<acronym>EUID</acronym>) &mdash; это идентификатор пользователя,
с которым на самом деле выполняется процесс. Например, утилита
&man.passwd.1; во время смены пароля пользователем запускается
с реальным ID пользователя; однако, чтобы внести изменения в базу
данных пользователей, ей необходимо работать с действующим ID
пользователя <username>root</username>. Это тот механизм, который
позволяет обычным пользователям изменять свои пароли и при этом
не наблюдать ошибку <errorname>Permission Denied</errorname>.</para>
<note>
<para>Опция <literal>nosuid</literal>, указанная при монтировании
файловой системы, отменяет действие битов
<literal>setuid</literal> и <literal>setgid</literal>.
То есть, утилиты, использующие эти биты прав, откажутся выполняться,
даже не выдав пользователю никакого предостережения. К тому же,
(с точки зрения обеспечения безопасности) эта опция монтирования
не является абсолютно надежной, так как, согласно странице
справочника &man.mount.8;, накладываемые ею ограничения могут быть
обойдены при помощи <quote>обертки</quote> <literal>nosuid</literal>
(<literal>nosuid</literal> wrapper).</para>
</note>
<para>Бит setuid устанавливается добавлением цифры четыре (4) перед
численным представлением прав доступа, например:</para>
<screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>
<para>Теперь права доступа на файл
<filename><replaceable>suidexample.sh</replaceable></filename>
выглядят подобно следующему:</para>
<programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh</programlisting>
<para>В вышеприведенной строке приметно то, что в перечне прав доступа
для владельца файла присутствует символ <literal>s</literal>,
который заменил собой бит выполнения.
<!-- "This allows utilities which need elevated permissions,
such as <command>passwd</command>." - - something's missing here,
isn't it? --></para>
<para>Чтобы посмотреть <literal>setuid</literal> в действии,
откройте два терминала. На одном из них запустите команду
<command>passwd</command> с правами обычного пользователя. Пока
утилита ждет ввода нового пароля, просмотрите таблицу процессов
и найдите в ней запись о процессе <command>passwd</command>.</para>
<para>В терминале А:</para>
<screen>Changing local password for trhodes
Old Password:</screen>
<para>В терминале Б:</para>
<screen>&prompt.root; <userinput>ps aux | grep passwd</userinput></screen>
<screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<para>Как уже было сказано, утилита <command>passwd</command> запущена
с правами обычного пользователя, но ее действующий
<acronym>UID</acronym> &mdash; <username>root</username>.</para>
<para>Действие бита <literal>setgid</literal> подобно действию
<literal>setuid</literal>; отличие заключается в том, что изменяются
настройки прав для группы. Когда выполняется приложение (или утилита)
с установленным битом <literal>setgid</literal>, то ему (ей)
будут обеспечены права в соответствии с группой владельца файла,
а не с группой пользователя, запустившего процесс.</para>
<para>Чтобы установить на файл бит <literal>setgid</literal>,
выполните команду <command>chmod</command>, добавив цифру два (2)
перед численным представлением прав доступа, например:</para>
<screen>&prompt.root; <userinput>chmod 2755 sgidexample.sh</userinput></screen>
<para>Новый бит отображается подобно предыдущему случаю: обратите
внимание на наличие <literal>s</literal> в перечне прав доступа
для группы:</para>
<screen>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh</screen>
<note>
<para>В этих примерах, несмотря на то, что сценарий оболочки является
исполняемым файлом, он не будет выполняться с другим действующим
идентификатором пользователя (<acronym>EUID</acronym>). Так
происходит потому, что сценариям командного интерпретатора недоступен
системный вызов &man.setuid.2;.</para>
</note>
<para>Позволяя расширять права пользователя, оба бита прав доступа
(<literal>setuid</literal> и <literal>setgid</literal>) могут привести
к снижению безопасности системы. Третий обсуждаемый здесь бит
&mdash; <literal>sticky</literal> &mdash; способствует повышению
безопасности системы.</para>
<para>Бит <literal>sticky</literal>, будучи установленным на каталог,
позволяет производить удаление файла только владельцу файла. Этот
бит применяется для предотвращения удаления файлов в публичных
каталогах, таких как <filename class="directory">/tmp</filename>,
пользователями, не владеющими файлом. Чтобы задействовать этот
бит, добавьте единицу (1) перед численным представлением прав
доступа. Например:</para>
<screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
<para>Проверить результат можно при помощи команды
<command>ls</command>:</para>
<screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
<screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
<para>Отличительной особенностью бита <literal>sticky</literal>
является наличие символа <literal>t</literal> в самом конце перечня
прав.</para>
</sect2>
</sect1>
<sect1 id="dirstructure">
@ -652,10 +830,12 @@ total 530
Корневой каталог монтируется самым первым на этапе загрузки и содержит
все необходимое, чтобы подготовить систему к загрузке в
многопользовательский режим. Корневой каталог также содержит точки
монтирования всех других файловых систем.</para>
монтирования для остальных файловых систем, которые монтируются
во время перехода в многопользовательский режим.</para>
<para>Точкой монтирования называется каталог, который будет
соответствовать корню смонтированной файловой системы.
<para>Точкой монтирования называется каталог, находящийся
в родительской (обычно &mdash; корневой) файловой системе, к которому
может быть подсоединена другая файловая система.
Более детально это описывается в <xref linkend="disk-organization">.
Стандартные точки монтирования включают <filename>/usr</filename>,
<filename>/var</filename>, <filename>/tmp</filename>,
@ -1280,9 +1460,9 @@ total 530
<para>В то время, как ссылка на раздел FreeBSD требует также указания
слайса и диска, содержащего раздел, ссылка на слайс требует также
указания имени диска. Делайте это указанием имени диска,
<literal>s</literal>, номера слайса, и затем буквы раздела.
Примеры показаны в
указания имени диска. Другими словами, ссылаясь на раздел,
указывайте имя диска, <literal>s</literal>, номер слайса, и затем
букву раздела. Примеры показаны в
<xref linkend="basics-disk-slice-part">.</para>
<para><xref linkend="basics-concept-disk-model"> показывает
@ -1388,8 +1568,8 @@ total 530
с точки зрения FreeBSD. Предположим, что размер диска 4&nbsp;GB, и он
содержит два 2&nbsp;GB слайса (&ms-dos; разделы). Первый слайс содержит
&ms-dos; диск, <devicename>C:</devicename>, а второй слайс содержит
установленную FreeBSD. В этом примере в установленной FreeBSD
три раздела и раздел подкачки.</para>
установленную FreeBSD. В этом примере у установленной FreeBSD
есть три раздела с данными и раздел подкачки.</para>
<para>В каждом из трех разделов есть файловая система. Раздел
<literal>a</literal> используется для корневой файловой системы,
@ -1618,8 +1798,7 @@ total 530
<listitem>
<para>Монтировать файловую систему в режиме <quote>только
для чтения</quote>. То же самое, что и указание
аргумента <option>ro</option> (<option>rdonly</option>
для &os; версий старше, чем 5.2) для опции
аргумента <option>ro</option> для опции
<option>-o</option>.</para>
</listitem>
</varlistentry>
@ -1669,17 +1848,6 @@ total 530
аргументы, включая нижеперечисленные:</para>
<variablelist>
<varlistentry>
<term>nodev</term>
<listitem>
<para>Не обращать внимание на специальные файлы устройств
на файловой системе (то есть не считать их файлами
устройств). Весьма полезная опция для повышения
безопасности системы.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>noexec</term>
@ -1787,7 +1955,9 @@ total 530
<para>Как вы можете видеть в данном примере, вывод &man.ps.1; организован
в несколько колонок. Идентификатор процесса <literal>PID</literal>
обсуждался ранее. PID назначаются с 1 до 99999 и опять с начала, если
последнее число будет превышено. Колонка <literal>TT</literal> показывает
последнее число будет превышено (однажды выданный и используемый PID
не может быть назначен повторно).
Колонка <literal>TT</literal> показывает
терминал (tty), на котором запущена программа (можете пока забыть про
это). <literal>STAT</literal> показывает состояние программы и опять
же может быть пока проигнорирован. <literal>TIME</literal> это количество
@ -1805,7 +1975,8 @@ total 530
владеете. <option>u</option> показывает имя пользователя,
владеющего процессом, и информацию об используемой памяти.
<option>x</option> показывает информацию о процессах-даемонах и
<option>ww</option> указывает &man.ps.1; показать всю командную строку,
<option>ww</option> указывает &man.ps.1; показать всю командную строку
для каждого процесса,
вместо обрезания ее, когда она станет слишком длинной, чтобы уместиться
на экран.</para>
@ -1865,17 +2036,17 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
приложений этого класса.</para>
<para>Мы называем эти программы <firstterm>даемонами</firstterm>. Даемоны это
персонажи греческой мифологии; хорошие или плохие, они были спутниками
человека и, вообще говоря, выполняли полезную работу для людей. Почти как
персонажи греческой мифологии: хорошие или плохие, они были спутниками
человека и, вообще говоря, выполняли полезную работу для людей, почти как
веб- и почтовые серверы выполняют полезную работу сегодня. Это причина,
по которой талисманом BSD долгое время является веселый даемон в тапочках и с
по которой талисманом BSD долгое время является веселый даемон в кедах и с
вилами.</para>
<para>Есть соглашение, по которому имя программы, которая обычно запускается
как даемон, заканчивается на <quote>d</quote>. <application>BIND</application>
это Berkeley Internet Name Daemon (выполняемая программа называется
<command>named</command>), программа веб сервера
<application>Apache</application> называется <command>httpd</command>,
это Berkeley Internet Name Domain, а выполняемая программа называется
<command>named</command>; программа веб сервера
<application>Apache</application> называется <command>httpd</command>;
даемон очереди печати это <command>lpd</command> и так далее. Это соглашение,
а не жесткое правило; например, главный почтовый даемон для
<application>Sendmail</application> называется
@ -1883,9 +2054,10 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
предположить.</para>
<para>Иногда может потребоваться взаимодействие с процессом даемона.
Эти можно сделать с помощью <firstterm>сигналов</firstterm>, т.е.
взаимодействовать с даемонами (или с любыми запущенными процессами),
посылая им сигнал. Есть множество различных сигналов &mdash; некоторые
Один из способов взаимодействия с процессом даемона (или с любым другим
запущенным процессом) &mdash; это посылка ему так называемого
<firstterm>сигнала</firstterm>.
Есть множество различных сигналов &mdash; некоторые
из них имеют специальное значение, другие обрабатываются приложением,
реакция которого на эти сигналы должна быть описана в документации.
Вы можете посылать сигналы только тем процессам,
@ -2022,7 +2194,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<indexterm><primary>оболочка</primary></indexterm>
<indexterm><primary>командная строка</primary></indexterm>
<para>При работе с FreeBSD, в большинстве случаях для выполнения
<para>При работе с FreeBSD, в большинстве случаев для выполнения
повседневных задач используется командный интерфейс (так называемая
<quote>оболочка</quote>, <quote>shell</quote>). Основная задача интерпретатора &mdash; принимать
вводимые команды и выполнять их. Многие командные интерпретаторы имеют
@ -2067,7 +2239,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<para>Дополнительные возможности при работе с интерпретатором дает
использование переменных окружения. Переменные окружения это пары
переменная=значение, хранящиеся в памяти интерпретатора.
переменная/значение, хранящиеся в памяти интерпретатора.
Значение переменных окружения может быть прочитано любой программой,
запущенной из командного интерпретатора, и часто содержит
настройки для многих приложений и утилит. Ниже приведены некоторые
@ -2108,7 +2280,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<row>
<entry><envar>TERM</envar></entry>
<entry>Название (тип) терминала. Используется, чтобы узнать
<entry>Тип терминала пользователя. Используется, чтобы узнать
возможности терминала.</entry>
</row>
@ -2285,12 +2457,18 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<application>emacs</application> и <application>vim</application>
можно найти в коллекции портов (<filename
role="package">editors/emacs</filename> и <filename
role="package">editors/vim</filename>). Эти редакторы более сложны
в изучении,
но их возможности порой превосходят всякие ожидания! Если в
будущем вам потребуется часто редактировать большие объемы текстов,
то потраченное на изучение этих редакторов время
окупится с лихвой.</para>
role="package">editors/vim</filename>). Эти редакторы обладают еще
большей функциональностью и мощью, но они также и более сложны
в изучении. Однако, если в будущем вам потребуется часто редактировать
большие объемы текстов, то время, потраченное на изучение более мощного
редактора, такого как <application>vim</application>
или <application>Emacs</application>, окупится с лихвой.</para>
<para>Многие приложения, модифицирующие файлы или требующие текстового
ввода, автоматически открывают текстовый редактор. Чтобы сменить
используемый по умолчанию редактор, установите переменную окружения
<envar>EDITOR</envar>. За деталями обратитесь к разделу <link
linkend="shells">интерпретатор команд</link>.</para>
</sect1>
<sect1 id="basics-devices">

View file

@ -4,7 +4,7 @@
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml,v 1.31 2007/06/26 09:16:37 den Exp $
Original revision: 1.207
Original revision: 1.209
-->
<appendix id="eresources">
@ -445,6 +445,11 @@
TCP/IP</entry>
</row>
<row>
<entry>&a.office.name;</entry>
<entry>ïÆÉÓÎÙÅ ÐÒÉÌÏÖÅÎÉÑ ×Ï &os;</entry>
</row>
<row>
<entry>&a.openoffice.name;</entry>
<entry>ðÏÒÔÉÒÏ×ÁÎÉÅ <application>OpenOffice.org</application> É
@ -1466,6 +1471,18 @@
</listitem>
</varlistentry>
<varlistentry>
<term>&a.office.name;</term>
<listitem>
<para><emphasis>ïÆÉÓÎÙÅ ÐÒÉÌÏÖÅÎÉÑ ×Ï &os;</emphasis></para>
<para>ôÅÍÁ ÜÔÏÇÏ ÓÐÉÓËÁ ÒÁÓÓÙÌËÉ &mdash; ÏÆÉÓÎÙÅ ÐÒÉÌÏÖÅÎÉÑ,
ÕÓÔÁÎÏ×ËÁ ÏÆÉÓÎÙÈ ÐÒÉÌÏÖÅÎÉÊ, ÉÈ ÒÁÚÒÁÂÏÔËÁ É ÐÏÄÄÅÒÖËÁ
×Ï &os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.openoffice.name;</term>

View file

@ -313,6 +313,10 @@
<!ENTITY a.newbus "<ulink url='&a.newbus.url;'>óĐÉÓĎË ŇÁÓÓŮĚËÉ, ĐĎÓ×ŃÝŁÎÎŮĘ ÁŇČÉÔĹËÔŐŇĹ New Bus ×Ď FreeBSD</ulink>">
<!ENTITY a.newbus.name "<ulink url='&a.newbus.url;'>freebsd-new-bus</ulink>">
<!ENTITY a.office.url "&a.mailman.listinfo;/freebsd-office">
<!ENTITY a.office "<ulink url='&a.office.url;'>ïÆÉÓÎÙÅ ÐÒÉÌÏÖÅÎÉÑ ×Ï FreeBSD</ulink>">
<!ENTITY a.office.name "<ulink url='&a.office.url;'>freebsd-office</ulink>">
<!ENTITY a.openoffice.url "&a.mailman.listinfo;/freebsd-openoffice">
<!ENTITY a.openoffice "<ulink url='&a.openoffice.url;'>óĐÉÓĎË ŇÁÓÓŮĚËÉ, ĐĎÓ×ŃÝŁÎÎŮĘ ĐĎÄÄĹŇÖËĹ OpenOffice ĐĎÄ FreeBSD</ulink>">
<!ENTITY a.openoffice.name "<ulink url='&a.openoffice.url;'>freebsd-openoffice</ulink>">