7.3. Пользователи и квоты
7.3. Пользователи и квоты
7.3.1. Учетные записи пользователей
Система учета пользователей опирается на следующие конфигурационные файлы:
? /etc/passwd — учетная информация о пользователе;
? /etc/shadow — скрытая информация о пользователях: пароли в зашифрованном виде;
? /etc/group — информация о группах;
? /etc/gshadow — скрытая информация о группах;
? /etc/default/useradd — свойства, назначаемые по умолчанию новым учетным записям;
? /etc/login.defs — настройки безопасности пароля (время истечения, минимальная длина);
? /etc/skel — каталог, содержащий личные файлы настроек по умолчанию (когда для нового пользователя создается домашний каталог, в него помещаются эти файлы).
Файл /etc/passwd — информация о пользователях
Учетная информация о пользователях системы хранится в файле /etc/passwd в следующем виде:
username:password:UID:GID:full_name:home_dir:login_shell
Где:
? Username — это регистрационное имя пользователя, часто называемое логином. Обычно администраторы присваивают пользователям логины, образованные от их реальных имен. Имя root закреплено за суперпользователем. Кроме реальных пользователей, в системе существуют еще фиктивные (bin, daemon и т.п.), от имени которых запускаются общесистемные службы.
? Password — пароль. Обычно используются теневые пароли, и вместо пароля в файле /etc/passwd стоит знак *, а сам пароль в зашифрованном виде хранится в файле /etc/shadow.
? UID — уникальный числовой идентификатор пользователя из диапазона от 0 до 65534. Суперпользователю присвоен UID, равный 0.
? GID — числовой идентификатор первичной группы пользователя. Помимо первичной группы, пользователь может входить или не входить в состав разных групп, но в первичную группу (native group) он входит всегда. Пользователи, входящие в одну группу, могут работать с общими файлами. Первичная группа суперпользователя называется root. Ей присвоен GID, равный 0.
? Full_name — обычно представляет собой реальное имя пользователя, например Ivan Ivanov. Может содержать и другие данные: номер телефона и т.п. Эти сведения системой не используются, но доступны по команде finger <username>.
? Home_dir — домашний каталог пользователя. Стандартное место для него — это каталог /home/<username> (например, /home/den), и без особых причин изменять такую организацию домашних каталогов не рекомендуется.
? Login_shell — командный интерпретатор, запускаемый по умолчанию при входе пользователя в систему.
Пример фрагмента файла /etc/passwd:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
den:x:500:500:den:/home/den:/bin/bash
evg:x:501:501::/home/evg:/bin/bash
Применение теневых паролей оправдывает себя с точки зрения безопасности. Обычно к файлу /etc/passwd разрешен доступ в режиме «только чтение» всем пользователям. К файлу /etc/shadow обычный пользователь не имеет даже такого доступа.
Системы, использующие TCB (Trusted Computing Base), хранят пароли не в файле /etc/shadow, а в файлах /etс/tcb/<имя_пользователя>/shadow. Считается, что технология TCB более практична с точки зрения безопасности, поскольку доступ к паролям отдельного пользователя не позволит злоумышленнику скомпрометировать сразу всю систему. Для включения поддержки TCB нужно установить пакет tcb. Многие современные дистрибутивы (например, дистрибутивы ALT Linux) поддерживают TCB по умолчанию.
В качестве основного алгоритма шифрования используется MD5, превращающий пароль в 32-значное шестнадцатеричное число. Этот алгоритм является самым надежным. Раньше использовались алгоритмы DES и 3DES, но здесь я не буду подробно останавливаться ни на одном из них. При установке системы обычно спрашивается, хотите ли вы использовать теневые пароли (Shadow Passwords) и MD5. Я очень рекомендую вам использовать обе эти возможности.
Информация о группах пользователей. Файл /etc/group
Информация о группах пользователей хранится в файле /etc/group в следующем формате:
имя_группы:пароль:GID:члены_группы
Пароль используется крайне редко. Пример фрагмента файла /etc/group:
root:*:0:root
bin:*:1:root,bin,daemon
local:*:100:den,operator,ivan
guest:*:200:
dialup:*:250:victor,evg
В этом примере группа root зарезервирована для пользователя root. Группа с идентификатором 100 используется для локальных пользователей. В ее состав входят пользователи den, operator, ivan. Группа guest предназначена для гостевого входа и пользователя guest. В состав группы dialup входят пользователи victor и evg.
Системой определяются группы для фиктивных пользователей: bin, sys, adm и т.п. Реальные пользователи входить в них не могут. Эти группы используются для системных файлов.
Добавить группу вы можете с помощью команды groupadd. Я. как правило, просто добавляю запись в файл /etc/group, а если мне нужно удалить группу, то удаляю соответствующую строку.
Данный текст является ознакомительным фрагментом.