Linux-сервер своими руками
Шрифт:
Примечание. Обычно пользователи объединяются в группы для решения какой-нибудь задачи, например, для работы над одним проектом или же вы просто хотите создать различные группы пользователей для разных отделов предприятия, чтобы потом определенным образом установить права доступа к какому-нибудь объекту. Если каждый пользователь будет находиться в своей группе, то такое управление доступом будет невозможным.
В общем случае система хранит следующую информацию о пользователе: Имя пользователя (username)— регистрационное имя пользователя, то есть логин. Желательно, хотя и не обязательно, создавать пароли, каким-то образом
Идентификатор пользователя (User ID) — индивидуальный числовой идентификатор пользователя (UID). Система обычно работает с UID, а не с именами пользователей. Идентификатор задается из диапазона 0…65534 и должен быть уникальным. Число 0 соответствует пользователю root. Желательно идентификаторы назначать не произвольным образом, а системно. Например, выделить определенный интервал (1000…1100) под одну группу пользователей, а еще один (2000…2100) — под другую группу. В каждом диапазоне назначать идентификаторы последовательно. Это опять же упростит администрирование и позволит, бегло взглянув на список процессов, сразу же определить кто чем занимается.
Идентификатор группы (Group ID) — числовой идентификатор первичной группы пользователя (GID). Помимо первичной группы пользователь может входить или не входить в состав разных групп, но в первичную группу (native group) он входит всегда. В различных дистрибутивах это выглядит по-разному. Идентификатор группы 0 соответствует группе root.
Пароль (password) — пароль.
Реальное имя пользователя (full name) — обычно представляет собой реальное (фактическое) имя пользователя, например, ivan ivanov. Может содержать и другие данные: номер телефона и т.п. Эти сведения используются в информационных целях.
Домашний каталог пользователя (home dir) — вкачестве домашнего каталога обычно используется каталог /home/<имя_пользователя> (например, /home/den). Без особых причин не рекомендуется изменять такую организацию домашних каталогов.
Оболочка пользователя (login shell) — командный интерпретатор пользователя, который используется им по умолчанию. Программа-оболочка (командный интерпретатор) запускается при входе пользователя в систему. Примеры командных интерпретаторов: ash, bash, csh, fcsh, ksh.
Вся эта информация хранится в файле /etc/passwd в следующем виде:
На практике обычно используются теневые пароли, и вместо пароля в файле /etc/passwd стоит *, а сам пароль хранится в файле /etc/shadow, естественно в зашифрованном виде. Применение теневых паролей оправдывает себя с точки зрения безопасности. Обычно к файлу /etc/passwd разрешен доступ в режиме «только чтение» всем пользователям. К файлу /etc/shadow обычный пользователь не имеет даже такого доступа.
В качестве основного алгоритма шифрования используется MD5. Этот алгоритм является самым надежным. Раньше использовались алгоритмы DES и 3DES, но здесь я не буду подробно останавливаться ни на одном
из них. При установке системы обычно спрашивается, хотите ли вы использовать теневые пароли (Shadow Passwords) и MD5. Я очень рекомендую вам использовать обе эти возможности.Домашние каталоги пользователей обычно располагаются в каталоге /home основной файловой системы, но вы можете назначить и любой каталог в качестве домашнего. Суперпользователь использует домашний каталог /root. Для перехода в домашний каталог используется команда cd ~.
Примечание. В Linux текущий каталог обозначается точкой, родительский каталог — двумя точками, а домашний каталог пользователя — символом ~ (тильда).
3.4. Создание группы
Каждый пользователь принадлежит к одной или более группам. Группы используются для того, чтобы пользователи, принадлежащие одной группе, могли работать с общими файлами. Например, в группу user входят пользователи ivanov и petrov, а пользователь sidorov входит в группу sgroup. Пользователь ivanov создает файл report и разрешает всем членам группы users работать с этим файлом. При попытке обратиться к файлу report пользователь sidorov получит сообщение Permission denied.
Как правило, все члены группы имеют доступ к домашним каталогам друг друга. По умолчанию разрешается только чтение для членов группы. Более подробно о правах доступа к файлам мы поговорим в гл. 4. Информация о группах пользователей хранится в файле /etc/group. Формат этого файла следующий:
Пароль используется крайне редко. Пример файла /etc/group представлен в листинге 3.1.
В этом примере группа root зарезервирована для пользователя root. Группа с идентификатором 100 используется для локальных пользователей. В ее состав входят пользователи den, operator, ivan. Группа quest предназначена для гостевого входа и пользователя guest. В состав группы dialup входят пользователи victor и evg.
Существует несколько групп, определяемых самой системой, вроде bin, mail и sys. Пользователи не могут принадлежать к какой-либо из этих групп. Эти группы используются для системных файлов. Добавить группу вы можете с помощью команд groupadd. Я, как правило, просто добавляю запись в файл /etc/group, а если мне нужно удалить группу, то удаляю соответствующую строку.
3.5. Удаление и модификация учетных записей
Для удаления пользователя можно воспользоваться командой userdel. Удалять учетные записи умеет и linuxconf. При удалении пользователя программа linuxconf спросит у вас, что делать с домашним каталогом удаляемого пользователя: удалить, архивировать или оставить без изменения. Что делать с ним — это уже вам решать.
Модифицирование учетной записи реализуется программой usermod. Здесь хочу дать один совет: для модифицирования (да и создания) учетных записей гораздо удобнее пользоваться программой linuxconf. Например, для создания учетной записи, введите команду linuxconf (или userconf — для Linux Mandrake). Затем запустите конфигуратор учетных записей, нажав на кнопку «User Accounts» (если вы запустили userconf, этого делать не нужно). В окне UserAccount Configurator перейдите на вкладку Normal (см. рис. 3.1) и нажмите на кнопку «User Accounts» (см. рис. 3.2), а затем на кнопку «Add».