docs-alt-virtualization-one/admin-basics/user-management--chapter.xml
2016-01-05 16:31:41 +02:00

271 lines
11 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<chapter id="admin-basics--user-management--chapter">
<title id="admin-basics--user-management--chapter.title">Управление пользователями</title>
<section>
<title>Общая информация</title>
<para>
Linux, как и любой <acronym>UNIX</acronym> — многопользовательская система.
Также имеются группы пользователей, основное предназначение которых — облегчить
управление большим количеством пользователей, а также более точно распределить
права доступа к различным объектам системы. Пользователи и группы внутри
системы обозначаются цифровыми идентификаторами — <acronym>UID</acronym> и
<acronym>GID</acronym>, соответственно.
</para>
<para>
Пользователь может входить в одну или несколько групп. По умолчанию он входит в
группу, совпадающую с его именем. Чтобы узнать, в какие еще группы входит
пользователь, введите команду <command>id</command>, вывод её может быть
примерно следующим:
<screen>
uid=500(test) gid=500(test) группы=500(test),16(rpm)
</screen>
</para>
<para>
Такая запись означает, что пользователь <emphasis>test</emphasis> (цифровой
идентификатор 500) входит в группы <emphasis>test</emphasis> и
<emphasis>rpm</emphasis>. Разные группы могут иметь разный уровень доступа к
тем или иным каталогам; чем в большее количество групп входит пользователь, тем
больше прав он имеет в системе.
</para>
<note>
<para>
В связи с тем, что большинство привилегированных системных утилит имеют не
SUID-, а SGID-бит, будьте предельно внимательны и осторожны в переназначении
групповых прав на системные каталоги.
</para>
</note>
</section>
<section>
<title>Обвязка passwd</title>
<para>
Обвязка passwd поддерживает традиционные опции <command>passwd</command> и
утилит <command>shadow</command>.
</para>
<para>
Синтаксис:
<command>passwd
<option>
<replaceable>[ОПЦИЯ...]</replaceable>
</option>
<parameter>
<replaceable>[ИМЯ ПОЛЬЗОВАТЕЛЯ]</replaceable>
</parameter>
</command>
</para>
<para>
Возможные опции:
<itemizedlist>
<listitem>
<para>
<option>-d</option> <option>--delete</option> — удалить пароль для указанной записи;
</para>
</listitem>
<listitem>
<para>
<option>-f</option>, <option>--force</option> — форсировать операцию;
</para>
</listitem>
<listitem>
<para>
<option>-k</option>, <option>--keep-tokens</option> — сохранить не устаревшие пароли;
</para>
</listitem>
<listitem>
<para>
<option>-l</option>, <option>--lock</option> — блокировать указанную запись;
</para>
</listitem>
<listitem>
<para>
<option>--stdin</option> — прочитать новые пароли из стандартного ввода;
</para>
</listitem>
<listitem>
<para>
<option>-S</option>, <option>--status</option> — дать отчет о статусе пароля в указанной записи;
</para>
</listitem>
<listitem>
<para>
<option>-u</option>, <option>--unlock</option> — разблокировать указанную запись;
</para>
</listitem>
<listitem>
<para>
<option>-?</option>, <option>--help</option> — показать справку и выйти;
</para>
</listitem>
<listitem>
<para>
<option>--usage</option> — дать короткую справку по использованию;
</para>
</listitem>
<listitem>
<para>
<option>-V</option>, <option>--version</option> — показать версию программы и выйти.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Код выхода: при успешном завершении <command>passwd</command> заканчивает
работу с кодом выхода <emphasis>0</emphasis>. Код выхода <emphasis>1</emphasis>
означает, что произошла ошибка. Текстовое описание ошибки выводится на
стандартный поток ошибок.
</para>
</section>
<section>
<title>Добавления нового пользователя</title>
<para>
Для добавления нового пользователя используйте команды
<command>useradd</command> и <command>passwd</command>:
<screen>
[root@localhost root]# useradd test1
[root@localhost root]# passwd test1
passwd: updating all authentication tokens for user test1.
You can now choose the new password or passphrase.
A valid password should be a mix of upper and lower case letters,
digits, and other characters. You can use an 8 character long
password with characters from at least 3 of these 4 classes, or
a 7 character long password containing characters from all the
classes. An upper case letter that begins the password and a
digit that ends it do not count towards the number of character
classes used.
A passphrase should be of at least 3 words, 11 to 40 characters
long, and contain enough different characters.
Alternatively, if no one else can see your terminal now, you can
pick this as your password: "holder5dinghy-Arm".
Enter new password:
</screen>
</para>
<para>
В результате описанных действий в системе появился пользователь
<emphasis>test1</emphasis> с некоторым паролем. Если пароль оказался слишком
слабым с точки зрения системы, она об этом предупредит (как в примере выше).
Пользователь в дальнейшем может поменять свой пароль при помощи команды
<command>passwd</command> — но если он попытается поставить слабый пароль,
система откажет ему (в отличие от <emphasis>root</emphasis>) в изменении.
</para>
<para>
В &DISTRO; для проверки паролей на слабость используется модуль
<acronym>PAM</acronym> <emphasis>passwdqc</emphasis>.
</para>
<para>
Программа <command>useradd</command> имеет множество параметров, которые
позволяют менять её поведение по умолчанию. Например, можно принудительно
указать, какой будет <acronym>UID</acronym> или какой группе будет принадлежать
пользователь.
</para>
</section>
<section>
<title>Модификация пользовательских записей</title>
<para>
Для модификации пользовательских записей применяется утилита <command>usermod</command>:
<screen>usermod -G audio,rpm,test1 test1</screen>
</para>
<para>
Такая команда изменит список групп, в которые входит пользователь
<emphasis>test1</emphasis> — теперь это <emphasis>audio</emphasis>,
<emphasis>rpm</emphasis>, <emphasis>test1</emphasis>.
</para>
<para>
<screen>usermod -l test2 test1</screen>
</para>
<para>
Будет произведена смена имени пользователя с <emphasis>test1</emphasis> на
<emphasis>test2</emphasis>.
</para>
<para>
Команды <command>usermod <option>-L</option>
<replaceable>test2</replaceable></command> и <command>usermod
<option>-U</option> <replaceable>test2</replaceable></command> соответственно
временно блокируют возможность входа в систему пользователю
<emphasis>test2</emphasis> и возвращают всё на свои места.
</para>
<para>
Изменения вступят в силу только при следующем входе пользователя в систему.
</para>
<para>
При неинтерактивной смене или задании паролей для целой группы пользователей
используйте утилиту <command>chpasswd</command>. На стандартный вход ей следует
подавать список, каждая строка которого будет выглядеть как
<parameter class='option'><replaceable>имя</replaceable>:<replaceable>пароль</replaceable></parameter>.
</para>
</section>
<section>
<title>Удаление пользователей</title>
<para>
Для удаления пользователей используйте <command>userdel</command>.
</para>
<para>
Команда
<command>userdel <parameter class='option'><replaceable>test2</replaceable></parameter></command>
удалит пользователя <emphasis>test2</emphasis> из системы. Если будет
дополнительно задан параметр <option>-d</option>, то будет уничтожен и домашний
каталог пользователя. Нельзя удалить пользователя, если в данный момент он еще
работает в системе.
</para>
<para>
Утилиты <command>vigr</command> и <command>vipw</command> используются для
ручного редактирования файлов <filename>/etc/passwd</filename> и
<filename>/etc/group</filename>, в которых хранятся основные записи о
пользователях и группах в системе.
</para>
<para>
Не рекомендуется создавать пользователей с правами сверх необходимых.
Предпочтительнее создать серию новых групп и включить в них требуемого
пользователя. А для данных групп установить соответствующие права на объектах
файловой системы (утилиты <command>chmod</command> и <command>chown</command>).
</para>
</section>
</chapter>