Date: Mon, 23 Dec 2013 11:02:28 +0000 (UTC) From: Taras Korenko <taras@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r43368 - in head/ru_RU.KOI8-R/books/handbook: . basics bsdinstall preface users Message-ID: <201312231102.rBNB2Scx026126@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: taras Date: Mon Dec 23 11:02:28 2013 New Revision: 43368 URL: http://svnweb.freebsd.org/changeset/doc/43368 Log: This commit integrates contents of users/chapter.xml into basics/chapter.xml and removes the former. Deleted: head/ru_RU.KOI8-R/books/handbook/users/ Modified: head/ru_RU.KOI8-R/books/handbook/Makefile head/ru_RU.KOI8-R/books/handbook/basics/chapter.xml head/ru_RU.KOI8-R/books/handbook/book.xml head/ru_RU.KOI8-R/books/handbook/bsdinstall/chapter.xml head/ru_RU.KOI8-R/books/handbook/chapters.ent head/ru_RU.KOI8-R/books/handbook/preface/preface.xml Modified: head/ru_RU.KOI8-R/books/handbook/Makefile ============================================================================== --- head/ru_RU.KOI8-R/books/handbook/Makefile Mon Dec 23 08:51:55 2013 (r43367) +++ head/ru_RU.KOI8-R/books/handbook/Makefile Mon Dec 23 11:02:28 2013 (r43368) @@ -228,7 +228,6 @@ SRCS+= preface/preface.xml SRCS+= printing/chapter.xml SRCS+= security/chapter.xml SRCS+= serialcomms/chapter.xml -SRCS+= users/chapter.xml SRCS+= x11/chapter.xml # Entities Modified: head/ru_RU.KOI8-R/books/handbook/basics/chapter.xml ============================================================================== --- head/ru_RU.KOI8-R/books/handbook/basics/chapter.xml Mon Dec 23 08:51:55 2013 (r43367) +++ head/ru_RU.KOI8-R/books/handbook/basics/chapter.xml Mon Dec 23 11:02:28 2013 (r43368) @@ -333,6 +333,1197 @@ options SC_PIXEL_MODE</programlisting> </sect2> </sect1> + <sect1 xml:id="users-synopsis"> + <!-- XXX: This section is syncronized with corresponding section of + en/handbook/basics/chapter.xml at r43328. --> + <title>Пользователи и основы управления учетными записями</title> + + <info> + <authorgroup> + <author> + <personname> + <firstname>Neil</firstname> + <surname>Blakey-Milner</surname> + </personname> + <contrib>Предоставил: </contrib> + </author> + </authorgroup> + + <authorgroup> + <author> + <personname> + <firstname>Денис</firstname> + <surname>Пеплин</surname> + </personname> + <contrib>Перевод на русский язык: </contrib> + </author> + </authorgroup> + </info> + + <para>&os; допускает одновременную работу множества пользователей + на одном компьютере. В то время, как только один пользователь + может сидеть за клавиатурой и перед экраном в один момент + времени, любое количество пользователей может войти в систему + через сеть. Для использования системы у каждого пользователя + должна быть учетная запись.</para> + + <para>В этом разделе описаны:</para> + + <itemizedlist> + <listitem> + <para>Разные типы учетных записей в системе &os;.</para> + </listitem> + + <listitem> + <para>Как добавлять, удалять и изменять учетные записи + пользователей.</para> + </listitem> + + <listitem> + <para>Как устанавливать ограничения на использование ресурсов + для учетных записей или групп учетных записей.</para> + </listitem> + + <listitem> + <para>Как использовать группы для упрощения управлением + учетными записями.</para> + </listitem> + </itemizedlist> + + <sect2 xml:id="users-introduction"> + <title>Разновидности учетных записей</title> + + <para>Так как доступ к системе &os; осуществляется через учетные + записи, и все процессы запускаются пользователями, то + управление пользователями и учетными записями является важным + аспектом администрирования.</para> + + <para>Существует три разновидности учетных записей: системные + учетные записи, учетные записи пользователей и + суперпользователь.</para> + + <sect3 xml:id="users-system"> + <title>Системные учетные записи</title> + + <indexterm> + <primary>учетные записи</primary> + <secondary>системные</secondary> + </indexterm> + + <para>Системные учетные записи предназначены для запуска + сервисов, таких как DNS, почта, веб серверы. Это необходимо + по соображениям безопасности; если бы все сервисы работали + от суперпользователя, они могли бы действовать без + ограничений.</para> + + <indexterm> + <primary>учетные записи</primary> + <secondary><systemitem + class="username">daemon</systemitem></secondary> + </indexterm> + + <indexterm> + <primary>учетные записи</primary> + <secondary><systemitem + class="username">operator</systemitem></secondary> + </indexterm> + + <para>Примеры системных учетных записей: + <systemitem class="username">daemon</systemitem>, + <systemitem class="username">operator</systemitem>, + <systemitem class="username">bind</systemitem>, + <systemitem class="username">news</systemitem> и + <systemitem class="username">www</systemitem>.</para> + + <indexterm> + <primary>учетные записи</primary> + <secondary><systemitem + class="username">nobody</systemitem></secondary> + </indexterm> + + <para><systemitem class="username">nobody</systemitem> это + общепринятая непривилегированная системная учетная запись. + Однако, чем больше сервисов используют <systemitem + class="username">nobody</systemitem>, тем больше файлов + и процессов связано с этим пользователем, и следовательно + тем больше привилегий появляется у этого пользователя.</para> + </sect3> + + <sect3 xml:id="users-user"> + <title>Учетные записи пользователей</title> + + <indexterm> + <primary>учетные записи</primary> + <secondary>пользователей</secondary> + </indexterm> + + <para>Учетные записи пользователей служат для предоставления + доступа к системе обычным людям. Каждый человек, имеющий + доступ к системе, должен иметь уникальную учетную запись + пользователя. Это позволяет администратору выяснять кто что + делает и предотвращает сбивание одним пользователем настроек + других пользователей.</para> + + <para>Каждый пользователь посредством выбора оболочки, + редактора, привязок клавиш и настроек языка может + настраивать свою собственную рабочую среду для + приспособления системы под свои нужды.</para> + + <para>С каждой учетной записью в системе &os; связана + определенная идентификационная информация:</para> + + <variablelist> + <varlistentry> + <term>Имя пользователя</term> + + <listitem> + <para>Имя пользователя вводится в приглашение + <prompt>login:</prompt>. Имена пользователей должны + быть уникальны. Существует множество правил для + создания допустимых имен пользователей, + документированных в &man.passwd.5;. Рекомендуется + составлять имена пользователей из восьми или меньшего + количества символов в нижнем регистре, чтобы + поддерживать обратную совместимость с + приложениями.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Пароль</term> + + <listitem> + <para>С каждой учетной записью связан пароль.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>ID пользователя (User ID, + <acronym>UID</acronym>)</term> + + <listitem> + <para>Идентификатор пользователя (<acronym>UID</acronym>) + — это номер, используемый для однозначной + идентификации пользователя в системе &os;. Любая + команда, принимающая в качестве аргумента имя + пользователя, первым делом преобразует его к + <acronym>UID</acronym>. Рекомендуется выбирать + значения <acronym>UID</acronym>, не превышающие 65535, + так как большие значения могут вызывать проблемы + совместимости для некоторых пользовательских + программ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Идентификатор группы (Group ID, + <acronym>GID</acronym>)</term> + + <listitem> + <para>Идентификатор группы (<acronym>GID</acronym>) + — это номер, используемый для однозначной + идентификации главной группы, к которой принадлежит + пользователь. Группы это механизм для контроля + доступа к ресурсам на основе <acronym>GID</acronym> + пользователя вместо его <acronym>UID</acronym>. Это + может значительно уменьшить размер некоторых файлов + настройки. Кроме того, пользователь может быть + включен более чем в одну группу. Рекомендуется + использовать значения <acronym>GID</acronym>, не + превышающие 65535, так как большие значения могут + стать проблемой для некоторых программ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Класс доступа (login class)</term> + + <listitem> + <para>Классы доступа это расширение к механизму групп, + позволяющее более гибко приспосабливать систему для + различных пользователей. Классы доступа описаны в + <xref linkend="users-limiting"/>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Срок действия пароля</term> + + <listitem> + <para>По умолчанию пароли не устаревают. Однако, есть + возможность ограничить срок действия текущего пароля + пользователя, и тем самым обязать его обновить + пароль.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Срок действия учетной записи</term> + + <listitem> + <para>По умолчанию во &os; время действия учетных + записей не ограничено. При создании учетных записей + ограниченного срока действия, например для студентов в + учебном заведении, при помощи &man.pw.8; укажите дату + истечения действия учетной записи. После наступления + указанной даты учетная запись становится непригодной + для входа в систему, хотя каталоги и файлы этой + учетной записи останутся нетронутыми.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Полное имя пользователя</term> + + <listitem> + <para>Имя пользователя является уникальным + идентификатором учетной записи в &os;, однако оно не + обязано соответствовать реальному имени пользователя. + Это поле может содержать реальное имя пользователя. + Здесь допустимы пробелы, символы подчеркивания, строка + не ограничена до 8 символов.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Домашний каталог</term> + + <listitem> + <para>Домашний каталог определяется полным путем в + системе. С него пользователь начнет работу после + входа в систему. По общепринятому соглашению все + домашние каталоги пользователей помещаются в + <filename>/home/username</filename> или + <filename>/usr/home/username</filename>. Пользователи + хранят личные файлы и подкаталоги в своих домашних + каталогах.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Оболочка пользователя</term> + + <listitem> + <para>Оболочка необходима пользователям как средство + взаимодействия с системой. Существует множество + различных видов оболочек, опытные пользователи + работают с собственными настройками, которые могут + быть отражены в установках их учетных записей.</para> + </listitem> + </varlistentry> + </variablelist> + </sect3> + + <sect3 xml:id="users-superuser"> + <title>Учетная запись суперпользователя</title> + + <indexterm> + <primary>учетные записи</primary> + <secondary>суперпользователь (root)</secondary> + </indexterm> + + <para>Учетная запись суперпользователя, обычно называемая + <systemitem class="username">root</systemitem>, используется + для управления системой без ограничения привилегий. Поэтому + она не должна использоваться для повседневных задач, таких + как получение и отправка почты, общее исследование системы + или программирование.</para> + + <para>Суперпользователь, в отличие от обычных пользователей, + может работать без ограничений и поэтому неправильное + использование учетной записи суперпользователя может + привести к полному уничтожению системы. Учетные записи + пользователей не способны уничтожить систему вследствие + ошибки, поэтому если нет необходимости в привилегиях + суперпользователя, то лучше использовать учетные записи + обычных пользователей везде, где это возможно.</para> + + <para>Всегда перепроверяйте и переперепроверяйте команды, + выполняемые под учетной записью суперпользователя, поскольку + даже один лишний пробел или отсутствующий символ может + привести к безвозвратной потере данных.</para> + + <para>Есть несколько способов получения привилегий + суперпользователя. Наименее удобный способ — войти в + систему под учетной записью <systemitem + class="username">root</systemitem>.</para> + + <para>Вместо этого можно воспользоваться &man.su.1;. Если при + запуске этой команды указывается ключ <literal>-</literal>, + пользователь получит настройки окружения учетной записи + <systemitem class="username">root</systemitem>. + Пользователь, запускающий эту команду, обязан входить в + группу <systemitem class="groupname">wheel</systemitem>, в + противном случае команда не выполнится. Пользователь также + должен знать пароль учетной записи <systemitem + class="username">root</systemitem>.</para> + + <para>В следующем примере пользователь повышает привилегии для + запуска команды <command>make install</command>, так как + этот шаг требует прав суперпользователя. По завершении + работы команды пользователь набирает + <command>exit</command>, тем самым выходя из учетной записи + суперпользователя и возвращая привилегии собственной учетной + записи.</para> + + <example> + <title>Установка программы с привилегиями + суперпользователя</title> + + <screen>&prompt.user; <userinput>configure</userinput> +&prompt.user; <userinput>make</userinput> +&prompt.user; <userinput>su -</userinput> +Password: +&prompt.root; <userinput>make install</userinput> +&prompt.root; <userinput>exit</userinput> +&prompt.user;</screen> + </example> + + <para>Утилита &man.su.1; прекрасно подходит для одиночных + систем или небольших сетей с единственным системным + администратором. В качестве альтернативы ей следует + упомянуть порт или пакет <package>security/sudo</package>. + Эта утилита предоставляет журналирование активности, а также + позволяет администратору указывать перечень утилит, + доступных пользователю для запуска с правами + суперпользователя.</para> + </sect3> + </sect2> + + <sect2 xml:id="users-modifying"> + <title>Изменение учетных записей</title> + + <indexterm> + <primary>учетные записи</primary> + <secondary>изменение</secondary> + </indexterm> + + <para>&os; располагает набором различных команд для работы с + учетными записями пользователей. + <xref linkend="users-modifying-utilities"/> перечисляет + наиболее часто используемые команды, ниже находятся примеры их + использования. За исчерпывающей информацией по каждой утилите + следует обратиться к соответствующим страницам + справочников.</para> + + <table frame="none" pgwide="1" + xml:id="users-modifying-utilities"> + <title>Утилиты для управления учетными записями</title> + + <tgroup cols="2"> + <colspec colwidth="1*"/> + <colspec colwidth="2*"/> + <thead> + <row> + <entry>Команда</entry> + <entry>Краткое описание</entry> + </row> + </thead> + <tbody> + <row> + <entry>&man.adduser.8;</entry> + <entry>Рекомендуемое приложение командной строки для + добавления новых пользователей.</entry> + </row> + <row> + <entry>&man.rmuser.8;</entry> + <entry>Рекомендуемое приложение командной строки для + удаления пользователей.</entry> + </row> + <row> + <entry>&man.chpass.1;</entry> + <entry>Гибкий инструмент для изменения информации в + базе данных пользователей.</entry> + </row> + <row> + <entry>&man.passwd.1;</entry> + <entry>Инструмент командной строки для изменения + паролей пользователей.</entry> + </row> + <row> + <entry>&man.pw.8;</entry> + <entry>Мощный и гибкий инструмент для изменения любой + информации, связанной с учетными записями + пользователей.</entry> + </row> + </tbody> + </tgroup> + </table> + + <sect3 xml:id="users-adduser"> + <title><command>adduser</command></title> + + <indexterm> + <primary>учетные записи</primary> + <secondary>добавление</secondary> + </indexterm> + + <indexterm> + <primary><command>adduser</command></primary> + </indexterm> + + <indexterm> + <primary><filename>/usr/share/skel</filename></primary> + </indexterm> + + <indexterm> + <primary>каталог шаблонов</primary> + </indexterm> + + <indexterm> + <primary>skeleton directory</primary> + </indexterm> + + <para>Для добавления новых пользователей рекомендуется + использовать &man.adduser.8;. При добавлении нового + пользователя программа автоматически обновляет + <filename>/etc/passwd</filename> и + <filename>/etc/group</filename>. Она также создает домашний + каталог для нового пользователя, копируя файлы настройки по + умолчанию из <filename>/usr/share/skel</filename>, и может + отправлять новому пользователю приветственное сообщение + электронной почтой. Эту утилиту необходимо запускать с + правами суперпользователя.</para> + + <para>Утилита &man.adduser.8; является интерактивной. Для + создания новой учетной записи потребуется ответить на + несколько вопросов. Как показано в <xref + linkend="users-modifying-adduser"/>, ответом считается либо + ввод необходимой информации, либо нажатие клавиши + <keycap>Return</keycap> для принятия значения по умолчанию, + которое показано в квадратных скобках. В этом примере + пользователь включен в группу <systemitem + class="groupname">wheel</systemitem>, что дает возможность + ему повышать привилегии до суперпользователя при помощи + &man.su.1;. На последнем шаге утилита предложит создать + еще одну учетную запись или завершить работу.</para> + + <example xml:id="users-modifying-adduser"> + <title>Добавление пользователя в &os;</title> + + <screen>&prompt.root; <userinput>adduser</userinput> +Username: <userinput>jru</userinput> +Full name: <userinput>J. Random User</userinput> +Uid (Leave empty for default): +Login group [jru]: +Login group is jru. Invite jru into other groups? []: <userinput>wheel</userinput> +Login class [default]: +Shell (sh csh tcsh zsh nologin) [sh]: <userinput>zsh</userinput> +Home directory [/home/jru]: +Home directory permissions (Leave empty for default): +Use password-based authentication? [yes]: +Use an empty password? (yes/no) [no]: +Use a random password? (yes/no) [no]: +Enter password: +Enter password again: +Lock out the account after creation? [no]: +Username : jru +Password : **** +Full Name : J. Random User +Uid : 1001 +Class : +Groups : jru wheel +Home : /home/jru +Shell : /usr/local/bin/zsh +Locked : no +OK? (yes/no): <userinput>yes</userinput> +adduser: INFO: Successfully added (jru) to the user database. +Add another user? (yes/no): <userinput>no</userinput> +Goodbye! +&prompt.root;</screen> + </example> + + <note> + <para>При наборе пароля текст не отображается, поэтому + постарайтесь не допускать опечаток в пароле при создании + учетной записи.</para> + </note> + </sect3> + + <sect3 xml:id="users-rmuser"> + <title><command>rmuser</command></title> + + <indexterm> + <primary><command>rmuser</command></primary> + </indexterm> + + <indexterm> + <primary>учетные записи</primary> + <secondary>удаление</secondary> + </indexterm> + + <para>Для полного удаления пользователя из системы запустите + &man.rmuser.8; с правами суперпользователя. Эта программа + выполняет следующие действия:</para> + + <procedure> + <step> + <para>Если в &man.crontab.1; существуют записи + пользователя, то они удаляются.</para> + </step> + + <step> + <para>Удаляются принадлежащие пользователю задачи + &man.at.1;.</para> + </step> + + <step> + <para>Уничтожаются все процессы, принадлежащие + пользователю.</para> + </step> + + <step> + <para>Удаляется запись пользователя из локального файла + паролей.</para> + </step> + + <step> + <para>Если домашний каталог принадлежит пользователю, то + каталог удаляется.</para> + </step> + + <step> + <para>Удаляется принадлежащая пользователю входящая почта + из <filename>/var/mail</filename>.</para> + </step> + + <step> + <para>Удаляются все файлы, принадлежащие пользователю, из + каталогов с временными файлами, например из + <filename>/tmp</filename>.</para> + </step> + + <step> + <para>Наконец, в <filename>/etc/group</filename> из всех + групп удаляется имя пользователя. Если после этого + удаления группа остается пустой и имя группы совпадает с + именем пользователя, она удаляется. Это необходимо для + удаления пользовательских уникальных групп, создаваемых + &man.adduser.8;.</para> + </step> + </procedure> + + <para>&man.rmuser.8; не может использоваться для удаления + учетной записи суперпользователя, поскольку это почти + всегда означает разрушение системы.</para> + + <para>По умолчанию используется интерактивный режим, это + показано в следующем примере.</para> + + <example> + <title>Интерактивное удаление учетной записи с помощью + <command>rmuser</command></title> + + <screen>&prompt.root; <userinput>rmuser jru</userinput> +Matching password entry: +jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh +Is this the entry you wish to remove? <userinput>y</userinput> +Remove user's home directory (/home/jru)? <userinput>y</userinput> +Removing user (jru): mailspool home passwd. +&prompt.root;</screen> + </example> + </sect3> + + <sect3 xml:id="users-chpass"> + <title><command>chpass</command></title> + + <indexterm> + <primary><command>chpass</command></primary> + </indexterm> + + <para>При помощи &man.chpass.1; любой пользователь может + изменять информацию, связанную с его учетной записью. И + только суперпользователю разрешено менять информацию других + пользователей.</para> + + <para>При запуске без параметров (кроме необязательного имени + пользователя), &man.chpass.1; вызывает редактор, содержащий + информацию о пользователе. Когда пользователь выходит из + редактора, база данных пользователей обновляется новой + информацией.</para> + + <note> + <para>Если утилита не была запущена с правами + суперпользователя, то после выхода из редактора будет + запрошен пароль пользователя.</para> + </note> + + <para>В <xref linkend="users-modifying-chpass-su"/> + суперпользователь, выполнив команду + <command>chpass jru</command>, просматривает доступные для + изменения поля. Если + <systemitem class="username">jru</systemitem> запустит эту + команду, то лишь последние шесть строк будут доступны ему + для редактирования. Это показано в + <xref linkend="users-modifying-chpass-ru"/>.</para> + + <example xml:id="users-modifying-chpass-su"> + <title>Работа с <command>chpass</command> с правами + суперпользователя</title> + + <screen>#Changing user database information for jru. +Login: jru +Password: * +Uid [#]: 1001 +Gid [# or name]: 1001 +Change [month day year]: +Expire [month day year]: +Class: +Home directory: /home/jru +Shell: /usr/local/bin/zsh +Full Name: J. Random User +Office Location: +Office Phone: +Home Phone: +Other information:</screen> + </example> + + <example xml:id="users-modifying-chpass-ru"> + <title>Работа с <command>chpass</command> с правами обычного + пользователя</title> + + <screen>#Changing user database information for jru. +Shell: /usr/local/bin/zsh +Full Name: J. Random User +Office Location: +Office Phone: +Home Phone: +Other information:</screen> + </example> + + <note> + <para>&man.chfn.1; и &man.chsh.1; это ссылки на + &man.chpass.1;, как и &man.ypchpass.1;, &man.ypchfn.1; и + &man.ypchsh.1;. Так как <acronym>NIS</acronym> + поддерживается автоматически, указание + <literal>yp</literal> перед командой не обязательно. + Настройка <acronym>NIS</acronym> будет рассмотрена в + <xref linkend="network-servers"/>.</para> + </note> + </sect3> + + <sect3 xml:id="users-passwd"> + <title><command>passwd</command></title> + + <indexterm> + <primary><command>passwd</command></primary> + </indexterm> + + <indexterm> + <primary>учетные записи</primary> + <secondary>изменение пароля</secondary> + </indexterm> + + <para>Любой пользователь может изменить собственный пароль при + помощи &man.passwd.1;. Для предотвращения случайного или + несанкционированного изменения, команда запрашивает текущий + пароль пользователя перед установкой нового:</para> + + <example> + <title>Изменение пароля</title> + + <screen>&prompt.user; <userinput>passwd</userinput> +Changing local password for jru. +Old password: +New password: +Retype new password: +passwd: updating the database... +passwd: done</screen> + </example> + + <para>Суперпользователь может изменить пароль любого + пользователя, указав его имя при запуске &man.passwd.1;. + Утилита, запущенная с правами суперпользователя, не + запрашивает текущий пароль пользователя. Благодаря этому + возможно устанавливать новые пароли забывчивым + пользователям.</para> + + <example> + <title>Изменение пароля другого пользователя + суперпользователем</title> + + <screen>&prompt.root; <userinput>passwd jru</userinput> +Changing local password for jru. +New password: +Retype new password: +passwd: updating the database... +passwd: done</screen> + </example> + + <note> + <para>Как и в случае с &man.chpass.1;, &man.yppasswd.1; это + всего лишь ссылка на &man.passwd.1;, так что + <acronym>NIS</acronym> работает с обеими командами.</para> + </note> + </sect3> + + <sect3 xml:id="users-pw"> + <title><command>pw</command></title> + + <indexterm> + <primary><command>pw</command></primary> + </indexterm> + + <para>&man.pw.8; это утилита командной строки для создания, + удаления, модифицирования и отображения пользователей и + групп. Она функционирует как внешний интерфейс к системным + файлам пользователей и групп. У &man.pw.8; очень мощный + набор параметров командной строки, что делает это программу + подходящей для использования в shell скриптах, но новым + пользователям она может показаться более сложной, чем другие + представленные здесь команды.</para> + </sect3> + </sect2> + + <sect2 xml:id="users-limiting"> + <title>Ограничение пользователей</title> + + <indexterm> + <primary>ограничение пользователей</primary> + </indexterm> + + <indexterm> + <primary>учетные записи</primary> + <secondary>ограничение</secondary> + </indexterm> + + <para>&os; предоставляет администратору несколько способов + ограничения количества занимаемых пользователями системных + ресурсов. Дисковые квоты, как один из видов ограничения + ресурсов, обсуждаются в отдельном разделе, остальные + ограничения перечислены далее в тексте.</para> + + <indexterm> + <primary>квоты</primary> + </indexterm> + + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>квоты</secondary> + </indexterm> + + <indexterm> + <primary>дисковые квоты</primary> + </indexterm> + + <para>Дисковые квоты ограничивают объем дискового пространства, + занимаемого пользователями, а также предоставляют способ + быстрой проверки занимаемого объема без пересчета его каждый + раз. Квоты обсуждаются в <xref linkend="quotas"/>.</para> + + <para>Другие ограничения ресурсов включают способы ограничения + использования CPU, памяти и других ресурсов, которые могут + потребляться пользователем. Ограничения накладываются с + помощью классов учетных записей и обсуждаются в этом + разделе.</para> + + <indexterm> + <primary><filename>/etc/login.conf</filename></primary> + </indexterm> + + <para>Классы учетных записей определяются в + <filename>/etc/login.conf</filename>, они детально описаны на + странице справочника &man.login.conf.5;. Каждой учетной + записи присвоен класс (<literal>default</literal> по + умолчанию), и каждому классу присвоен набор характеристик. + Характеристика определяется в виде пары + <literal>имя=значение</literal>, + где <replaceable>имя</replaceable> это определенный + идентификатор, а <replaceable>значение</replaceable> это + произвольная строка, обрабатываемая в зависимости от + <replaceable>имени</replaceable>. Настройка классов и + характеристик довольно проста, и также описана в + &man.login.conf.5;.</para> + + <note> + <para>&os;, как правило, не читает настройки в + <filename>/etc/login.conf</filename> непосредственно, + вместо этого она обращается к файлу базы данных + <filename>/etc/login.conf.db</filename> для ускорения + доступа к данным. Всякий раз после редактирования + <filename>/etc/login.conf</filename> необходимо обновить + <filename>/etc/login.conf.db</filename> при помощи следующей + команды:</para> + + <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen> + </note> + + <para>Ограничения на ресурсы отличаются от обычных + характеристик: во-первых, для каждого ограничения существует + <quote>мягкое</quote> (текущее) и <quote>жесткое</quote> + ограничение. Мягкое ограничение может настраиваться + пользователем или приложением, но не может превышать жесткое + ограничение. Последнее может быть уменьшено пользователем, а + увеличено — лишь суперпользователем. Во-вторых, + большинство ограничений ресурсов накладываются на каждый + процесс определенного пользователя, а не к пользователю + вообще. Эти различия диктуются особенностями обработки + ограничений, а не реализацией структуры характеристик учетных + записей.</para> + + <para>Ниже приведен список наиболее часто используемых + ограничений на ресурсы. Остальные, вместе с другими + характеристиками, можно найти в &man.login.conf.5;.</para> + + <variablelist> + <varlistentry> + <term><literal>coredumpsize</literal></term> + + <listitem> + <para>Ограничение на размер файла дампа памяти + <indexterm> + <primary>coredumpsize</primary> + </indexterm>, + генерируемого программой, подчиняющееся другим + ограничениям + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>coredumpsize</secondary> + </indexterm> + на используемое дисковое пространство, таким как + <literal>filesize</literal>, или дисковым квотам. Это + ограничение часто используется как менее строгий метод + контролирования потребления дискового пространства. + Поскольку пользователь не создает файлы дампов памяти + самостоятельно, и зачастую не удаляет их, установка этого + параметра может предохранить пользователя от выхода за + пределы ограничений на дисковое пространство, в случае + если большая программа создаст файл аварийного дампа + памяти.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>cputime</literal></term> + + <listitem> + <para>Это максимальное количество времени + <indexterm> + <primary>cputime</primary> + </indexterm> + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>cputime</secondary> + </indexterm> + ЦПУ, потребляемого пользователем. Превысившие это время + процессы будут уничтожены ядром.</para> + + <note> + <para>Это ограничение потребляемого + <emphasis>времени</emphasis> ЦПУ, а не процентов + использования ЦПУ, которые отображаются в некоторых + полях &man.top.1; и &man.ps.1;.</para> + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>filesize</literal></term> + + <listitem> + <para>Это максимальный размер файла + <indexterm> + <primary>filesize</primary> + </indexterm> + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>filesize</secondary> + </indexterm>, + которым может владеть пользователь. В отличие от + <link linkend="quotas">дисковых квот</link>, это + ограничение применяется к отдельным файлам, а не ко + всему набору принадлежащих пользователю файлов.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>maxproc</literal></term> + + <listitem> + <para>Это максимальное число процессов + <indexterm> + <primary>maxproc</primary> + </indexterm> + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>maxproc</secondary> + </indexterm>, + которые могут быть запущены пользователем. В это число + включаются и консольные, и фоновые процессы. Это + ограничение не может превышать системный лимит, + указываемый через переменную &man.sysctl.8; + <varname>kern.maxproc</varname>. Установка слишком + жестких ограничений может стать помехой работе + пользователя: зачастую ему удобно входить в систему с + нескольких консолей или использовать каналы. Некоторые + задачи, такие как компиляция большой программы, + порождают множество процессов.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>memorylocked</literal></term> + + <listitem> + <para>Это максимальный объем памяти + <indexterm> + <primary>memorylocked</primary> + </indexterm> + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>memorylocked</secondary> + </indexterm>, + блокировка которого может быть запрошена процессом при + помощи &man.mlock.2;. Некоторые критически важные для + системы программы, такие как &man.amd.8;, блокируют + отведенную процессу память так, что в случае + <quote>пробуксовывания</quote> системы (system + thrashing) они не усугубляют проблему.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>memoryuse</literal></term> + + <listitem> + <para>Это максимальный объем памяти + <indexterm> + <primary>memoryuse</primary> + </indexterm> + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>memoryuse</secondary> + </indexterm>, + которая может быть занята процессом в любой момент + времени. Сюда входит основная память и использование + подкачки. Это ограничение не снимает все вопросы, + связанные с использованием памяти, но для начала это + подходящее ограничение.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>openfiles</literal></term> + + <listitem> + <para>Это максимальное количество файлов, которые могут + быть открыты + <indexterm> + <primary>openfiles</primary> + </indexterm> + <indexterm> + <primary>ограничение пользователей</primary> + <secondary>openfiles</secondary> + </indexterm> + процессом. В &os; файлы также используются для + представления сокетов и каналов IPC, поэтому не *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312231102.rBNB2Scx026126>