271 lines
11 KiB
XML
271 lines
11 KiB
XML
<?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>
|