7.3.1. Учетные записи пользователей

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, а если мне нужно удалить группу, то удаляю соответствующую строку.

Данный текст является ознакомительным фрагментом.